Search DevTools

Jump to any tool or page

Image to JSON Extractor

Extract text from an image and convert it to JSON. Upload an image, choose how the text should be structured, then extract.

Image

Choose an image to preview it here.

JSON

Extract an image and the JSON appears here.

Data Transformation

About Image to JSON

Upload a screenshot, receipt, table, or form and get back structured JSON rather than a wall of transcribed text. Extraction runs server-side through a vision model, which means the output is a probabilistic reading of pixels, not a lossless decode — a model that cannot see a value will sometimes invent a plausible one instead of leaving the field empty.

Frequently asked questions

Why do numbers in scanned tables come back subtly wrong?
Vision models tokenise digits the same way they tokenise words, so long numeric strings are the most fragile part of any extraction. A blurred thousands separator, a comma read as a full stop, or a column whose cells drift out of alignment will all produce a confident but wrong figure. Anything financial should be checked against a control total: sum the extracted line items and compare with the printed total. If they disagree, re-upload at higher resolution rather than patching individual cells.
How should I structure a prompt or schema for consistent keys?
Without an explicit shape, the model chooses its own key names and they will drift between runs — invoice_number on one upload, invoiceNo on the next. Describe the exact object you want, name every field, and state what a missing value should be. Requesting null for absent fields is far better than leaving it open, because the alternative is the model omitting the key entirely and breaking downstream code that assumes it exists. Flat structures round-trip more reliably than deeply nested ones.
What image characteristics actually improve extraction accuracy?
Resolution matters less than legibility. Roughly 300 DPI for printed documents is plenty; beyond that you are paying for tokens without gaining detail. What genuinely helps is deskewing rotated scans, cropping away irrelevant page furniture, and avoiding heavy JPEG compression, whose ringing artefacts around glyph edges confuse character shapes. Photographs taken at an angle suffer from perspective distortion that misaligns table columns, so a flat, evenly lit capture beats a high-megapixel skewed one every time.
Can it handle multi-column layouts and merged table cells?
Multi-column text is read in visual reading order, which usually works but breaks when columns are narrow or separated only by whitespace rather than a rule — the model may interleave lines from adjacent columns. Merged cells are harder still: a header spanning three columns has no unambiguous JSON representation, so the model must guess whether to repeat the value or nest it. For complex tables, extract one logical region per upload instead of asking for the whole page at once.
What should I know before uploading documents with personal data?
Extraction happens on the server, so the image leaves your machine. Identity documents, medical records, and payslips should be redacted before upload, or processed through a pipeline you control. There is also a subtler risk: text embedded in an image can carry instructions aimed at the model, so an uploaded screenshot containing something like "ignore previous instructions" is a genuine prompt-injection vector. Never feed extracted JSON straight into a privileged action without validating it first.