GNU Ocrad vs Surya
GNU Ocrad
gnu.orgSurya
github.comSide by side
| Figure | GNU Ocrad | Surya |
|---|---|---|
| Price from | Free | $400/mo |
| Free plan | Yes | Yes |
| Free trial | — | — |
| Open source | — | — |
| macOS | — | Yes |
| Linux | Yes | Yes |
| API | — | Yes |
| Self-hosted | Yes | Yes |
| Plans published | 1 | 3 |
| Spec score · OCR software | 7.9 (#25) | 8.7 (#6) |
| Supported inputs | image | both |
| Purpose | GNU Ocrad is an OCR program and library based on feature extraction. | Surya is a 650M-parameter OCR model for text recognition, layout analysis, reading order, and table recognition. |
| Support | The project page identifies the bug-ocrad mailing list as the appropriate forum for discussing errors. | Datalab lists community support on Free, email and Slack support on Team, and dedicated support on Enterprise. |
Plans
In their own words
GNU Ocrad
GNU Ocrad is a free OCR program and library for Linux and self-hosted use. It reads PNG and PNM images and produces recognized text as 8-bit bytes or UTF-8. Its layout analyzer can separate columns and text blocks on printed pages. Ocrad runs as a standalone console application or as a backend for other programs. Documented options cover image transformations, layout detection, character recognition, text filters, and an OCR results file containing structured recognition details. The software uses ISO 10646 internally, with character-set selection through the --charset option. The manual recommends characters at least 20 pixels high and says 300 dpi scanning usually reaches a suitable size. It also notes sensitivity to character defects and difficulty adding recognition for new characters. The project describes Ocrad mainly as a research project, with algorithms that may change in later releases. Latest releases are available through GNU mirrors, while older and testing versions are hosted on Savannah.
Surya
Surya is a 650M-parameter OCR model for extracting text and analyzing document structure. It handles layout, reading order and tables, and supports OCR in 91 languages. Surya 2 returns page content as structured blocks that can include HTML, polygons, bounding boxes, confidence values and reading order. Table recognition can provide row and column geometry; full mode can also return HTML with spanning cells and header rows. Equations found in page OCR are represented as KaTeX-compatible LaTeX within math tags. Users can work with a Python package, command-line tools or an interactive Streamlit app for images and PDFs. Layout, OCR and table recognition require an inference backend: vLLM on NVIDIA GPUs or llama.cpp on CPU and Apple Silicon, or a connection to an existing server. Surya is free and open source. The code uses Apache 2.0, while the model weights have a separate modified AI Pubs Open Rail-M license with commercial-use conditions. It is specialized for documents, not photos or natural scenes.