Основой для построения алгоритмов оптического распознавания служат методы напрямую пришедшие из таких областей как Компьютерное зрение и Распознавание шаблонов. Однако большинство современных OCR-программ для повышения качества распознавания используют встроенные лингвистические модули, которые могут включать в себя словари общей лексики или специализированные предметные словари (например, словари имен и фамилий, или названий городов), а также морфологические правила для построения форм слов, или, если слово совсем отсутствует в словаре, для проверки допустимых правил словообразования. Языки, для которых реализованы подобные модули носят названия языков со словарной поддержкой.
Помимо распознавания собственно символов, большинство промышленных OCR-систем позволяют воспроизводить элементы форматирования исходного текста, такие как картинки, колонки, начертание шрифта и другие не текстовые компоненты максимально близко к оригиналу.