Ispell est un correcteur orthographique pour Unix supportant la plupart des langues occidentales. Il propose plusieurs interfaces, y compris une API pour des programmes comme l'éditeur emacs. À l'inverse de GNU Aspell, Ispell ne propose que des corrections ayant une distance de Damerau-Levenshtein de 1. Il n'essaie pas de proposer des corrections basées sur la prononciation.
Ispell a une longue histoire qui remonte au langage assembleur PDP-10 (1971). Il a ensuite été porté en langage C et amélioré par de nombreux programmeurs. Sa description des mots a été imitée par d'autres systèmes tel MySpell.
Comme la plupart des correcteurs orthographiques, Ispell lit un fichier entrant mot par mot et s'arrête lorsqu'un mot n'est pas trouvé dans le dictionnaire. Ispell tente alors de générer une liste de corrections possibles et indique le mot incorrect ainsi que les suggestions. L'utilisateur peut alors faire un choix de correction, remplacer le mot par un nouveau, le laisser tel quel, ou l'ajouter au dictionnaire.
Ispell « inventa » l'idée d'une interface programmable pour un correcteur orthographique, au départ prévue pour être utilisée avec l'éditeur emacs. D'autres applications ont depuis utilisé cette fonctionnalité pour implémenter la correction dans leur interface. GNU Aspell a adopté la même API pour pouvoir être utilisée avec les mêmes applications.