Grocery receipt scanner

Upload a photo of a grocery receipt. Get every line back as a table you can download.

Product, quantity, price paid, store, date. No account, no email, nothing to install.

Drop a receipt photo here, or

JPEG, PNG or PDF. One receipt at a time. No account.

What comes back

A table, one row per line on the receipt:

FieldWhat it holds
ProductThe description as printed
QuantityOnly when the receipt printed one
Line totalWhat you were charged for that line
Unit priceLine total ÷ quantity, when both are known
DiscountThe saving printed on the line, kept separate
StoreThe retailer the receipt is from
DateThe transaction date

Download it as CSV. It opens in Excel, Numbers, Google Sheets, or anything else.

Two things you’ll notice, and they’re deliberate:

  • Blanks stay blank. Most receipts don’t print a quantity when you buy one of something. We leave that field empty rather than filling in a 1. It’s usually right and it isn’t proven, and a number you can’t check is worse than a gap you can see.

  • Discounts aren’t subtracted. If a line shows a saving, the line total is still what you paid. The saving sits in its own column. Subtracting one from the other is the most common way a receipt gets misread.

How well it works

Plainly, because you’re about to test it yourself and will find out anyway.

  • Structured supermarket receipts read well. Standard till roll from a chain supermarket — the lines come out reliably.

  • Handwriting, market stalls and faded thermal paper read badly. If the print is gone, nothing recovers it.

  • Long receipts are fine. A 50-line shop is the normal case, not the hard one.

If a line comes back wrong, that’s the tool being honest about a bad read rather than guessing. You’ll see which line and can fix it in the CSV.

What happens to your receipt

Plainly, because this is the part that matters.

  • The image goes to one external service, to read the text off the picture. That’s the only place the photo itself goes outside our own systems.

  • The text then goes to a second service, to work out which lines are products, quantities and prices. It never sees the image.

  • We don’t create an account for you. There’s nothing to sign into and nothing linked to your name.

  • The image isn’t kept. The parse happens, you get the table, and the photo is discarded — along with what the reader made of it.

  • Nothing is sold or shared. Not to advertisers, not to retailers, not to anyone.

If your receipt has a QR code, it can carry details of the transaction, and it stays readable even if you cross out the printed version. Cover it before you photograph if that matters to you. Removing it for you, on your own device, is being built.

One receipt tells you very little

The tool above gives you one shopping trip, structured. That’s useful for taxes, splitting a bill, or getting a receipt into a spreadsheet without typing it.

It doesn’t tell you whether you paid a good price, because a single receipt can’t. A price only means something against the other times you bought the same thing. Is this a good price? You can’t know from one receipt, and neither can we.

What a full record makes possible →

That’s what the rest of what we do is for: the same scan, applied to every receipt, building a price history per product that accumulates. One receipt is a snapshot. Thirty receipts of the same store over a year is a record.

The tool on this page is that, run once, for free, so you can see what the output looks like before deciding whether the accumulating version is worth anything to you.

Common questions

Do I need an account?

No. Upload, get the table, download the CSV, close the tab.

What image formats work?

Photos from a phone as JPEG or PNG, and PDFs. An iPhone photo saved as HEIC is refused, and the message tells you the two ways to send it as a JPEG instead. A straight-on shot in decent light reads better than a crumpled angle, but it does not need to be perfect.

Can I scan several receipts at once?

Not here — this is one at a time. Batch upload is part of the full product.

Why is the quantity column empty on most lines?

Because most receipts do not print one when you buy a single item. We leave it empty rather than assume. If the receipt does print a quantity — usually as a continuation line when you buy more than one — it will be there.

Does it work with non-grocery receipts?

It will try. It is tuned for supermarket till rolls, so a restaurant bill or a hardware store receipt will read less reliably.

Is there a limit?

Yes — reading a receipt costs us money, so there's a cap per visitor and a daily ceiling overall. If you hit either, the tool tells you.

What about receipts in other languages?

English works best. Other languages parse, with more errors.