PaddlePaddle

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.

PythonApache-2.0OCRComputer VisionPDF
View on GitHub Compare
Stars
90.6k
Forks
11.4k
Stars, last 30 days
+1,591

Our take

Health score

60/100

How it is scored
Activity
53
Community
92
Issues
60
Pull requests
35

+1,591 stars in the last 30 days

  • More contributors than 78% of the projects we track

Project history

Daily GitHub snapshots since Oct 7, 2026. History covers stars and forks; health signals are not tracked historically.

Selected snapshot

Stars

92,452

Forks

11,637

Change since Nov 8, 2026: +41 stars·+4 forks

Overview

PaddleOCR is a document AI toolkit that turns images and PDFs into recognized text and structured content. It addresses the gap between visual documents and applications that need searchable text or data, including systems that consume Markdown or JSON.

It combines general text recognition with document parsing pipelines. Choose it when you need configurable OCR or document understanding in an application, rather than a standalone document editor. The project provides several model and pipeline options, so the right choice depends on the document type and deployment needs.

Key Features

  • Recognizes text in images and documents, with support for more than 100 languages stated by the project.
  • Provides PP-OCR models for scene text recognition, including text detection and recognition.
  • Parses document structure with PP-StructureV3, with outputs including Markdown and JSON.
  • Offers PaddleOCR-VL, a vision-language model for document parsing and complex elements such as tables, formulas, and charts.
  • Supports document translation and information extraction capabilities within its broader toolkit.
  • Supports inference on CPU and multiple accelerator types, and provides deployment options including ONNX Runtime and OpenVINO.

Use Cases

  • Application developers can add text recognition to workflows that process scanned pages, photos, or other image documents.
  • RAG and knowledge-base builders can extract text and layout from PDFs before indexing content for retrieval.
  • Teams handling complex reports can parse tables, formulas, and charts into structured results for downstream processing.
  • Organizations processing documents in multiple languages can use OCR pipelines for multilingual text recognition.

Getting Started

Try the online experience at paddleocr.com, or choose a local pipeline using the repository README and its linked documentation. The project has separate guides for PP-OCR, PaddleOCR-VL, and PP-StructureV3.

Alternatives

  • opendataloader-pdf: OpenDataLoader focuses on PDF parsing and tagged-PDF conversion, while PaddleOCR provides broader OCR and document-layout tools for images and PDFs.
  • unstructured: Unstructured preprocesses many document formats into elements, while PaddleOCR focuses on OCR and layout recognition for images and PDFs.
  • marker: Marker converts documents into Markdown, JSON, HTML, or chunks, while PaddleOCR provides OCR and layout-recognition components for broader workflows.
  • GLM-OCR: GLM-OCR centers on a multimodal OCR model and SDK with hosted or local deployment, while PaddleOCR is a broader Python OCR toolkit.
ProjectLanguageLicenseStarsStatus
PaddleOCRPythonApache-2.090.6kNot checked yet
opendataloader-pdfJavaApache-2.029.5kActive
unstructuredHTMLApache-2.015.5kActive
markerPythonApache-2.040.2kActive
GLM-OCRPythonApache-2.07.5kQuiet

Considerations

  • The toolkit covers multiple pipelines and model families, so selecting and configuring the suitable one takes some evaluation.
  • Model and dependency needs vary by capability and deployment backend. Check the relevant installation guide before planning an environment.
  • Accelerator support is available, but deployment options and performance depend on the selected hardware and inference backend.

Found this useful?

Share it with someone who would like PaddleOCR.

Comparisons