Read a receipt into structured data instead of a wall of text.
This file is sent to a server so a vision model can read it, then discarded. Nothing is stored and nothing is used to train a model. If that is wrong for a particular receipt, don't use this one.
One or a pile — up to 20 at once. JPG, PNG, WebP, HEIC, AVIF and PDF up to 8MB each; larger images are scaled down on your device before anything is sent.
or
Reading the receipt…
This tool sends your receipt to a server so a model can read it. It is held in memory for the second or two that takes, never written to disk, and never kept afterwards. No receipt sent here is used to train a model. Everything after the reading — the editing, the checks and the export — happens on your device.
Reads a photo, screenshot or PDF of a receipt and returns named fields rather than a block of text: the merchant, the date, the currency, the payment method, each purchased line with its quantity and price, and the printed subtotal, tax and total. Download it as JSON, or as a CSV if a spreadsheet is where it is going.
This is not the OCR most tools mean. Ordinary OCR reads glyphs in reading order and hands back a transcript, which on a receipt puts the price three lines away from the thing it belongs to and loses the column structure entirely — leaving you to write the parser. Here the structure is the output. If a flat transcript really is what you want, Image to Text does that and does not cost you a field it guessed.
Nothing is inferred and nothing is calculated. A field that is not legible comes back empty rather than filled in with something plausible, and the printed figures are copied across exactly as printed even when they do not reconcile — a receipt that does not add up is a real receipt, and rewriting a number to make the sums work would hide the only interesting thing on it. Whether it adds up is checked separately, in your browser, and shown as a note rather than as a correction.
Receipt layouts have nothing in common between two shops, so a parser is per-shop work. Drop up to twenty at once and the output shape is the same whatever the layouts were — which is the part a parser costs you.
JSON with predictable keys goes into a script, an accounting import or a spreadsheet formula without anybody writing a regular expression against a transcript.
Run a receipt your own pipeline handles badly and compare. Fields it leaves blank are fields it could not read, which is more useful than a transcript that looks complete.
The date comes back as YYYY-MM-DD whichever way round it was printed, the currency as its three-letter code, and the amounts as plain numbers whether the receipt used a comma or a point for the decimal.
Drop a photo, screenshot or PDF, or choose one from your device. JPG, PNG, WebP, HEIC, AVIF and PDF up to 8MB. Images are scaled down on your device before anything is sent.
Every field is on the page and every one is editable. Anything the receipt disagrees with itself about — lines that do not sum to the subtotal, a total that does not follow — is marked with the figure that was expected.
Thermal print on a creased slip is the hardest text there is. Fix a field and the checks re-run as you type, with no second request and no second scan spent.
Built from the fields on screen, so your corrections are in it. CSV is there too if the destination is a spreadsheet.
Ordinary OCR returns the words in reading order. That loses which price belongs to which line, which of three numbers is the total, and where the date is — so you get a transcript and still have the parsing left to do. This returns the fields.
An object with `source_file`, `merchant`, `transaction`, `kind`, `items` and `totals` — or an array of those when you read several at once. Amounts are plain decimal numbers, dates are YYYY-MM-DD, and a field the receipt did not carry is an empty string or null — never a zero standing in for a blank, because a receipt with no tip line and a receipt with a tip of zero are different facts.
Not a public one. This is a free tool with no account behind it, and an endpoint anyone could call in a loop is not something we can leave open. If you need this at volume, SlipSheet is where that lives.
It will try, and accuracy depends entirely on the handwriting. Printed and thermal receipts are what it is good at. Whatever it reads, every field is editable before you export.
No. The printed figures are copied across as printed. The arithmetic is checked in your browser and any disagreement is shown as a note naming both numbers, so you can see what the receipt actually says and decide which one is the misreading.
No. It is sent to a server so a model can read it, held in memory for the second or two that takes, and discarded. Nothing is written to disk and no receipt sent here is used to train a model.