Open Source OCR Projects
Optical character recognition (OCR) converts text in images and scanned documents into machine-readable text. It helps make printed or handwritten content searchable, editable, and accessible to software, reducing manual transcription and making information easier to process. Modern OCR systems may also detect page layout, tables, and other document structure, which can be important when preserving meaning and formatting matters.
Open source OCR tools range from text-recognition libraries and command-line utilities to document-processing pipelines and systems that use machine learning. When choosing one, consider language and handwriting support, accuracy on your document types, output formats, processing speed, hardware requirements, licensing, maintenance, and integration with existing workflows. These tools are useful to developers, researchers, organizations, and archivists working with scanned records, PDFs, forms, or image collections.
17 repositories · updated October 16, 2026

indra: Fast CPU OCR with Datalab’s Indra Model
Indra OCR uses Datalab’s compact model with ONNX Runtime to turn PDFs and images into markdown, text, or structured JSON on CPU. It adds line boxes, layout labels, and reading order for fast document parsing without a GPU.
NewHealth 32/100

pdf-inspector: Classify PDFs and Extract Text as Markdown
pdf-inspector is a Rust library and set of bindings for classifying PDFs, extracting positioned text, and converting documents to Markdown. It helps processing pipelines route scanned pages to OCR while handling text-based pages locally.
ActiveHealth 59/100

AWESOME-OCR-LLM: Track OCR Research in the LLM Era
AWESOME-OCR-LLM is a curated reading list for OCR research shaped by large language and vision-language models. It helps researchers and practitioners follow work across document parsing, understanding, visual text generation, and evaluation.
ActiveHealth 43/100

Qwen3-VL: Understand Images, Video, and Text with Multimodal Models
Qwen3-VL is a family of multimodal language models for interpreting images, video, and text. The repository provides inference examples, deployment guidance, and cookbooks for tasks such as OCR, spatial reasoning, and visual agents.
QuietHealth 39/100

GLM-OCR: Recognize Text and Structure in Documents
GLM-OCR is a multimodal OCR model and SDK for extracting text and layout from complex documents. Use it through a hosted API or deploy the pipeline with supported inference servers for local control.
QuietHealth 35/100

OmniParse: Turn Documents and Media into AI-Ready Data
OmniParse is a self-hosted Python service that converts documents, images, audio, video, and web pages into structured output for GenAI workflows. It suits teams building ingestion pipelines that want local parsing, but requires Linux and a GPU with at least 8–10 GB of VRAM.
QuietHealth 20/100

docling: Parse Documents for AI Workflows
Docling converts documents from formats such as PDF, Office files, images, and audio into structured representations and exports. It suits developers building document-processing and generative AI pipelines that need format coverage, OCR, or local execution.
ActiveHealth 81/100

ImageToolbox: Edit, Convert, and Process Images on Android
ImageToolbox is a feature-rich Android app for photo editing, image conversion, OCR, PDF tasks, and other media workflows. It suits users who want many image utilities in one place, with distribution through Google Play, F-Droid, and GitHub releases.
ActiveHealth 79/100

PaddleOCR: Extract Text and Structure from Images and PDFs
PaddleOCR is a Python toolkit for recognizing text and parsing document layouts in images and PDFs. It suits developers building OCR, document-processing, and retrieval workflows who need structured output and multilingual recognition.
ActiveHealth 61/100

pdf-craft: Convert Scanned PDFs into Markdown and EPUB
PDF Craft uses OCR to turn scanned books and documents into editable Markdown or EPUB, with optional translation and translated PDF output. It is a Python library for developers and readers who need to process scanned material.
ActiveHealth 59/100

unstructured: Turn Documents Into Structured Data
Unstructured is a Python library for parsing and preprocessing documents into structured elements for downstream applications, including LLM workflows. It supports many file types, with format-specific dependencies for some inputs.
ActiveHealth 63/100

docling-api: Convert Documents to Markdown Through an API
docling-api is a self-hostable FastAPI service that converts documents and images into Markdown using Docling. It suits teams that need synchronous or queued batch processing, with CPU and GPU deployment options.
MaintainedHealth 33/100