For an ocr tool for extracting text, the first results are tesseract-ocr/tesseract (Tesseract is a full-featured OCR engine with deep learning, multi-language support, layout analysis, a CLI, and model training capabilities—exactly matching the request for an open-source OCR tool), jbarlow83/ocrmypdf and breezedeus/pix2text. madmaze/pytesseract and rednote-hilab/dots.ocr round out the shortlist. Compare the match explanations and check the project documentation against your requirements.
Open-source software libraries and applications for converting images and scanned documents into machine-readable text.
Tesseract is a neural network-based optical character recognition engine designed to convert scanned images and digital documents into machine-readable, searchable text. It functions as both a command-line utility for automating large-scale digitization workflows and a cross-platform library that can be embedded into desktop, mobile, or server-side applications. By utilizing long short-term memory networks, the engine provides robust text extraction across more than one hundred languages and dozens of scripts. The project distinguishes itself through a sophisticated document layout analysis f
Tesseract is a full-featured OCR engine with deep learning, multi-language support, layout analysis, a CLI, and model training capabilities—exactly matching the request for an open-source OCR tool.
OCRmyPDF is a tool for converting image-based PDF files into machine-readable documents by adding a searchable text layer via optical character recognition. It functions as a multi-language processor capable of detecting and extracting text in over 100 different languages using linguistic data packs. The software includes a PDF image optimizer to remove image artifacts and correct page skew to improve recognition accuracy. It also provides a converter to transform scanned documents into the PDF/A standard for long-term digital archiving. The system manages PDF optimization by compressing emb
OCRmyPDF is a dedicated OCR tool that adds searchable text to image-based PDFs using Tesseract, supporting over 100 languages with image preprocessing and PDF/A output—making it a solid match for extracting text from PDFs and images, though it lacks its own deep learning models and trainable customization.
Pix2Text is an optical character recognition system and document conversion tool designed to transform images and PDFs into Markdown. It functions as a multilingual OCR engine supporting over 80 languages, a LaTeX formula recognizer for mathematical notations, and a parser integrated with vision language models. The project utilizes a hybrid pipeline to separate plain text from mathematical formulas and tabular structures within a single pass. It converts recognized formulas into LaTeX expressions and transforms detected tables and layouts into structured Markdown formatting. The system incl
Pix2Text is a multilingual OCR engine and document conversion tool that directly reads images and PDFs, separates text, formulas, and tables via layout analysis, and outputs structured Markdown — matching the core OCR task and most requested features such as multi-language support, deep learning, and structure detection.
Pytesseract is a Python library that wraps Google's Tesseract OCR engine to extract text from images. It provides a straightforward interface for optical character recognition, supporting multiple languages and a variety of output formats. The library distinguishes itself by offering fine-grained control over the OCR process through custom Tesseract configuration options, including engine mode and page segmentation settings. It can detect image orientation and script type, recognize text in multiple languages, and return detailed metadata such as per-character confidence scores and bounding b
Pytesseract is a Python library that wraps Tesseract to extract text from images, offering multi‑language support, page‑segmentation based layout analysis, and output formats like text and searchable PDF, making it a solid OCR tool – though it relies on Tesseract for deep‑learning and does not expose custom model training directly.
dots.ocr is a suite of software utilities for document layout analysis, multilingual optical character recognition, and scene text digitization. It functions as an engine for extracting digital text and structured layout data from images and PDFs across various human scripts. The project includes a specialized transformer for converting charts, diagrams, and chemical formulas from raster images into scalable vector graphics. It also provides a pipeline to transform extracted text and structural layout from documents and web screenshots into formatted Markdown files. The system covers capabil
dots.ocr is a multilingual OCR engine with layout analysis, deep-learning-based text recognition, and support for PDF and image inputs, making it a comprehensive fit for extracting machine-readable text from documents.
Tesseract is an optical character recognition engine and tool designed to convert printed or handwritten text from images into machine-readable digital text. It functions as a multilingual text extractor and a document digitization pipeline that transforms scanned images into structured digital formats. The project includes a framework for training custom scripts and language-specific models, allowing the engine to recognize new languages or unique fonts through custom training data. Its capabilities cover automated text extraction, digital archive digitization, and the export of recognized
Tesseract is the go-to open-source OCR engine with multi-language support, LSTM-based deep learning, a training framework, layout analysis, a CLI, and output to text and searchable PDF—matching every aspect of your search.
PaddleOCR is a comprehensive optical character recognition framework designed for detecting and transcribing text from images and documents into structured, machine-readable formats. It provides a modular computer vision pipeline that decouples image preprocessing, text detection, and character recognition into independent, configurable stages. This architecture supports automated document digitization and multilingual text recognition, capable of identifying text in over one hundred languages across diverse environments ranging from scanned documents to industrial scenes. The framework disti
PaddleOCR is a comprehensive deep-learning-based OCR framework with modular text detection, recognition, and preprocessing stages, supports over 100 languages, document parsing, and PDF input, covering exactly the multi-step OCR pipeline and output formats this search is after.
RapidOCR is an offline deep-learning OCR engine that detects and recognizes text in images using ONNX Runtime, operating entirely without an internet connection. It provides a unified inference pipeline that runs across multiple platforms including Windows, Linux, macOS, Android, and Raspberry Pi, with programming language bindings for Python, C++, Java, and C#. The engine separates text detection and recognition into independent modules that can be swapped or fine-tuned individually, and abstracts the inference backend behind a unified interface allowing seamless switching between ONNX Runti
RapidOCR is a deep-learning, offline OCR engine with modular detection and recognition, multi-platform support, and model fine-tuning capabilities, matching the core need for a trainable OCR tool with cross-language potential.
EasyOCR is a deep learning-based computer vision library designed to perform optical character recognition on images and video frames. It functions as a comprehensive pipeline that automates the transformation of visual text into machine-readable strings, enabling the digitization of physical documents, forms, and receipts into searchable data. The engine distinguishes itself through a multi-stage processing workflow that combines convolutional neural networks for spatial feature extraction with sequence-based decoding mechanisms. This architecture allows the system to identify and interpret
EasyOCR is a deep-learning-based OCR library that supports many languages and provides text detection and recognition from images, directly fitting your search for an OCR engine, though it lacks built-in layout analysis and native PDF input.
DocTR is a deep learning OCR library built on PyTorch that detects and transcribes text in document images using a two-stage detection-recognition pipeline. It provides a complete framework for building and deploying OCR pipelines with pretrained models available through the Hugging Face Hub, and supports exporting trained models to ONNX format for cross-runtime deployment. The library offers end-to-end OCR pipelines that combine text detection and recognition to extract all text from document images or PDFs, with support for rotated page handling and varied text orientations. It includes cap
mindee/doctr is a deep learning OCR library with a detection-recognition pipeline, pretrained models, and support for PDFs and images, making it a comprehensive fit for extracting text via OCR.
Zerox is a multimodal document parser and OCR tool that uses vision models to convert PDF files and images into structured Markdown text. It functions as a visual layout extraction engine, leveraging large multimodal models to digitize documents while maintaining their original structural formatting. The system differentiates itself through the use of coordinate-based element mapping and multimodal layout analysis to identify structural elements like tables, charts, and headers. It utilizes rasterization to convert vector PDF pages into high-resolution bitmaps, ensuring consistent input for t
Zerox is a multimodal OCR tool that uses vision models to extract structured Markdown from PDFs and images, squarely fitting the OCR engine category, though it focuses on layout-aware extraction rather than offering traditional OCR features like custom model training or multiple output formats.
PyMuPDF is a comprehensive PDF manipulation library and document analysis tool. It serves as a text extraction tool, OCR engine, and image converter, providing a programmatic interface to edit, merge, split, and optimize PDF and Office documents. The project distinguishes itself through high-performance capabilities, including the use of C-bindings for low-level manipulation and parallelized page processing to accelerate workloads. It provides specialized conversion paths, such as transforming PDF content into Markdown for retrieval-augmented generation and large language model pipelines. It
PyMuPDF is a PDF manipulation library with integrated OCR via Tesseract, supporting multi-language text extraction, layout detection, and table extraction from PDF and images—fitting the search as an OCR engine, though it lacks a dedicated CLI and direct custom model training.
Tesseract.js is a JavaScript library that provides optical character recognition capabilities directly within web browsers and Node.js environments. It functions as a client-side engine, enabling the conversion of images containing printed text into machine-readable strings without the need for external APIs or server-side infrastructure. The library distinguishes itself by running the original C++ optical character recognition engine within the browser through WebAssembly modules. To maintain interface responsiveness during intensive computation, it utilizes background threads for parallel p
Tesseract.js is a JavaScript library that ports the industry-standard Tesseract OCR engine to browser and Node.js environments via WebAssembly, giving you multi-language text extraction from images and supporting common output formats—though it lacks a built-in CLI and its PDF support requires external conversion, making it a solid but not all-in-one choice for OCR integration.
Umi-OCR is an optical character recognition engine designed to convert visual text from images and documents into machine-readable character data. It functions as a local-first toolkit, processing all visual data directly on the host machine using embedded neural network models to maintain privacy and offline availability. The project distinguishes itself through its focus on automated document digitization and integrated barcode and QR code decoding. By utilizing a modular, Python-based orchestration layer, it enables users to transform static image files and multi-page documents into search
Umi-OCR is a local-first OCR engine that uses embedded neural network models (via PaddleOCR) to extract text from images and documents, supporting multi-language recognition and a command-line interface, though it does not offer built-in layout analysis or custom model training.
MinerU is a document parsing pipeline designed to transform unstructured files into machine-readable, structured data. It utilizes deep learning models to perform layout analysis, identifying document regions and extracting complex content such as mathematical expressions. By combining these neural network inferences with geometric heuristics, the system reconstructs the reading order and structural hierarchy of documents to ensure accurate data representation. The project distinguishes itself through a multi-stage processing workflow that integrates layout detection, optical character recogn
MinerU is a deep‑learning–based document parsing pipeline that performs layout analysis and optical character recognition on images and PDFs to produce machine‑readable structured data, directly meeting your need for an OCR tool with preprocessing and structure detection, though it may not include a dedicated CLI or custom model training out of the box.
Nougat is a neural OCR system and LLM document parser designed to convert images of academic PDF documents into structured markdown text and mathematical formulas. It functions as a PDF to markdown converter that uses deep learning to handle layout and formula recognition. The project provides a document training pipeline for generating datasets and training neural networks to recognize specific academic document styles. This includes utilities for training dataset generation, neural model training, and model checkpoint management to ensure reproducible deployment. The system covers a broad
Nougat is a neural OCR system designed specifically for academic PDFs, converting them to structured markdown with layout and formula recognition using deep learning—it fits the OCR engine category with training capabilities, though it is specialized to scholarly documents rather than general-purpose OCR.
Python-based tools for document analysis and OCR
Ocropy is a Python-based toolkit specifically built for document analysis and OCR, making it a direct fit for extracting text from images, though it may not cover every modern feature like deep learning or custom model training.
Deep OCR is a deep learning framework designed for the recognition of Chinese characters within images. It functions as an optical character recognition library that converts scanned documents or image files into digital text, providing an alternative to traditional template matching methods. The system utilizes a combination of convolutional neural networks for spatial feature extraction and recurrent sequence modeling to capture contextual relationships between characters. It employs connectionist temporal classification to map image sequences to character strings without requiring explicit
This repository is an OCR engine specifically targeting Chinese character recognition, aiming to outperform Tesseract for that language; it fits the core intent of extracting text from images, though details on multi-language support, preprocessing, or output formats are not evident.
This project is a terminal-based optical character recognition engine that uses neural network models to extract text and spatial layout data from images. It functions as both a command-line utility for automated text processing and a library for integrating machine learning-powered recognition into broader workflows. The engine distinguishes itself through a modular processing pipeline that supports custom model loading and memory-mapped weight initialization for efficient execution. It preserves document structure by tracking precise geometric coordinates for every detected text element, an
ocrs is a Rust library and CLI for extracting text from images, making it a genuine OCR engine, but its description does not confirm multi-language support, layout analysis, or model training that the full search seeks.
| Repository | Stars | Language | License | Last push |
|---|---|---|---|---|
| tesseract-ocr/tesseract | 74.8K | C++ | Apache-2.0 | |
| jbarlow83/ocrmypdf | 33.9K | Python | MPL-2.0 | |
| 3K |
| Jupyter Notebook |
| mit |
| madmaze/pytesseract | 6.4K | Python | Apache-2.0 |
| rednote-hilab/dots.ocr | 7.7K | Python | mit |
| ub-mannheim/tesseract | 4.1K | C++ | apache-2.0 |
| paddlepaddle/paddleocr | 82.4K | Python | Apache-2.0 |
| rapidai/rapidocr | 6K | Python | apache-2.0 |
| jaidedai/easyocr | 29.6K | Python | Apache-2.0 |
| mindee/doctr | 6.1K | Python | Apache-2.0 |