#44th of 5 in Data and scraping for AI
paddleocr
OCR and document parsing toolkit that outputs Markdown and JSON from PDFs and images
Live demo ↗
(opens in a new tab)Documentation ↗
(opens in a new tab)Website ↗
(opens in a new tab)Repository on GitHub ↗
(opens in a new tab)
- Stars
- 91k
- License
- Apache-2.0
- Last commit
- Sep 2026
- Last release
- Jun 2026
- Language
- Python
Checked on GitHub.
Overview
PaddleOCR runs text recognition (PP-OCRv6) and document parsing (PaddleOCR-VL 0.9B VLM, PP-StructureV3) on PDFs and images, producing Markdown or JSON for RAG pipelines. It runs on CPU, NVIDIA GPU, Kunlunxin XPU and other accelerators, with ONNX, OpenVINO, TensorRT and Transformers backends. Models are on HuggingFace and ModelScope.
Who it is for: Developers feeding PDFs and scans into RAG or agent pipelines
Strengths
- Three PP-OCRv6 tiers (1.5M, 7.7M, 34.5M params) cover edge to server
- One PP-OCRv6 model handles 50 languages; PaddleOCR-VL covers 111
- Outputs Markdown, JSON and DOCX; PP-StructureV3 returns table cell and text coordinates
- Multiple inference backends: Paddle, Transformers, ONNX Runtime, OpenVINO, TensorRT, plus C++ deployment
Weaknesses
- Depends on the PaddlePaddle framework; GPU installs need matching CUDA builds
- Benchmark claims such as 96.3% on OmniDocBench are the authors' own
- Python support listed as 3.8 to 3.12 only
- Several pipelines and models, so choosing between PP-OCR, VL and StructureV3 takes reading
What it needs
- GPU optional
- Needs PaddlePaddle
- Models: PP-OCRv6, PaddleOCR-VL-1.6, PP-StructureV3, HPD-Parsing, ONNX
Head to head
Also in Data and scraping for AI
See all 5| Rank | Project | Score |
|---|---|---|
| 1 | Crawl4AIPython web crawler that converts pages to LLM-ready Markdown and JSON | 72 out of 100 |
| 2 | doclingPython library and CLI that converts PDFs, Office files and more into structured text | 70 out of 100 |
| 3 | FirecrawlWeb scraping and crawling API that returns LLM-ready markdown | 67 out of 100 |
| #5 | Jina ReaderConverts any URL or search query into LLM-friendly markdown | 46 out of 100 |