A program, often a component of a word processing system, that will check any or all of the words in a document against a set of dictionaries; this set consists of a base dictionary and optional extra dictionaries specific to the subject of the document or created by the user. On finding a word not known to it the spelling checker may suggest alternative spellings and ask if the word is to be added to the dictionary. Spelling checkers cannot of course detect errors that are themselves valid words, while their attempts to find alternatives to proper names can be distinctly amusing.