Awesome Open Source AI
CURATED LIST · 10 hand-picked projects · Updated August 23, 2026

Top 10 Open Source OCR Tools for PDFs and Documents (2026)

Document text extraction requires matching the software architecture to your primary document format. OCRmyPDF creates direct PDF/A output with searchable text layers for scanned PDFs, while offline C++ engines like Tesseract read raster image input to produce searchable PDFs. Among structured pipelines, PaddleOCR exports structured JSON and HTML with layout and table tooling, Docling produces Markdown, HTML, and JSON with reading order and TableFormer table extraction, Surya outputs reading-order and table JSON/HTML, and docTR generates hierarchical JSON and XML detections. For historical manuscripts, trainable HTR engines like Kraken and web annotation suites like eScriptorium supply custom transcription workflows.

A scanned paper sheet passing through a card sorter and emerging as a text-free table grid with a handwritten curl

Selection method

Candidates are evaluated by searchable text layer creation, structured layout and table parsing depth, handwriting and HTR support, local execution requirements, and licensing clarity.

Searchable text layers & PDF/A
Creating embedded OCR text layers and PDF/A archival compliance.
Structured layout & tables
Extracting reading order, multi-column bounding boxes, and structured Markdown/JSON table grids.
Handwriting & HTR support
Differentiating standard printed OCR engines from models and platforms capable of handwritten text recognition.
Local deployment & platform fit
Evaluating offline CLI tools, desktop GUIs, GPU inference overhead, and web-based server stacks.
License & deployment fit
Distinguishing permissive open-source licenses (MIT, Apache-2.0) from copyleft terms (GPL-3.0, MPL-2.0), modified model weight licenses (Open RAIL-M), or split model terms.

The 10 open source OCR tools at a glance

CandidateTypeLicenseStatusFocus
#1 OCRmyPDF
jbarlow83 / Community
PDF wrapperMPL-2.0MPL-2.0 weak copyleftCLI, Python library, and Docker image using Tesseract to add searchable text layers and PDF/A output to scanned PDFs
#2 PaddleOCR
PaddlePaddle
Document-AI pipelineApache-2.0Apache-2.0 code & weightsMultilingual OCR, layout detection, and table parsing suite powered by PP-Structure
#3 Docling
DS4SD / IBM Research
Document-AI pipelineMIT code (model terms vary)MIT code license (model terms vary)Document conversion engine producing structured Markdown, JSON, HTML, and DocTags with reading order
#4 Tesseract
Google / Community
OCR engineApache-2.0Apache-2.0 licenseOffline CLI/C++ OCR engine rendering raw text, searchable PDFs, hOCR, ALTO, and TSV from raster images
#5 Umi-OCR
hiroi-sora
Desktop applicationMITPermissive MIT licenseOffline Windows/Linux desktop GUI and HTTP API app for batch image, PDF, XPS, and EPUB text extraction
#6 Surya
Vikram Paruchuri / Datalab
Document-AI pipelineApache-2.0 code / modified AI Pubs Open RAIL-M weightsApache-2.0 code / modified AI Pubs Open RAIL-M weightsDocument page-oriented layout analysis, reading order, and table parsing model tooling
#7 Kraken
Mittagessen / Benjamin Kiessling
HTR engineApache-2.0Apache-2.0 licenseTrainable OCR and handwritten text recognition (HTR) system for historical texts and non-Latin scripts
#8 eScriptorium
Scripta Project
Annotation suiteMITPermissive MIT licenseWeb-based transcription platform for segmenting, annotating, and training historical HTR models
#9 docTR
Mindee
Developer SDKApache-2.0Apache-2.0 code & weightsPython library, REST API templates, and Docker containers for deep learning document parsing
#10 Paperless-ngx
Paperless-ngx Team
Document-management systemGPL-3.0GPL-3.0 copyleft licenseSelf-hosted document management web app wrapping OCRmyPDF and Tesseract for automated searchable archives

Detailed candidate reviews

Detailed technical reviews ordered strictly from rank #1 to #10.

RANK #1PDF wrapper

OCRmyPDF

Developed by jbarlow83 / Community
MPL-2.0 weak copyleft
No active AwesomeOSAI registry profile at the August 23, 2026 audit

CLI, Python library, and Docker image using Tesseract to add searchable text layers and PDF/A output to scanned PDFs

Best for:Adding searchable text overlays and creating archival PDF/A documents from scanned PDFs via CLI, Python, or Docker workflows.
What it does:CLI/Python/Docker workflow uses Tesseract to create searchable PDF and PDF/A output for scanned PDF documents. Requires Tesseract and Ghostscript.
Caveats:Requires Tesseract and Ghostscript runtimes. Lacks advanced table structure extraction or complex layout reasoning.
RANK #2Document-AI pipeline

PaddleOCR

Developed by PaddlePaddle
Apache-2.0 code & weights AwesomeOSAI profile →

Multilingual OCR, layout detection, and table parsing suite powered by PP-Structure

Best for:Industrial document parsing, layout detection, HTML table extraction, and multilingual OCR within a PaddlePaddle environment.
What it does:CLI/Python/C++/serving suite processes PDFs and images into structured outputs. PP-Structure handles layout analysis and HTML table parsing. Code and supplied weights use Apache-2.0.
Caveats:Requires the PaddlePaddle runtime stack.
RANK #3Document-AI pipeline

Docling

Developed by DS4SD / IBM Research
MIT code license (model terms vary) AwesomeOSAI profile →

Document conversion engine producing structured Markdown, JSON, HTML, and DocTags with reading order

Best for:Converting complex PDFs, images, office files, and HTML into structured Markdown, HTML, or JSON with reading order and TableFormer table extraction.
What it does:CLI/Python/docling-serve/MCP tool converts PDFs, images, office files, and HTML into Markdown, HTML, JSON, and DocTags with reading order and TableFormer table structure. Code is MIT licensed; individual model licensing terms vary by selected model.
Caveats:Requires machine learning runtime and model checkpoints; does not generate archival PDF text layers as its primary task.
RANK #4OCR engine

Tesseract

Developed by Google / Community
Apache-2.0 license
No active AwesomeOSAI registry profile at the August 23, 2026 audit

Offline CLI/C++ OCR engine rendering raw text, searchable PDFs, hOCR, ALTO, and TSV from raster images

Best for:Offline command-line text extraction from raster image files (PNG, TIFF, JPEG) producing searchable PDF, hOCR, or TSV output.
What it does:CLI/C++ engine reads raster image files (PNG, TIFF, JPEG) and generates raw text, searchable PDF output, hOCR, ALTO, and TSV files. Apache-2.0 license.
Caveats:Accepts raster image input only; lacks native vector PDF ingestion or structured table HTML/Markdown markup. PDF pages require external rasterization prior to processing.
RANK #5Desktop application

Umi-OCR

Developed by hiroi-sora
Permissive MIT license
No active AwesomeOSAI registry profile at the August 23, 2026 audit

Offline Windows/Linux desktop GUI and HTTP API app for batch image, PDF, XPS, and EPUB text extraction

Best for:Desktop users on Windows and Linux seeking a standalone GUI tool for batch image and document text recognition.
What it does:Offline Windows/Linux GUI, CLI, and HTTP API desktop wrapper for images, PDFs, XPS, and EPUB files. Emits dual-layer searchable PDFs and plain text formats. MIT license.
Caveats:Lacks a native macOS build or neural table grid extraction; poor fit for server-scale cluster pipelines.
RANK #6Document-AI pipeline

Surya

Developed by Vikram Paruchuri / Datalab
Apache-2.0 code / modified AI Pubs Open RAIL-M weights
No active AwesomeOSAI registry profile at the August 23, 2026 audit

Document page-oriented layout analysis, reading order, and table parsing model tooling

Best for:Extracting document page layout reading order, bounding boxes, and table JSON/HTML from PDFs and images.
What it does:Python/CLI/Streamlit tooling processes PDFs and images into page-oriented reading order, bounding boxes, and table JSON/HTML outputs. Code is Apache-2.0.
Caveats:Model weights use a modified AI Pubs Open RAIL-M license where commercial terms apply to organizations above $5M revenue or total funding, as well as competing commercial products. Full throughput requires an inference backend like vLLM or llama-server.
RANK #7HTR engine

Kraken

Developed by Mittagessen / Benjamin Kiessling
Apache-2.0 license
No active AwesomeOSAI registry profile at the August 23, 2026 audit

Trainable OCR and handwritten text recognition (HTR) system for historical texts and non-Latin scripts

Best for:Academic researchers and archivists working with historical manuscripts, non-Latin scripts, or custom handwritten text recognition.
What it does:CLI/Python trainable HTR and layout analysis system for historical documents and non-Latin scripts, exporting ALTO, PageXML, and hOCR. Apache-2.0 license.
Caveats:Line-centric architecture requires training or pre-trained models; does not parse office tables or standard printed PDFs out of the box.
RANK #8Annotation suite

eScriptorium

Developed by Scripta Project
Permissive MIT license
No active AwesomeOSAI registry profile at the August 23, 2026 audit

Web-based transcription platform for segmenting, annotating, and training historical HTR models

Best for:Collaborative teams annotating historical document images, segmenting lines, and training custom transcription models.
What it does:Self-hostable web GUI, REST API, and Docker transcription suite for historical document annotation, segmentation, and HTR model training. Exports PageXML, ALTO, hOCR, and TXT. Canonical repository is hosted on GitLab. Permissive MIT license.
Caveats:Requires a multi-service web stack (PostgreSQL, Celery, Redis) rather than a lightweight single CLI utility.
RANK #9Developer SDK

docTR

Developed by Mindee
Apache-2.0 code & weights
No active AwesomeOSAI registry profile at the August 23, 2026 audit

Python library, REST API templates, and Docker containers for deep learning document parsing

Best for:Python developers needing a programmatic deep-learning SDK and deployment templates for document layout detection.
What it does:Apache-2.0 Python library, CLI, REST API, and Docker deployment templates for end-to-end deep learning document parsing. Outputs hierarchical JSON and XML text and layout detections. Code and weights use Apache-2.0.
Caveats:Requires PyTorch or TensorFlow runtimes; lacks a packaged desktop GUI and does not automatically parse complex tables into HTML or Markdown markup.
RANK #10Document-management system

Paperless-ngx

Developed by Paperless-ngx Team
GPL-3.0 copyleft license
No active AwesomeOSAI registry profile at the August 23, 2026 audit

Self-hosted document management web app wrapping OCRmyPDF and Tesseract for automated searchable archives

Best for:Organizing personal or household document collections into searchable archives using automated OCR indexing.
What it does:Self-hosted document management web GUI, REST API, and consume-directory pipeline wrapping OCRmyPDF and Tesseract to store searchable archives and full-text search indexes. GPL-3.0 copyleft license.
Caveats:Designed as a full document management system (DMS) rather than a standalone batch OCR engine or structured table extractor.

Decision guide

RequirementRecommendationWhy
Searchable PDF/A overlays & scanned PDF archivingOCRmyPDF (MPL-2.0) Uses Tesseract via CLI/Python/Docker to produce searchable PDF and PDF/A output.
Layout analysis, HTML table parsing & multilingual OCRPaddleOCR (Apache-2.0) Includes PP-Structure for layout detection and HTML table parsing within the PaddlePaddle ecosystem.
Converting PDFs & office files into Markdown/JSON for RAGDocling (MIT code (model terms vary)) Parses documents into structured Markdown, HTML, and JSON with reading order and TableFormer table extraction.
Offline C++ engine for raster image OCR & hOCR outputTesseract (Apache-2.0) Reads raster images to produce raw text, searchable PDF output, hOCR, ALTO, and TSV files.
Offline desktop GUI for batch PDF & document processingUmi-OCR (MIT) Offers a standalone Windows/Linux GUI with batch file processing, HTTP API, and dual-layer searchable PDF export.
Page-oriented layout reading order & table parsing JSON/HTMLSurya (Apache-2.0 code / modified AI Pubs Open RAIL-M weights) Outputs document page reading order, bounding boxes, and table JSON/HTML (model weights use modified AI Pubs Open RAIL-M).
Trainable HTR & OCR for historical or non-Latin documentsKraken (Apache-2.0) Provides trainable handwritten text recognition (HTR), layout segmentation, and PageXML/ALTO export.
Web team transcription & manual layout annotationeScriptorium (MIT) Delivers a web interface for line segmentation, manual correction, collaborative annotation, and model training.
Python deep-learning SDK for hierarchical JSON/XML document parsingdocTR (Apache-2.0) Supplies PyTorch/TensorFlow models, deployment templates, and hierarchical JSON/XML output.
Self-hosted document management system with automated OCR search indexingPaperless-ngx (GPL-3.0) Automates intake scanning, tagging, and OCRmyPDF/Tesseract indexing inside a searchable document archive.

Questions people ask

How does a low-level OCR engine differ from a structured document pipeline?

Low-level engines like Tesseract read raster image files to output text, hOCR, or searchable PDFs, while tools like OCRmyPDF wrap Tesseract to add searchable layers and PDF/A output directly to scanned PDF files. Structured document pipelines parse layout and document structure into specialized formats: PaddleOCR exports structured JSON and HTML with layout and table tooling; Docling produces Markdown, HTML, and JSON with reading order and TableFormer; Surya outputs reading-order and table JSON/HTML; and docTR generates hierarchical JSON/XML detections.

Which open source tools handle handwritten text recognition (HTR) and historical manuscripts?

Kraken and eScriptorium specialize in trainable handwritten text recognition and historical manuscript transcription with line-level segmentation and annotation workflows. Everyday printed OCR utilities like Tesseract and OCRmyPDF do not include specialized handwriting recognition models.

Which tools create searchable PDF/A files directly from scanned documents?

OCRmyPDF is specifically designed to create direct PDF/A output with searchable text layers from scanned PDFs. Umi-OCR creates dual-layer searchable PDFs, while Paperless-ngx embeds OCRmyPDF and Tesseract to store searchable document archives and search indexes. Low-level Tesseract outputs searchable PDFs directly from raster image inputs.

What license caveats should I watch for when deploying open-source OCR tools?

While tools like PaddleOCR and docTR use permissive Apache-2.0 licenses for code and weights, others have specific conditions. OCRmyPDF uses weak-copyleft MPL-2.0. Docling uses an MIT code license but individual model weight terms vary. Surya uses Apache-2.0 for its code repository alongside a modified AI Pubs Open RAIL-M model weight license where commercial terms apply to organizations above $5M in revenue or total funding, as well as competing commercial products. Paperless-ngx carries a copyleft GPL-3.0 license. Inspect both code and model weight licenses prior to commercial deployment.

Sources

Related internal pages

Related self-hosted AI guides and document processing comparisons:

Awesome Open Source AI Official Weekly Digest

Stay Updated on Open-Source AI

Get net-new open-source models, agent frameworks, inference engines, and tools delivered directly to your inbox every week.

Every project in this guide is audited against the Awesome Open Source AI registry, updated regularly. Active registry profiles are linked above, while unindexed entries link directly to their primary repositories for immediate verification.

by Alvin