TurboOCR Docs
TurboOCR is a self-hosted GPU document parser — not just OCR. It runs PP-OCRv6 text detection and recognition plus layout, tables (→ HTML), formulas (→ LaTeX) and reading-order Markdown as one C++/CUDA/TensorRT pipeline, exposing HTTP and gRPC from a single binary. POST an image or PDF, get structured JSON back — text, confidence, bounding polygons, and optional layout regions, tables, and formulas. Everything runs locally; no VLM, no API.
On a single RTX 5090 it sustains whole-page OCR at up to 559 img/s on receipts (~520 img/s on forms), and full structured parsing (layout + tables + formulas) at ~20 pages/s — where VLM document parsers like PaddleOCR-VL run ~1 page/s. Linux + any NVIDIA Turing-or-newer GPU, MIT licensed, shipped as a Docker image at ghcr.io/aiptimizer/turboocr.
Highlights
Section titled “Highlights”- Up to 559 img/s on receipts / 520 img/s on forms — fastest by default, on one RTX 5090
- 15–90× faster than classic OCR engines on forms & receipts — FUNSD 92% / CORD 93% word-F1 on the
mediumtier (English/Latin-script; default tier istinyfor max throughput) - Full document parsing — 0.90 Overall on a 125-doc OmniDocBench subset at ~20 pages/s, fully local (PaddleOCR-VL scores 0.95 on the same subset at ~1 pg/s)
- PP-OCRv6 — one model covers Latin + Chinese + Japanese; pick
tiny(default) /small/mediumviaOCR_MODEL. More scripts (Arabic, Cyrillic, Korean, Thai, Greek) via retained PP-OCRv5 recognizers - Tables → HTML — SLANet-Plus structure model, opt-in with
TABLE_BACKEND=slanext+?tables=1 - Formulas → LaTeX — in-process pure-C++ PP-FormulaNet-S, opt-in with
FORMULA_BACKEND=ppformulanet_s+?formulas=1 - Layout + reading order — PP-DocLayoutV3 (RT-DETR-L, 25 region classes), on by default, run per request via
?layout=1 - Markdown export —
POST /ocr/markdownturns a page into faithful Markdown (tables + formulas inline) - PDF native — pages rendered by a PDFium worker pool and fed into the same GPU pipeline, with optional page-image export & auto-rotation
- HTTP + gRPC from one binary, sharing the same GPU pipeline pool;
GET /capabilitiesreports which stages are loaded - One-line Docker deploy — TensorRT engines build on first start, then cache in a named volume
- Prometheus metrics on
/metrics— request counters, latency histograms, VRAM usage - MIT licensed, source on GitHub