Loading demo…
Loading demo…
Extract printed and handwritten text from any image or document with sub-second latency. Bounding-box output, multi-language recognition, and structured table extraction — all in a single API call.
Text extraction is only as good as the documents you throw at it, so we are testing against real customer document sets rather than a public sample uploader. Early access includes API keys and help tuning for your layouts.
We run early access as a design-partner programme — you get API keys and we get feedback from a real integration before general release.
Reading characters is the part everyone thinks about and the part that fails least often. Most OCR disappointment comes from geometry and layout — a skewed page or a table flattened into a paragraph.
Skew, rotation, and perspective from a handheld photo are corrected first. Almost every downstream error traces back to geometry that was never fixed at this stage.
The model finds where text sits on the page — lines, blocks, table cells, form fields — before trying to read any of it, which is what makes layout recovery possible later.
Each region is transcribed, with language detected automatically rather than declared up front, so mixed-script documents work in a single pass.
Recognised text is put back into reading order with tables preserved as rows and columns and label-value layouts emitted as key-value pairs.
One call returns four views of the same page. Which one you use depends on whether you need the words, their positions, or their relationships.
| Output | Shape | What it is for |
|---|---|---|
| Raw text | string | Full-text search and indexing, where position does not matter. |
| Text blocks with boxes | [{ text, bbox, confidence }] | Redaction, highlighting, and mapping text back onto the rendered page. |
| Key-value pairs | [{ key, value }] | Forms and label-value layouts — invoice number, date, account holder. |
| Tables | [[cell, …], …] | Line items, statements, and anything that loses its meaning as flat text. |
If what you actually want is labelled fields — invoice total, due date, account holder — rather than positioned text, that is Document AI, which sits on top of this layer.
Turn scanned archives into searchable text so records stop being images nobody can query.
Pull line items and totals out of supplier documents that arrive as PDFs and phone photos.
Read completed paper forms, including handwritten fields, without manual transcription.
Make historical document sets searchable so retention and disclosure requests do not mean reading every page.
Related: Document AI, document classification, and everything that is live today.
Talk to our engineering team about your use case. We'll get you up and running in under a day.
SOC 2 Type II · GDPR Ready · ISO 27001