Need help with awesome-ocr?
Click the “chat” button below for chat support from the developer who created it, or find similar developers for support.

About the developer

170 Stars 40 Forks 81 Commits 1 Opened issues

Services available


Need anything else?

Contributors list

# 109,898
81 commits

Awesome OCR

Deskewing and Dewarping

  • MORAN_v2
  • thomasjhaung/deep-learning-for-document-dewarping
  • unproject_text - Perspective recovery of text using transformed ellipses
  • unpaper - a post-processing tool for scanned sheets of paper, especially for book pages that have been scanned from previously created photocopies.
  • deskew - Library used to deskew a scanned document
  • deskewing - Contains code to deskew images using MLPs, LSTMs and LLS tranformations
  • skew_correction - De-skewing images with slanted content by finding the deviation using Canny Edge Detection.
  • page_dewarp - Page dewarping and thresholding using a "cubic sheet" model
  • text_deskewing - Rotate text images if they are not straight for better text detection and recognition.
  • galfar/deskew - Deskew is a command line tool for deskewing scanned text documents. It uses Hough transform to detect "text lines" in the image. As an output, you get an image rotated so that the lines are horizontal.
  • xellows1305/Document-Image-Dewarping - No code :(
  • Docuwarp
  • Alyn
  • DewarpNet


Line Segmentation

Character Segmentation

Word Segmentation

Document Segmentation

Form Segmentation



  • SimpleHTR - Handwritten Text Recognition (HTR) system implemented with TensorFlow.
  • handwriting-ocr - OCR software for recognition of handwritten text
  • AWSLabs: handwritten text regognition for Apache MXNet
  • vloison/HandwrittenTextRecognition

Table detection

Language detection

  • lingua - The most accurate natural language detection library for Java and other JVM languages, suitable for long and short text alike
  • langdetect
  • whatthelang - Lightning Fast Language Prediction rocket
  • wiki-lang-detect

Text detection and localization

  • AttentionOCR
  • crpn
  • PAN-PSEnet
  • Scene-Text-Detection-with-SPECNET - Repository for Scene Text Detection with Supervised Pyramid Context Network with tensorflow.
  • Character-Region-Awareness-for-Text-Detection
  • Real-time-Scene-Text-Detection-and-Recognition-System - End-to-end pipeline for real-time scene text detection and recognition.
  • ocr_attention - Robust Scene Text Recognition with Automatic Rectification.
  • masktextspotter.caffee2 - The code of "Mask TextSpotter: An End-to-End Trainable Neural Network for Spotting Text with Arbitrary Shapes".
  • InceptText-Tensorflow - An Implementation of the alogrithm in paper IncepText: A New Inception-Text Module with Deformable PSROI Pooling for Multi-Oriented Scene Text Detection.
  • textspotter - An End-to-End TextSpotter with Explicit Alignment and Attention
  • RRD - RRD: Rotation-Sensitive Regression for Oriented Scene Text Detection.
  • crpn - Corner-based Region Proposal Network.
  • SSTDNet - Implement 'Single Shot Text Detector with Regional Attention, ICCV 2017 Spotlight'.
  • R2CNN - caffe re-implementation of R2CNN: Rotational Region CNN for Orientation Robust Scene Text Detection.
  • RRPN - Source code of RRPN ---- Arbitrary-Oriented Scene Text Detection via Rotation Proposals
  • TensorflowSceneTextOrientedBoxPredictor - This project modify tensorflow object detection api code to predict oriented bounding boxes. It can be used for scene text detection.
  • DeepSceneTextReader - This is a c++ project deploying a deep scene text reading pipeline with tensorflow. It reads text from natural scene images. It uses frozen tensorflow graphs. The detector detect scene text locations. The recognizer reads word from each detected bounding box.
  • DeRPN - A novel region proposal network for more general object detection ( including scene text detection ).
  • Bartzi/see - SEE: Towards Semi-Supervised End-to-End Scene Text Recognition
  • Bartzi/stn-ocr - Code for the paper STN-OCR: A single Neural Network for Text Detection and Text Recognition
  • beacandler/R2CNN - caffe re-implementation of R2CNN: Rotational Region CNN for Orientation Robust Scene Text Detection
  • HsiehYiChia/Scene-text-recognition - Scene text detection and recognition based on Extremal Region(ER)
  • tensorflow_PSENet - This is a tensorflow re-implementation of PSENet: Shape Robust Text Detection with Progressive Scale Expansion Network.
  • R2CNNFaster-RCNNTensorflow - Rotational region detection based on Faster-RCNN.
  • corner - Multi-Oriented Scene Text Detection via Corner Localization and Region Segmentation
  • CornerSegmentationTextDetection - Multi-Oriented Scene Text Detection via Corner Localization and Region Segmentation.
  • TextSnake.pytorch - A PyTorch implementation of ECCV2018 Paper: TextSnake: A Flexible Representation for Detecting Text of Arbitrary Shapes
  • AON - Implementation for CVPR 2018 text recognition Paper by Tensorflow: "AON: Towards Arbitrarily-Oriented Text Recognition"
  • pixel_link - Implementation of our paper 'PixelLink: Detecting Scene Text via Instance Segmentation' in AAAI2018
  • seglink - An Implementation of the seglink alogrithm in paper Detecting Oriented Text in Natural Images by Linking Segments (=> pixe_link)
  • SSTD - Single Shot Text Detector with Regional Attention
  • MORAN_v2 - MORAN: A Multi-Object Rectified Attention Network for Scene Text Recognition
  • Curve-Text-Detector - This repository provides train&test code, dataset, det.&rec. annotation, evaluation script, annotation tool, and ranking table.
  • tensorflow_PSENet - This is a tensorflow re-implementation of PSENet: Shape Robust Text Detection with Progressive Scale Expansion Network
  • HCIILAB/DeRPN - A novel region proposal network for more general object detection ( including scene text detection ).
  • TextField - TextField: Learning A Deep Direction Field for Irregular Scene Text Detection (TIP 2019)
  • tensorflow-TextMountain - TextMountain: Accurate Scene Text Detection via Instance Segmentation
  • Bartzi/see - Code for the AAAI 2018 publication "SEE: Towards Semi-Supervised End-to-End Scene Text Recognition"
  • bgshih/aster - Recognizing cropped text in natural images. ### FOTS
  • FOTS - An Implementation of the FOTS: Fast Oriented Text Spotting with a Unified Network.
  • text-detection-ctpn
  • yizt/keras-ctpn
  • tianzhi0549/CTPN - Detecting Text in Natural Image with Connectionist Text Proposal Network ### EAST
  • EAST - A tensorflow implementation of EAST text detector
  • AdvancedEAST - AdvancedEAST is an algorithm used for Scene image text detect, which is primarily based on EAST, and the significant improvement was also made, which make long text predictions more accurate.
  • kurapan/EAST Implementation of EAST scene text detector in Keras
  • songdejia/EAST - This is a pytorch re-implementation of EAST: An Efficient and Accurate Scene Text Detector.
  • HaozhengLi/EAST_ICPR - Forked from argman/EAST for the ICPR MTWI 2018 CHALLENGE
  • deepthinking-qichao/EAST_ICPR2018
  • SakuraRiven/EAST
  • EAST-Detector-for-text-detection-using-OpenCV - Text Detection from images using OpenCV
  • easy-EAST ### CRAFT
  • pytorch-text-recognition
  • CRAFT-pytorch - Pytorch implementation of CRAFT text detector.
  • CRAFT-Reimplementation
  • fcakyon/craft-text-detector - PyTorch implementation of CRAFT ### TextBoxes
  • TextBoxes_plusplus TextBoxes++: A Single-Shot Oriented Scene Text Detector
  • TextBoxes-TensorFlow - TextBoxes re-implement using tensorflow
  • zj463261929/TextBoxes - TextBoxes: A Fast Text Detector with a Single Deep Neural Network
  • Shun14/TextBoxesplusplusTensorflo - Textboxes_plusplus implementation with Tensorflow (python)
  • shinjayne/textboxes - Textboxes implementation with Tensorflow (python)
  • shinTB - Textboxes : Image Text Detection Model : python package (tensorflow) ### PSENet
  • tensorflow_PSENet - PSENet: Shape Robust Text Detection with Progressive Scale Expansion Network
  • PSENet - Shape Robust Text Detection with Progressive Scale Expansion Network.

Font detection

  • typefont - The first open-source library that detects the font of a text in a image.

Optical Character Recognition Engines and Frameworks

  • PaddleOCR
  • Urdu-Ocr
  • ocr.pytorch
  • ocular - Ocular is a state-of-the-art historical OCR system.
  • OCR++
  • pytextrator - python ocr using tesseract/ with EAST opencv detector
  • OCR-D
  • ocrd_tesserocr
  • Deeplearning-OCR
  • cnnlstmctc_ocr - Tensorflow-based CNN+LSTM trained with CTC-loss for OCR.
  • PassportScanner - Scan the MRZ code of a passport and extract the firstname, lastname, passport number, nationality, date of birth, expiration date and personal numer.
  • pannous/tensorflow-ocr - OCR using tensorflow with attention.
  • BowieHsu/tensorflow_ocr - OCR detection implement with tensorflow v1.4.
  • GRCNN-for-OCR - This is the implementation of the paper "Gated Recurrent Convolution Neural Network for OCR"
  • go-ocr - A tool for extracting text from scanned documents (via OCR), with user-defined post-processing.
  • insightocr - MXNet OCR implementation. Including text recognition and detection.
  • ocr_densenet - The first Xi'an Jiaotong University Artificial Intelligence Practice Contest (2018AI Practice Contest - Picture Text Recognition) first; only use the densenet to identify the Chinese characters
  • CNNLSTMCTC_Tensorflow - CNN+LSTM+CTC based OCR implemented using tensorflow.
  • tmbdev/clstm - A small C++ implementation of LSTM networks, focused on OCR.
  • VistaOCR
  • tesseract.js
  • Tesseract
  • kaldi
  • ocropus3 - Repository collecting all the submodules for the new PyTorch-based OCR System.
  • calamari
  • ocropy - Python-based tools for document analysis and OCR
  • chinese_ocr
  • deep_ocr - make a better chinese character recognition OCR than tesseract.
  • ocular
  • textDetectionWithScriptID
  • transcribus
  • FastText - Library for efficient text classification and representation learning
  • GOCR
  • Ocrad
  • franc - Natural language detection
  • ocrfeeder
  • emedvedev/attention-ocr - A Tensorflow model for text recognition (CNN + seq2seq with visual attention) available as a Python package and compatible with Google Cloud ML Engine.
  • da03/attention-ocr - Visual Attention based OCR
  • dhlab-epfl/dhSegment - Generic framework for historical document processing
  • grobid - A machine learning software for extracting information from scholarly documents
  • lapdftext - LA-PDFText is a system for extracting accurate text from PDF-based research articles
  • kraken
  • gosseract - Go package for OCR (Optical Character Recognition), by using Tesseract C++ library.
  • EasyOCR - Ready-to-use OCR with 40+ languages supported including Chinese, Japanese, Korean and Thai.
  • invoice-scanner-react-native
  • Arabic-OCR

Awesome lists

  • Awesome-Scene-Text-Recognition - A curated list of resources dedicated to scene text localization and recognition
  • awesome-deep-text-detection-recognition
  • kba/awesome-ocr
  • perfectspr/awesome-ocr
  • chongyangtao/Awesome-Scene-Text-Recognition - Papers and datasets

Proprietary OCR Engines

File formats and tools

  • nw-page-editor - Simple app for visual editing of Page XML files
  • hocr
  • alto
  • PageXML
  • ocr-fileformat - Validate and transform various OCR file formats
  • hocr-tools - Tools for manipulating and evaluating the hOCR format for representing multi-lingual OCR results by embedding them into HTML.


  • ICDAR datasets
  • scenetext - This is a synthetically generated dataset, in which word instances are placed in natural scene images, while taking into account the scene layout.
  • Total-Text-Dataset

Data augmentation and Synthetic data generation

Pre OCR Processing

Post OCR Correction



  • ocrodeg - a small Python library implementing document image degradation for data augmentation for handwriting recognition and OCR applications.
  • scantailor - Scan Tailor is an interactive post-processing tool for scanned pages.
  • open-semantic-search - Open Semantic Search Engine and Open Source Text Mining & Text Analytics platform (Integrates ETL for document processing, OCR for images & PDF, named entity recognition for persons, organizations & locations, metadata management by thesaurus & ontologies, search user interface & search apps for fulltext search, faceted search & knowledge graph)
  • ocrserver - A simple OCR API server, seriously easy to be deployed by Docker, on Heroku as well
  • cosc428-structor - ~1000 book pages + OpenCV + python = page regions identified as paragraphs, lines, images, captions, etc.
  • nidaba - An expandable and scalable OCR pipeline
  • OCRmyPDF

We use cookies. If you continue to browse the site, you agree to the use of cookies. For more information on our use of cookies please see our Privacy Policy.