Turn Receipts into a Spreadsheet

PDF receipts straight in, photographed till receipts through OCR that runs on your device. Items as rows, the total block kept separate, and nothing uploaded anywhere.

Quick answer:

A PDF receipt goes straight into the PDF table extractor — press Extract tables. A photograph or screenshot needs one step first: turn it into a PDF with image to PDF, then extract with Read scanned pages (OCR) ticked. Use ✂ Choose table to take the item list on its own, since subtotal, tax and total are a separate block. Both steps run in your browser, so the receipts never leave your device.

Can I convert a photo of a receipt?
Yes, in two steps: convert it with image to PDF, then extract with Read scanned pages (OCR) ticked. Both run on your device.
Why did my receipt get numbered columns?
Because it probably has no header row. A receipt's date-and-time line looks structurally identical to column headings, so it is refused — a column name is never a date or a clock time.
Why don't the items sum to the total?
Usually the receipt's own rounding — cash rounding, a tip after the subtotal, or tax calculated on the whole basket and rounded once. A few pence is rounding; a difference matching one line is a missing row.
Can it read faded thermal print?
Sometimes, and less well than fresh print. The columns survive conditions that wreck individual characters, so expect the structure and check the figures. Photograph flat, in daylight, and early.
Are my receipts uploaded?
No, at either step. Keep the original images anyway — most expense policies require them, and the spreadsheet is a working copy.
🧾 Open the PDF table extractor

Runs in your browser. No app, no account, no upload.

Start with the format your receipt is actually in

Worth saying before anything else, because it is where most of the wasted time goes. The extractor reads PDFs. Receipts arrive in three shapes and only one of them is ready:

If all you want is the text rather than a table, image to text reads a photograph directly.

A till receipt is a hard document, and it is worth knowing why

Not because of the format — because of how it is printed and what it contains. Four things make receipts distinctively awkward, and all four have a practical answer:

1. Thermal print fades and smears

Thermal paper is the reason receipts look worse than any other document you will scan. Photograph them early, in daylight, flat, with the phone parallel to the paper rather than leaning over it. Measured on a five-column financial table rendered at falling quality, the columns survived everything we threw at them — 5 of 5 still recovered at 56 dpi with heavy grain — while cells exactly right fell from 100% at 150 dpi to 85% at 56 dpi. Structure is robust; characters are not.

Skew matters too: at 1.5° of rotation the columns still came back but cell accuracy fell to 91%. Straightening the photograph before you convert is the cheapest accuracy you will ever buy.

2. The date and time line looks exactly like a header row

A receipt prints something like 14/04/2026 16:42 · Till 3 · Served by Amy across the top, which is several values separated by wide gaps — structurally indistinguishable from a row of column headings. Left alone, that line becomes your field names, which is both useless and hard to notice afterwards.

It is refused explicitly: a column name is never a date or a clock time. That one rule is why a receipt's header block stays a header block. It also means a receipt very often has no header row at all, in which case the columns are numbered and the page says so rather than promoting a data row into the names.

3. Item names run onto a second line

Long product names wrap, and a wrapped line has one cell where its neighbours have three. Rows like that are kept — dropping short rows would lose real data — and they are also kept out of the vote that decides where the columns sit, so one wrapped name cannot drag the price column sideways for the whole receipt.

4. The total block is a different table

Subtotal, tax, service, rounding and total sit under the items with their own two-column shape. Take the items with ✂ Choose table if you want a clean list, or take the whole receipt if you want the totals in the sheet too — just do not expect them to line up with the item columns, because on the paper they do not.

Why the balance check stays quiet on a receipt

A receipt has no running balance, so there is nothing for the reconciliation to follow: it needs a balance column and at least three balances. It declines and names what is missing rather than producing a verdict from a subtotal it has had to guess at. Every receipt in our test set declined, and across 13 non-statement documents there were 0 false alarms.

What does stay switched on is the narrower check: a cell that cannot be what its column is. A zero read as the letter O gives 12O0.00 in a money column, which is exactly the failure a photographed receipt produces. On deliberately corrupted figures it flagged 6 of 6 with no false alarms, and raised nothing at all on 6 correctly extracted typed pages.

No confidence shading, and that is a measurement rather than an omission. The recognition engine reports a confidence per word, but on our scans the words it read wrongly averaged 84 and the words it read correctly averaged 89 — too close to separate. A threshold at 70 catches 25 real mistakes while flagging 12 good words. A highlight that misses most of the errors is worse than none, because you would trust it.

Turning receipts into an expense claim

The table you extract is what the receipt says. An expense claim needs a few things the receipt never printed, and adding them as columns while you go is what makes the sheet usable later:

ColumnComes fromWhy bother
DateThe receiptConvert it to a real date, or sorting a month of claims does nothing useful.
MerchantThe receipt's letterheadRarely inside the item table — copy it across the rows of that receipt.
Gross, tax, netThe total blockKeep all three. A finance team asked for the tax after the fact cannot recover it from the gross alone.
CategoryYouNothing here categorises spending. One column typed as you go beats reconstructing it in March.
Claimant, project, cost centreYouConstant per receipt, so fill it down once per block.
File name of the imageYouThe one that makes an audit survivable: it links each row back to the picture of the paper.

Currency is worth a column of its own if you travel. The extraction strips the symbol and formats the cell as money, so €12.40 becomes 12.40 — correct, and indistinguishable from pounds once it is in the sheet.

Rounding, tips and why your total may differ by a penny

Receipts do arithmetic that spreadsheets do not. Cash rounding to the nearest five cents, a tip added after the subtotal, a multi-buy discount applied to a group of lines, a tax figure calculated on the whole basket rather than per line and then rounded once — each of these means the items can sum to a penny or two away from the printed total, and the receipt is right.

So when your SUM of the item lines misses the printed total by a very small amount, suspect the receipt's own rounding before you suspect the extraction. A difference of a few pence is almost always rounding; a difference that matches one line's value is a missing or doubled line; a difference in the tens or hundreds is usually a misread digit, which is where the ⚠ marks and a second look at the figures pay off.

A month of receipts, without uploading any of them

  1. Photograph as you go. Flat, in daylight, and immediately — thermal print keeps fading.
  2. Batch them into PDFs. Image to PDF takes several photographs onto one page, which is faster than converting one at a time and keeps a week's receipts together.
  3. Extract with OCR ticked, then step through every page in the preview. Double-click any cell to correct it before you download — correcting it here, with the picture still in front of you, is far easier than in a spreadsheet a week later.
  4. Paste each block into one workbook and fill down your own columns from the table above.
  5. Keep the images. Most expense policies require the original, and the spreadsheet is a working copy rather than a replacement.

None of this involves an account, an app, a subscription or a server. The receipts stay on your device from photograph to spreadsheet.

Where to go next

Frequently Asked Questions

If the receipt is a PDF, drop it into the PDF table extractor and press Extract tables. If it is a photograph or a screenshot, convert it to a PDF first with image to PDF — also in your browser — then extract with Read scanned pages ticked. Both steps happen on your device; the receipt is never uploaded.
Yes, in two steps: image to PDF, then extract with OCR ticked. You can put several photographs onto one page in the first step, which is a practical way to do a week of receipts at once. If you only want the text rather than a table, image to text reads a photograph directly.
Thermal paper. It fades, smears and reflects, and it is usually photographed at an angle rather than scanned flat. Measured on a five-column financial table at falling quality, the columns survived everything — still 5 of 5 at 56 dpi with heavy grain — while cells exactly right fell from 100% at 150 dpi to 85%. At 1.5 degrees of skew accuracy fell to 91%. Photograph flat, in daylight, and early.
Because it probably has no header row. A receipt prints a date and time line such as 14/04/2026 16:42, Till 3, Served by Amy across the top, which looks structurally identical to a row of column headings — so the rule that a column name is never a date or a clock time refuses it. The columns are numbered instead and the page tells you, which is safer than promoting a data row into the field names.
No — on the paper they do not line up either. Subtotal, tax, service and total are a separate two-column block under the items. Use Choose table to take just the item list if you want a clean list of purchases, or take the whole receipt if you want the totals in the sheet as well.
Almost certainly the receipt's own rounding rather than the extraction. Cash rounding, a tip added after the subtotal, a multi-buy discount spread over several lines, or tax calculated on the whole basket and rounded once all produce a total that differs slightly from the sum of the lines. A difference of a few pence is rounding; a difference matching one line is a missing or doubled row; a large difference is usually a misread digit.
No, and it says so rather than guessing. The reconciliation check needs a running balance and at least three balances to follow, which a receipt does not have, so it declines and names what is missing. Across 13 non-statement documents in our test set there were 0 false alarms. The narrower check stays on: a cell that cannot be what its column is, such as 12O0.00 with a letter O in a money column, is marked for you.
Because we measured it and it does not separate. The recognition engine reports a confidence per word, but the words it read wrongly averaged 84 and the words it read correctly averaged 89. A threshold at 70 catches 25 real mistakes while flagging 12 good words. A highlight that misses most of the errors is worse than none, because you would come to trust it.
No. You get the receipt as a table; categories, claimants, projects and cost centres are columns you add yourself, and typing them as you go is much less work than reconstructing them later. Keep the original images too — most expense policies require them, and the spreadsheet is a working copy rather than a replacement.
Yes — set Format to CSV once the receipt is extracted. A claim usually needs columns the receipt never printed: category, claimant, project and the file name of the image. Add those yourself and fill them down each receipt's block; typing them as you go is far less work than reconstructing them at the end of the quarter.
The figures extract correctly, but the currency symbol does not survive as data — it is stripped from the value and the cell is formatted as money, so €12.40 becomes 12.40 and is indistinguishable from pounds once it is in the sheet. If you travel, add a currency column of your own per receipt. Nothing here converts between currencies.
You can extract them this way, and the whole thing runs on the device. Keep the original images regardless: most expense and tax policies require the original receipt rather than a transcription of it, so treat the spreadsheet as a working copy. Photograph them early — thermal print keeps fading, and a receipt that is hard to read in June was easy in March.
Sometimes, and less well than a fresh one. Thermal print fades, smears and reflects, which is why receipts are the hardest common document here. The pattern holds though: the columns survive conditions that wreck individual characters, so expect to get the structure and to check the figures. Photograph flat, in daylight, and straight on — that buys more accuracy than any setting.
Yes, and they are worth knowing about because the arithmetic often will not tie. A service charge added after the subtotal, cash rounding, a tip, or tax calculated on the whole bill and rounded once all make the items sum to slightly less or more than the printed total — and the bill is right. A difference of a few pence is rounding; a difference matching one line is a missing or doubled row.

Related Tools