Optical Mark Recognition (OMR) Support
IronOCR reads printed and handwritten text from PDFs, images, and scanned documents. It does not yet detect marks such as ticked checkboxes, filled bubbles, or selected radio buttons. That capability is Optical Mark Recognition (OMR), a separate technology from the character recognition IronOCR provides.
What OMR Does
OMR detects the presence or absence of a mark in a predefined area of a form, without reading any letters or numbers. It is the standard approach for layouts like:
- Multiple-choice exams
- Survey checkboxes
- Ballot papers
- Feedback forms
Where OCR returns characters (A-Z, 0-9), OMR returns a boolean: a zone is either filled or it is not. Typical decisions it makes:
- Whether a checkbox is ticked.
- Which bubble (
A/B/C/D) is filled. - Whether a radio button is selected.
- How a user marked the form using pen, pencil, or other non-digital input.
OMR works best when the form design is known and consistent, with clearly defined zones for each mark.
OMR vs OCR
The two technologies solve different problems and are often needed together in form processing.
- Purpose: OCR reads and converts text; OMR detects the presence of a mark.
- Output: OCR produces characters; OMR produces a selected/unselected boolean.
- Typical use: OCR handles invoices, documents, and books; OMR handles surveys, exams, and checklists.
- Input requirements: OCR copes with text fonts and handwriting; OMR needs clean layouts with defined checkboxes.
- Underlying technique: OCR relies on character segmentation and language processing; OMR relies on geometric area scanning and thresholding.
Current Status in IronOCR
IronOCR does not officially support OMR. The library specializes in textual recognition and layout reading, and mark detection is a different paradigm that is not directly available today.
Demand for the feature has been rising steadily across customer tickets and feature requests.
Roadmap
The IronOCR team has logged multiple feature requests for OMR and is evaluating the best way to bring checkbox and radio button detection to the library. Development of OMR support is on the roadmap, but it is not shipping yet.

