· Updated · pdfToMarkdown team

PaddleOCR vs Tesseract for PDF OCR

ocrpaddleocrtesseractvlmtechnical
Try the API without signing up:npx pdftomarkdown your.pdfconverts page 1 of any PDF, key-free.Docs →

Historical implementation and research note. pdfToMarkdown previously used PaddleOCR. Mistral OCR 4.1 is the current processor; this article does not attribute the older benchmark scores to it.

What the retained benchmark measures

The July 2026 CJK benchmark records the earlier PaddleOCR processor and Tesseract 5.5.1 on three simulated scans. It retains input references, character-error measurements and table excerpts. The benchmark’s model version is part of that evidence; the later PaddleOCR-VL-1.6 model must not be substituted into those results.

Those observations apply to the recorded documents and settings. They do not establish universal superiority, current Mistral accuracy or end-to-end performance for a separate library that uses Tesseract.

Different processing choices

Tesseract offers local text recognition and uses trained language data selected for the task. Its output options and language configuration are documented in the official command-line guide, checked 10 September 2026.

The historical PaddleOCR provider guide records the earlier hosted integration and links the model sources. Keep that architecture history separate from the current API contract.

Current output contract

Simple rectangular tables become escaped GFM pipe tables. Complex tables with spans or nested content remain sanitized HTML inside Markdown. Inspect the current dated invoice capture and test representative pages before adopting either processing approach.

Convert a document

Use the tested Python, JavaScript or curl workflow. Choose one input: a public PDF URL, Base64 bytes, or a raw PDF upload. Raw uploads avoid Base64 expansion; all three send the document to an external processor.

The public demo converts page 1 with a watermark, at 3 requests per minute per IP. New accounts receive 20 trial pages once. Further account conversions use paid credits: monthly pages expire, top-ups do not. The API reference owns authentication, limits, replay and retention.