awesome-ocr
by kba
Links to awesome OCR projects
AI summary
OCR toolkit
A curated list of OCR engines, tools, and formats for extracting text from images and documents.
- stars
- 2.8K
- forks
- 352
- watching
- 128
- awesome lists
- 4
- entries
- 202
What's in the list
202 links in 25 sections, with live GitHub stats.activeno commit in 2y
Software / OCR engines
tesseract
The definitive Open Source OCR engine
EasyOCR
OCR engine built on PyTorch by JaidedAI,
ocropus
OCR engine based on LSTM,
ocropus 0.4
Older v0.4 state of Ocropus, with tesseract 2.04 and iulib, C++
kraken
Ocropus fork with sane defaults
- gocr
OCR engine under the GNU Public License led by Joerg Schulenburg
- Ocrad
The GNU OCR
ocular
Machine-learning OCR for historic documents
SwiftOCR
fast and simple OCR library written in Swift
attention-ocr
OCR engine using visual attention mechanisms
- RWTH-OCR
The RWTH Aachen University Optical Character Recognition System
simple-ocr-opencv
and its - A simple pythonic OCR engine using opencv and numpy
Calamari
OCR Engine based on OCRopy and Kraken
doctr
A seamless & high-performing OCR library powered by Deep Learning
Software / Older and possibly abandoned OCR engines
- Clara OCR
Open source OCR in C
- Cuneiform
CuneiForm OCR was developed by Cognitive Technologies
- Eye
an experimental Java OCR (image-to-text) application
- kognition
An omnifont OCR software for KDE
- OCRchie
Modular Optical Character Recognition Software
- ocre
o.c.r. easy
- xplab
A GTK 2 tool for pattern matching
hebOCR
Hebrew character recognition library (previously named hocr, see )
Software / OCR file formats
hocr-tools
Tools for doing various useful things with hOCR files,
hocr-spec
hOCR 1.2 specification
ocr-transform
CLI tool to convert between hOCR and ALTO,
hocr-parser
hOCR Specification Python Parser
hOCRTools
hOCR to ALTO conversion XSLT
ALTO XML Schema
XML Schema and development of the ALTO XML format
ALTO XML Documentation
Documentation and use cases for ALTO
alto-tools
Various tools to work with ALTO files, Python
AbbyyToAlto
PHP script converting from Abbyy 6 to ALTO XML
TEI-OCR
TEI customization for OCR generated layout and content information
- TEI SIG on Libraries
Best Practices for TEI in Libraries
- GDZ
METS/TEI-based GDZ document format
PAGE-XML Schema
XML schema of the PAGE XML format along with documentation and examples
- omni:us Pages Format (OPF)
XML schema very similar to PAGE XML that has some additional features
py-pagexml
Python library for handling PAGE XML and OPF files
Software / OCR CLI
OCRmyPDF
OCRmyPDF adds an OCR text layer to scanned PDF files, allowing them to be searched
Pdf2PdfOCR
A tool to OCR a PDF (or supported images) and add a text "layer" (a "pdf sandwich") in the original file making it a searchable PDF. GUI included. Tesseract and cuneiform supported
- Ocrocis
Project manager interface for Ocropy, see also
tesseract-recognize
Tesseract-based tool that outputs result in Page XML format ( )
Software / OCR GUI
moz-hocr-editor
Firefox Addon for editing hOCR files
qt-box-editor
QT4 editor of tesseract-ocr box files
ocr-gt-tools
Client-Server application for editing OCR ground truth
Paperwork
Using scanners and OCR to grep paper documents the easy way
Paperless
Scan, index, and archive all of your paper documents
gImageReader
gImageReader is a simple Gtk/Qt front-end to tesseract-ocr
- VietOCR
A Java/.NET GUI frontend for Tesseract OCR engine, including a graphical Tesseract editor
PoCoTo
Fast interactive batch corrections of complete OCR error series in OCR'ed historical documents
- OCRFeeder
GTK graphical user interface that allows the users to correct characters or bounding boxes, ODT export and more
PRImA PAGE Viewer
Java based viewer for PAGE XML files (layout + text content). Also supports ALTO XML, FineReader XML, and HOCR
LAREX
A semi-automatic open-source tool for Layout Analysis and Region EXtraction on early printed books
archiscribe
Web application for transcribing OCR ground truth from Archive.org. Deployed instance available at , results are available in
nw-page-editor
Simple app for visual editing of Page XML files. Provides desktop and versions
Software / OCR Preprocessing
NoiseRemove.java in MathOCR
Java implementation of Adaptive degraded document image binarization by B. Gatos , I. Pratikakis, S.J. Perantonis
binarize.c in ZBar
C implementations of two binarization algorithms, based on Sauvola
typeface-corpus
A repository for typefaces to train Tesseract and OCRopus for natural history collections and digital humanities
binarizewolfjolion
Comparison of binarization algorithms
crop_morphology.py in oldnyc
Cropping a page to just the text block
- Whiteboard Picture Cleaner
Shell one-liner/script to clean up and beautify photos of whiteboards
- textcleaner
Fred's ImageMagick script - Processes a scanned document of text to clean the text background
- localcontrast
Fast O(1) local contrast optimization
Software / OCR as a Service
Open OCR
Run Tesseract in Docker containers
tesseract-web-service
An implementation of RESTful web service for tesseract-OCR using tornado
docker-ocropy
A Docker container for running the
ABBYY Cloud OCR SDK Code samples
Code samples for using the proprietary commercial ABBYY OCR API
nidaba
An expandable and scalable OCR pipeline
gamera
A meta-framework for building document processing applications, e.g. OCR
ocr-tools
Project to provide CLI and web service interfaces to common OCR engines
ocrad-docker
Run the OCR engine in a docker container
kraken-docker
Run the OCR engine in a docker container
- Konfuzio
Free Online OCR up to 2.000 pages per month and OCR API by [@atraining], see (code is not open)
- ocr.space
Free Online OCR and OCR API by based on Tesseract (code is not open)
OCR4all
Provides OCR services through web applications. Included Projects: , , and
Software / OCR evaluation
Software / OCR evaluation / ISRI OCR Evaluation Tools
isri-ocr-evaluation-tools
further development by (2015, 2016)
ancientgreekocr-evaluation-tools
further development by (2013, 2014)
Software / OCR evaluation
ocrevalUAtion
Cross-format evaluation, CLI and GUI
ngram-ocr-eval
Brute and simple OCR evaluation using ngrams
quack
Quality-Assurance-tool for scans with corresponding ALTO-files
Software / OCR libraries by programming language
tesseract-ocr
A Crystal wrapper for tesseract-ocr
tesseract_ocr
Elixir library wrapping the tesseract executable
gosseract
Golang OCR library, wrapping Tesseract-ocr
Tess4J
Java Native Access bindings to Tesseract
tess-two
Tools for compiling Tesseract on Android and Java API
tesseract for .net
A .Net wrapper for tesseract-ocr
TTesseractOCR4
Object Pascal binding for tesseract-ocr 4.x
Tesseract OCR for PHP
Tesseract PHP bindings
pytesseract
A Python wrapper for Google Tesseract
pyocr
A Python wrapper for Tesseract and Cuneiform
ocrodjvu
A library and standalone tool for doing OCR on DjVu documents, wrapping Cuneiform, gocr, ocrad, ocropus and tesseract
tesserocr
A Python wrapper for the tesseract-ocr API
ocracy
pure javascript lstm rnn implementation based on ocropus
gocr.js
Javascript port (emscripten) of gocr
ocrad.js
Javascript port (emscripten) of ocrad
tesseract.js
Javascript port (emscripten) of Tesseract
node-tesseract-ocr
A simple wrapper for the Tesseract OCR package
node-tesseract-native
C++ module for node providing OCR with tesseract and leptonica
rtesseract
Ruby library wrapping the tesseract and imagemagick executables
ruby-tesseract
Native Tesseract bindings for Ruby MRI and JRuby
ocr_space
API wrapper for free ocr service ocr.space. Includes CLI
tesseract.rs
Rust bindings for tesseract OCR
- leptess
Productive and safe Rust bindings/wrappers for tesseract and leptonica
tesseract
R bindings for tesseract OCR
Tesseract OCR iOS
Swift and Objective-C wrapper for Tesseract OCR
SwiftOCR
Fast and simple OCR library written in Swift. Optimized for recognizing short, one line long alphanumeric codes
Software / OCR training tools
glyph-miner
A system for extracting glyphs from early typeset prints
ocrodeg
Document image degradation for OCR data augmentation
Datasets / Ground Truth
archiscribe-corpus
>4,200 lines transcribed from 19th Century German prints via
CIS OCR Test Set
2 example documents each in German/Latin/Greek with ground truth for
Rescribe
Transcriptions of Caroline Minuscule Manuscripts
- CLTK
Corpora from
- DIVA-HisDB
150 pages of three medieval manuscripts
EarlyPrintedBooks
~8,800 lines from several early printed books
EEBO-TCP
25,363 EEBO documents transcribed by
ECCO-TCP
2,188 ECCO documents transcribed by
eMOP-TCP
2,188 ECCO-TCP documents, cleaned up by
Evans-TCP
4,977 Evans documents transcribed by
- FDHN
Finnish Digitised Historical Newspapers, , (free) required,
FROC-MSS
4 Old French Medieval Manuscripts
- GERMANA
764 Spanish manuscript pages, (free) required
- GT4HistOCR
Ground Truth for German Fraktur and Early Modern Latin
imagessan
Sanskrit images & ground truth (Devanagari script)
- IMPACT-BHL
2,418 pages from the Biodiversity Heritage Library,
- IMPACT-BL
294 pages from the British Library, (free) required
- IMPACT-BNE
215 pages from the National Library of Spain, (free) required,
- IMPACT-BNF
151 pages from the National Library of France, (free) required
- IMPACT-KB
142 pages from the National Library of the Netherlands
- IMPACT-NKC
187 pages from the Czech National Library, (free) required
- IMPACT-NLB
19 pages from the National Library of Bulgaria, (free) required
- IMPACT-NUK
209 pages from the National Library of Slovenia, (free) required
- IMPACT-PSNC
478 pages from four Polish digital libraries,
LascivaRoma/lexical
Transcription of 19th century lexical resources for Latin learning
- MJSynth
9m synthetic images covering 90k English words
- OCR19thSAC
19,000 pages Swiss Alpine Club yearbooks transcribed via
- OCR-D
180 pages of German historical prints from
OCR_GS_Data
Double-checked Arabic Gold Standard from
old-books
322 old books from
- PRImA-ENP
528 pages historic newspapers from , (free) required
- RODRIGO
853 Spanish manuscript pages, (free) required
Toebler-OCR
(Kraken) Ground Truth transcription of few pages of the Tobler-Lommatzsch: Altfranzösisches Wörterbuch
Literature / OCR-related publication and link lists
- IMPACT: Tools for text digitisation
List of tools software projects related, some related to OCR
- OCR-D
List of OCR-related academic articles in the context of the project
- Mendeley Group "OCR - Optical Character Recognition"
Collection of 34 papers on OCR
- eadh.org projects
List of Digital Humanities-related projects in Europe, some related to OCR
Literature / Blog Posts and Tutorials
- OCRopus
(2016)
Literature / Blog Posts and Tutorials / Extracting Text from PDFs; Doing OCR; all within R
- R programming environment
How to work with OCR from PDFs in the
Literature / Blog Posts and Tutorials
- "Needlessly complex" blog
(2016) . Several image processing how-tos (Python based), particularly:
Literature / Blog Posts and Tutorials / "Needlessly complex" blog
Literature / Blog Posts and Tutorials
- (Open-Source-)OCR-Workflows
(2017) overview of the state of the art in open source OCR and related technologies (binarisation, deskewing, layout recognition, etc.), lots of example images and information on the project
- Worauf kann ich mich verlassen? Arbeiten mit digitalisierten Quellen, Teil 1: OCR
(2019) A reflection/criticism on OCR quality, OCR pitfalls in Fraktur fonts
Literature / OCR Showcases
abbyy-finereader-ocr-senate
Using OCR to parse scanned Senate Financial Disclosure forms
cvOCR
An OCR system for recognizing resume or cv text, implemented in Python and C and based on tesseract
MathOCR
A printed scientific document recognition system,
Literature / Academic articles
- High performance document layout analysis
(2003) Breuel
- Adaptive degraded document image binarization
(2006) Gatos, Pratikakis, Perantonis
- [Internship Report]
(2007) Gupta
- OCRopus Addons (Internship Report)
(2007) Dantrey
- Local Logistic Classifiers for Large Scale Learning
(2012) Yousefi, Breuel
- High Performance OCR for Printed English and Fraktur using LSTM Networks
(2013) Breuel, Ul-Hasan, Mayce Al Azawi. Shafait
- Can we build language-independent OCR using LSTM networks?
(2013) Ul-Hasan, Breuel
- Offline Printed Urdu Nastaleeq Script Recognition with Bidirectional LSTM Networks
(2013) Ul-Hasan, Ahmed, Rashid, Shafait, Breuel
- OCR of historical printings of Latin texts: Problems, Prospects, Progress.
(2014) Springmann, Najock, Morgenroth, Schmid, Gotscharek, Fink
- Correcting Noisy OCR: Context beats Confusion
(2014) Evershed, Fitch
- TypeWright: An Experiment in Participatory Curation
(2015) Bilansky
- Benchmarking of LSTM Networks
(2015) Breuel
- Recognition of Historical Greek Polytonic Scripts Using LSTM
(2015) Simistira, Ul-Hassan, Papavassiliou, Basilis Gatos, Katsouros, Liwicki
- A Segmentation-Free Approach for Printed Devanagari Script Recognition
(2015) Karayil, Ul-Hasan, Breuel
- A Sequence Learning Approach for Multiple Script Identification
(2015) Ul-Hasan, Afzal, Shfait, Liwicki, Breuel
- Important New Developments in Arabographic Optical Character Recognition (OCR)
(2016) Romanov, Miller, Savant, Kiessling
Literature / Academic articles / Important New Developments in Arabographic Optical Character Recognition (OCR)
OpenArabic/OCR_GS_Data
using for ground truth data
Literature / Academic articles
- Automatic quality evaluation and (semi-) automatic improvement of mixed models for OCR on historical documents
(2016) Springmann, Fink, Schulz
- Generic Text Recognition using Long Short-Term Memory Networks
(2016) Ul-Hasan -- Ph.D Thesis
- OCRoRACT: A Sequence Learning OCR System Trained on Isolated Characters
(2016) Dengel, Ul-Hasan, Bukhari
- Recursive Recurrent Nets with Attention Modeling for OCR in the Wild
(2016) Lee, Osindero
- Telugu OCR Framework using Deep Learning
(2015/2017) , Hastie
Literature / Academic articles / Telugu OCR Framework using Deep Learning
- TeluguOCR
see also , , ,
Literature / Academic articles
- A Two-Stage Method for Text Line Detection in Historical Documents
(2018) , Leifert, Strauß, Labahn. Code available at
Nothing in this list matches your filter.
Featured in 4 awesome lists
Each link jumps to the spot where the list mentions awesome-ocr.