# paddleocr.dev > Independent, hands-on guide to PaddleOCR (Baidu's open-source OCR and document-parsing toolkit, Apache-2.0). Every command is tested and every number is sourced or measured. Not affiliated with Baidu, PaddlePaddle or the PaddleOCR maintainers. Official project: https://github.com/PaddlePaddle/PaddleOCR (docs: https://www.paddleocr.ai). Contact: hello@paddleocr.dev. Content reflects PaddleOCR 3.7.0 (PyPI, 2026-06-11); last reviewed 2026-10-27. ## Tools - [Online OCR](https://paddleocr.dev/online): PP-OCRv6 running in the browser via the official PaddleOCR.js SDK; images are not uploaded. - [Install command builder](https://paddleocr.dev/install#builder): exact pip commands per OS, Python, GPU and engine. - [Code generator](https://paddleocr.dev/code-generator): Python, CLI, HTTP client or browser JS for text OCR, PP-StructureV3 and PaddleOCR-VL. - [Error fixer](https://paddleocr.dev/troubleshooting#fixer): paste a traceback, get a verified fix. - [2.x to 3.x converter](https://paddleocr.dev/migration#converter): upgrades old PaddleOCR code. - [Language code finder](https://paddleocr.dev/languages#finder): all 112 `lang` codes and which model each loads. ## Guides - [Quick start and Python API](https://paddleocr.dev/doc): every PaddleOCR() parameter with its effective default, result fields, PDFs, CLI. - [Install](https://paddleocr.dev/install): CPU, NVIDIA GPU, Apple Silicon, Windows, Docker, Colab. - [PP-OCRv6 models](https://paddleocr.dev/models): tiers, sizes, official accuracy and speed. - [PP-StructureV3](https://paddleocr.dev/pp-structurev3): documents to Markdown/JSON with tables and formulas, with real output. - [PaddleOCR-VL](https://paddleocr.dev/paddleocr-vl): versions 1.0–1.6, hardware, serving, OmniDocBench. - [Serving and API](https://paddleocr.dev/api): self-hosted HTTP serving and the hosted PaddleOCR API. - [PaddleOCR.js](https://paddleocr.dev/javascript): browser OCR SDK. - [MCP server](https://paddleocr.dev/mcp): OCR tools for Claude and other AI agents. - [Troubleshooting](https://paddleocr.dev/troubleshooting), [Migration from 2.x](https://paddleocr.dev/migration), [Release history](https://paddleocr.dev/releases). - [CPU benchmark](https://paddleocr.dev/benchmarks), [Comparison with other OCR tools](https://paddleocr.dev/compare), [License and cost](https://paddleocr.dev/license). - Chinese: [首页](https://paddleocr.dev/zh), [在线 OCR](https://paddleocr.dev/zh/online), [安装](https://paddleocr.dev/zh/install), [文档](https://paddleocr.dev/zh/doc), [常见错误](https://paddleocr.dev/zh/troubleshooting), [从 2.x 迁移](https://paddleocr.dev/zh/migration). - Japanese: [ホーム](https://paddleocr.dev/ja), [オンライン OCR](https://paddleocr.dev/ja/online), [インストール](https://paddleocr.dev/ja/install), [ドキュメント](https://paddleocr.dev/ja/doc), [トラブルシューティング](https://paddleocr.dev/ja/troubleshooting), [2.x からの移行](https://paddleocr.dev/ja/migration). - [About and methodology](https://paddleocr.dev/about), [Privacy](https://paddleocr.dev/privacy). ## Key facts (verified 2026-10-27) - Latest release: paddleocr 3.7.0 (2026-06-11), with PaddleX 3.7.x. PP-OCRv6 (tiny 1.5M / small 7.7M / medium 34.5M parameters) is the default text model and reads 50 languages in one model (tiny: 49, no Japanese). - Install (CPU): `pip install paddlepaddle==3.2.0` then `pip install paddleocr==3.7.0`. An unpinned `pip install paddlepaddle` currently installs 3.3.1, which made PaddleOCR 3.7.0 crash on CPU with "ConvertPirAttribute2RuntimeAttribute not support [pir::ArrayAttribute]" in our test. Fixes: pin 3.2.0, pass enable_mkldnn=False (slower), or use engine="onnxruntime". - GPU: PaddlePaddle 3.x GPU wheels exist only on https://www.paddlepaddle.org.cn/packages/stable/cu126/ (or cu118, cu129); `paddlepaddle-gpu` on PyPI stops at 2.6.2. - PaddleOCR 3.7.0 also runs with only `pip install paddleocr onnxruntime` and engine="onnxruntime" (no PaddlePaddle). - 3.x API: `PaddleOCR().predict(path)`, `device="gpu:0"`, `use_textline_orientation`; 2.x `ocr(img, cls=True)`, `use_gpu`, `draw_ocr`, `PPStructure` were removed or renamed. - Our CPU benchmark (4 vCPU Xeon, 124 known text items): PP-OCRv6 medium 123/124 exact, 2.92 s/page (ONNX Runtime); small 121/124, 0.90 s; tiny 111/124, 0.26 s. - PP-StructureV3 in 3.7 defaults to PP-OCRv5_server text models; passing PP-OCRv6_medium det/rec fixed 3 character errors in our test. - Vendor numbers (Baidu) are labelled as vendor-reported on the site; third-party benchmark: OmniDocBench (published by OpenDataLab). ## Usage Quote freely with a link to the source page. Benchmark data and scripts: https://paddleocr.dev/benchmarks (raw files under /assets/data/bench/).