Every word,
and exactly
where it sat.
Most OCR hands you a wall of text and drops the geometry on the floor. Recto returns each word with its bounding box and a confidence score — so you can highlight it, redact it, or check it before you trust it.
- ENGINES
- tesseract 5 · pdf text layer · local vision model
- LATENCY
- ~10 ms a text PDF · ~90 ms OCR
- RETURNS
- text · markdown · word boxes · confidence
- ACCEPTS
- pdf · png · jpeg · heic · tiff · webp
- FREE TIER
- 500 pages / month, no card
Live engine. Drop a PDF and it reads the text layer where there is one; hover any word to see its box.
Geometry, per word
x, y, w, h
in source pixels, plus the block and line each word belongs to. Enough to
reconstruct layout, draw a highlight, or blank out an account number.
Confidence you can act on
Every word carries a score. Route anything under your threshold to a human instead of discovering the mistake three systems downstream.
Three engines, one shape
Change engine= and the response keeps the same shape.
auto reads a PDF's own text layer where it has one and
OCRs only the rest; precise gives layout-aware Markdown
for the pages that defeat classical OCR.
| fast | auto | precise | |
|---|---|---|---|
| Built on | Tesseract 5 | The PDF's own text layer | Local vision model |
| Typical latency | ~90 ms | ~10 ms | 2–20 s |
| Word boxes | Yes — every word | Per text run, not per word | No geometry |
| Output | Plain text + coordinates | Exact text + coordinates | Markdown with headings, lists, tables |
| Good at | Clean scans, screenshots, receipts, forms | PDFs that already contain their text | Handwriting, skewed photos, dense tables, multi-column |
| Available on | Every plan | Every plan | Pro and above |
POST an image.
Get JSON back.
No SDK to install, no job queue to poll, no webhook to wire up. One synchronous request, one response.
Full API reference
Unused pages do not roll over. Failed recognitions are never billed.