Slipsheet · Content Back to ledger
Home / Best Tesseract Alternative for Receipts? We Tested RapidOCR
Best Tesseract Alternative for Receipts? We Tested RapidOCR

Best Tesseract Alternative for Receipts? We Tested RapidOCR

If you want a free engine that runs on your own computer, RapidOCR beat Tesseract on clean receipts in our test: 15 of 20 fully right against 11, and about 3 times faster. But on phone snap photos both engines got 0 of 20 right, and RapidOCR's misses came back as wrong numbers, not blanks. Swapping engines fixes clean scans. It does not turn a camera roll into a ledger.

We first measured Tesseract on 20 synthetic receipts under six capture conditions. Then we ran an actual alternative, RapidOCR, on the same images with the same parser, so the question "what is the best Tesseract alternative" has numbers behind it. Here is what each engine got right, what broke, and what you still have to build after the OCR finishes.

What we ran

The same 20 synthetic Q2 2026 receipts used in our OCR text is not a ledger write up: SaaS invoices, restaurants, rideshare, office supplies and hardware. Each image went through the same six capture conditions and the same simple regex parser for vendor, date, total and tax. A receipt counted as fully right only when all four fields matched the ground truth (vendor exact after normalizing, date exact, total and tax within $0.01). The ground truth sum of totals was $2,034.43.

Caveats, stated plainly: these are synthetic receipts with simulated capture damage, not crumpled real thermal paper. There are 20 receipts per condition, one simple parser for both engines, default models and no tuning. A better parser would score higher. It cannot recover text the engine never read. We did not test EasyOCR, full PaddleOCR, cloud receipt APIs or Slipsheet in this run, so there are no accuracy claims here about any of them.

The same Blue Bottle receipt shown five ways: clean render, 4 degree tilt, chat app JPEG, slight blur, and dim low contrast with noise
One receipt, five capture conditions. Phone photos stack several of these at once.

Results: Tesseract against RapidOCR

Our test on 20 synthetic receipts: receipts fully right (vendor, date, total and tax all correct), Tesseract 5.5.0 against RapidOCR 1.2.3, same images, same parser.
ConditionTesseract 5.5.0RapidOCR 1.2.3Totals right: TesseractTotals right: RapidOCRSum error: TesseractSum error: RapidOCR
Clean render11/2015/2020/2020/20$0.00$0.00
Tilted 4 degrees7/200/2017/2020/20$85.44$0.00
Slight blur (radius 1.5)0/206/2019/2020/20$2,001.21$0.00
Dim, low contrast, noise0/202/200/2020/20$1,980.68$0.00
Chat app JPEG (half size, quality 25)0/200/2018/2013/20$701.20$3,582.97
Phone snap (tilt, blur, shading, JPEG)0/200/200/208/20$1,558.68$7,604.65

On clean receipts the two engines failed in different places. Tesseract read vendor 19/20, date 20/20, total 20/20 but tax only 12/20. RapidOCR read tax 20/20, date and total 20/20, but vendor only 15/20, because it often drops the spaces between words: Blue Bottle Coffee came back as "BLUEBOTTLECOFFEE".

Speed for 20 receipts on our CPU: RapidOCR took 3.7 to 6.2 seconds per condition, Tesseract (with the 2x upscale) 8.3 to 20.9 seconds. On clean receipts that is 6.2 seconds against 20.5, about 3 times faster here.

Tilt is where RapidOCR lost. It got every total (20/20) but no tax (0/20). When the text lines slope, our simple line joining merges neighboring lines and the tax amount lands on the wrong line. That is partly our parser, not only the engine, and a smarter layout step would likely recover some of it.

RapidOCR 1.2.3 field detail on the same 20 synthetic receipts (October 26 run).
ConditionVendorDateTotalTaxReadyTotals not foundSeconds for 20
Clean render15/2020/2020/2020/2015/2006.2
Tilted 4 degrees15/2017/2020/200/200/2004.5
Slight blur (radius 1.5)15/206/2020/2020/206/2003.7
Dim, low contrast, noise15/2017/2020/205/202/2004.8
Chat app JPEG (half size, quality 25)14/200/2013/200/200/2004.8
Phone snap (tilt, blur, shading, JPEG)14/200/208/200/200/2015.2

Phone snaps: a blank you notice, a wrong number you don't

Under the phone snap combo, both engines got 0 of 20 receipts fully right, but they failed in opposite ways. Tesseract found no total at all on 17 of 20 receipts, so the sum of totals was off by $1,558.68. RapidOCR returned a total for 19 of 20, but only 8 were right and it got 0 of 20 dates. The sum of totals was off by $7,604.65.

A blank total is annoying, but you see it. A plausible wrong total goes straight into your sum. Here is what RapidOCR returned for one receipt:

Our test: RapidOCR output for receipt 04 (Blue Bottle Coffee) under phone snap conditions, with the line joining we used. The true total is $18.47 and the true tax is $1.52.
BLUEBOTTLECOFFEE
55:50
ewCrieatistcedCoffee $475
Cortada $4.85
AimondCmpissant $0.85
OatMiROpgriade
SUSTOTAL
TAX $18.47
TOTAL
DANEYOM

The total, $18.47, ended up on the TAX line, and the TOTAL line has no number. Our parser reads that receipt as $18.47 of tax. Nothing in the output says anything went wrong.

The chat app JPEG showed the same pattern. RapidOCR got 13/20 totals and 0/20 dates, with the sum off by $3,582.97. Tesseract got 18/20 totals and 1/20 date, with the sum off by $701.20.

Tesseract in detail

Tesseract 5.5.0 field detail on the same 20 synthetic receipts (October 6 run). Ready = vendor, date, total and tax all correct.
ConditionVendorDateTotalTaxReadyTotals not foundSum error vs $2,034.43Mean word confidence
Clean render19/2020/2020/2012/2011/200$0.0094.2
Tilted 4 degrees17/2012/2017/2015/207/203$85.4491.5
Slight blur (radius 1.5)13/203/2019/201/200/200$2,001.2161.0
Dim, low contrast, noise1/201/200/200/200/2018$1,980.6866.2
Chat app JPEG (half size, quality 25)16/201/2018/200/200/200$701.2041.8
Phone snap (tilt, blur, shading, JPEG)15/202/200/200/200/2017$1,558.6849.3
Bar chart comparing correct totals versus fully right rows for each of the six Tesseract capture conditions
Tesseract: correct totals can stay high while fully right rows collapse. Totals alone are not a ledger.

Slight blur is the clearest Tesseract trap. Totals looked fine at 19/20, but the Uber receipt's true total of $24.83 came back as 2026.04: the date fragment 2026-04 became the amount. That one wrong row pushed the column sum off by $2,001.21 against the $2,034.43 ground truth. "Mostly right" totals are not a ledger.

Tilt tells a different story. Mean Tesseract word confidence stayed at 91.5 (against 94.2 on clean), while fully right rows fell from 11 to 7 and eight dates went wrong. The engine looked sure and was wrong, and nothing flagged it.

The chat app JPEG turned Tartine's $32.60 into 812.90 and Figma's $180.00 into 100.90. Under the phone snap combo, 17 of 20 receipts produced no total at all.

Does the standard preprocess fix help Tesseract?

We tried autocontrast plus Otsu binarization on the four hard conditions. It made things worse or no better. Blur stayed at 0/20 fully right while correct totals fell from 19 to 5 and the sum error jumped to $22,906.13. The chat app JPEG stayed at 0/20 (totals fell from 18 to 12). Dim and phone snap each still missed 19 of 20 totals, with 0 fully right rows. Preprocessing cannot invent characters the OCR engine never saw.

Other alternatives we did not test

If you are shopping for an engine, EasyOCR and the full PaddleOCR toolkit are other free options you can run yourself. Cloud receipt APIs such as AWS Textract AnalyzeExpense, Google Document AI and the Azure receipt model return fields, not just text. We have no numbers for any of them in this test, so check each vendor's own documentation and try them on your own receipts.

OCR engine or receipt tool?

Any OCR engine's job ends at text. To get a ledger, something still has to:

None of that is free work. Keep Tesseract or RapidOCR when your inputs are clean scans or born digital PDFs, when you mainly want searchable text, and when you have time to own the parser and the review step. Do not make either one your only receipt path when the inbox is phone photos, chat app forwards and faded thermal slips, the conditions that scored 0 fully right rows here. Our OCR receipt scanner overview covers that gap, and for capture tips before any OCR runs, see how to digitize receipts with your camera.

If you need one row per receipt

Slipsheet is a receipt tool that gives you rows, not text. Upload receipt images or PDFs (JPG, PNG, HEIC or PDF), or forward them by email on a paid plan, and each receipt becomes one row. You export one CSV, slipsheet-YYYYMMDD.csv, with 9 columns: date, merchant, total_amount, currency, tax_amount, category, client_tag, notes and file_name. On Pro, rows can also sync to Google Sheets, and QuickBooks or Xero take the CSV as an import. We did not measure Slipsheet in this test, so check the rows against your receipts, as you would with any tool. There is a 14-day free trial with no card. For a side by side, see OCR receipt scanner vs Slipsheet.

FAQ

What is the best free alternative to Tesseract for receipts?

In our test it was RapidOCR 1.2.3, an open source ONNX port of PaddleOCR's models. On 20 clean synthetic receipts it got 15 fully right against 11 for Tesseract 5.5, and it ran about 3 times faster. We did not test EasyOCR, full PaddleOCR or cloud receipt APIs.

Is RapidOCR better than Tesseract?

On clean, blurred and dim receipts in our test, yes. On a 4 degree tilt Tesseract did better, 7 of 20 against 0, partly because of our simple line joining. On phone snap photos both got 0 of 20 receipts fully right, so neither engine is enough on its own for camera photos.

Why does OCR fail on phone photos of receipts?

Phone photos stack tilt, blur, shading and compression at once, and every one of those costs characters. In our phone snap test Tesseract found no total on 17 of 20 receipts. RapidOCR returned a total for 19 of 20, but only 8 were right, which put the sum of totals off by $7,604.65.

Is OCR text the same as an expense ledger?

No. OCR gives you lines of text. A ledger needs one checked row per receipt with the vendor, date, total and tax in the right columns. Something still has to tell the total from the subtotal, fix dates, and catch the rows that came back wrong before they reach your books.

Ready to stop typing receipts?

Open your ledger.

14-day trial. No card. Cancel anytime. Your receipts write themselves while you do literally anything else.