This article surveys research on spelling error patterns, describes techniques for nonword error detection and isolated-word error correction, reviews state-of-the-art context-dependent word correction techniques, and discusses research issues in automatic error correction. It is divided into three sections corresponding to the three problems: (1) nonword error detection; (2) isolated-word error correction; and (3) context-dependent word correction. The first problem involves detecting strings not in a given word list, using techniques like n-gram analysis and dictionary lookup. The second problem focuses on correcting isolated words, with techniques based on spelling error patterns. The third problem involves context-dependent correction, using natural language processing and statistical language models. The article discusses the challenges of each problem, including the need for accurate dictionaries, handling word boundaries, and the impact of error types like typographic, cognitive, and phonetic errors. It also highlights the importance of considering application-specific constraints and the need for efficient algorithms for dictionary lookup and error correction. The article concludes with future directions for research in automatic error correction.This article surveys research on spelling error patterns, describes techniques for nonword error detection and isolated-word error correction, reviews state-of-the-art context-dependent word correction techniques, and discusses research issues in automatic error correction. It is divided into three sections corresponding to the three problems: (1) nonword error detection; (2) isolated-word error correction; and (3) context-dependent word correction. The first problem involves detecting strings not in a given word list, using techniques like n-gram analysis and dictionary lookup. The second problem focuses on correcting isolated words, with techniques based on spelling error patterns. The third problem involves context-dependent correction, using natural language processing and statistical language models. The article discusses the challenges of each problem, including the need for accurate dictionaries, handling word boundaries, and the impact of error types like typographic, cognitive, and phonetic errors. It also highlights the importance of considering application-specific constraints and the need for efficient algorithms for dictionary lookup and error correction. The article concludes with future directions for research in automatic error correction.