Skip to main content

image guide

How to OCR a receipt for free without uploading the image

Turn a receipt photo into editable text with a private browser OCR workflow, then clean totals, taxes, dates, and merchant details for spreadsheets or expense reports.

Updated 2026-05-26 9 min read Privacy-first workflow

Why receipt OCR is different from normal image OCR

A receipt looks simple, but OCR has to read small thermal-print text, store names, dates, item rows, tax lines, totals, tips, discounts, and sometimes a payment card fragment. The paper may be curled, crumpled, glossy, faded, or photographed at an angle. A good workflow starts before the OCR step: capture a clean image, crop the receipt tightly, and keep the output easy to review.

If the receipt includes personal purchases, card details, medical items, travel routes, client names, or reimbursable business expenses, privacy matters. Many receipt scanners upload the image to a cloud OCR pipeline. ToolAtom's Image to Text tool runs Tesseract OCR in the browser, so the image stays on your device while you extract editable text.

Step 1: photograph the receipt for OCR

Receipt OCR quality depends heavily on the photo. Place the receipt on a dark, flat background. Smooth it gently without stretching or tearing the paper. Use indirect light instead of a harsh flash, because thermal paper often reflects light and washes out pale gray text. Hold the phone parallel to the receipt so item rows stay horizontal.

If the receipt is very long, take two or three overlapping photos instead of one distant photo. OCR works better when each character is large enough. For expense reports, include the merchant name, date, total, tax, and payment method in at least one photo. If the receipt is faded, increase contrast before OCR with any basic photo editor.

  • Use high contrast - Dark background, bright paper, no patterned tablecloth behind the receipt.
  • Avoid perspective skew - Keep the receipt edges parallel to the camera frame.
  • Crop before OCR - Remove the table, hand, wallet, and other clutter that can confuse recognition.
  • Do not over-compress - A tiny chat-app image may lose the small digits you need for totals.

Step 2: run private browser OCR

Open Image to Text, upload or paste the receipt image, choose the language, and click Recognize Text. The first run may download a language model. That download is for the OCR engine, not your image. The recognition itself happens in the browser using WebAssembly.

When the result appears, copy the text into a note, spreadsheet, or expense system. Do not expect perfect table structure from a receipt photo. OCR is good at turning the image into characters; you still need to review the merchant name, date, totals, and line items before submitting anything for reimbursement or accounting.

  1. Upload the cropped receipt image - JPG, PNG, and WebP are good source formats.
  2. Select the language - Use English for most US receipts; choose the local language for travel receipts.
  3. Run OCR - Wait for the confidence score and text output.
  4. Copy or download the text - Keep the original receipt photo until the expense is approved.

Step 3: clean the receipt text for a spreadsheet

Raw OCR text is rarely spreadsheet-ready. Start by separating header information from item rows. Capture the merchant, address if needed, transaction date, subtotal, tax, tip, total, payment method, and last four card digits if your policy requires it. Then review item rows one by one. OCR can confuse 0 and O, 1 and I, 5 and S, or decimal points in prices.

For a simple reimbursement spreadsheet, you may not need every item line. Many teams only require merchant, date, category, subtotal, tax, tip, total, currency, and business purpose. If you do need line items, split each row into item description, quantity, unit price, and amount. Keep a notes column for uncertain OCR results so reviewers know what you changed.

  • Normalize dates - Convert 05/06/26 into a clear format such as 2026-05-06 to avoid US/EU confusion.
  • Check totals - Subtotal plus tax plus tip minus discounts should equal the final total.
  • Preserve currency - Travel receipts can mix local symbols that OCR misreads.
  • Keep evidence - Attach the original photo or PDF when submitting expenses.

How to handle PDFs, scans, and multiple receipts

If your receipt is already a PDF, first check whether it has selectable text. Open PDF to Text for native PDFs. If the PDF is just a scanned image, convert the page to an image or take a screenshot, then run OCR with Image to Text. For a batch of receipts, process one clean image at a time and paste each result into the same spreadsheet.

For multiple small receipts on one page, crop them into separate images before OCR. This keeps merchant names and totals from merging. If you need to store images, use Image Compressor after OCR to reduce file size while keeping the original readable enough for audit review.

Common OCR problems and fixes

Faded thermal paper is the hardest case. Try increasing contrast, converting to black and white, or photographing under softer light. If the receipt is curled, place a transparent sleeve or clean glass over it only if glare is controlled. If the OCR output misses the right side of a long receipt, take a closer photo or split the receipt into segments.

If the text is in multiple languages, run OCR using the language that covers the most critical fields. For travel receipts, merchant names and item descriptions matter less than date, tax, currency, and total. Always review numbers manually. A single missed decimal point can turn a $12.90 lunch into a $1290 expense line.

A receipt OCR template you can reuse

For repeat work, create a small template before you start OCR. Use columns such as merchant, date, category, subtotal, tax, tip, total, currency, payment method, project, and notes. When the OCR output appears, copy only the fields that belong in those columns instead of pasting the entire receipt into a spreadsheet. This keeps the review step fast and prevents long blocks of item descriptions from making the sheet hard to scan.

A good naming rule also helps. Save the source image or exported text as YYYY-MM-DD-merchant-total, for example 2026-05-26-airport-cafe-18-40.txt. This lets you find the original later without opening every file. If your accounting tool requires image evidence, keep the original image and the cleaned text together. The OCR text is useful for search and reporting, but the photo is usually the proof.

For teams, standardize the review notes. Mark unclear totals with "needs review", mark foreign currency with the original currency code, and keep tax fields separate from tips or service charges. The habit is small, but it avoids messy end-of-month expense cleanup. Browser OCR is most valuable when it becomes a repeatable capture workflow, not a one-off copy and paste trick.

  • Core fields - Merchant, date, subtotal, tax, tip, total, currency, and payment method.
  • Review flags - Use a short note when a number is uncertain or needs manual checking.
  • File names - Use a predictable date, merchant, and total pattern for future search.

Privacy and retention tips

Receipts can reveal location, habits, client meetings, medical purchases, payment identifiers, and travel patterns. A private OCR workflow reduces unnecessary exposure, but you should still handle the result carefully. Delete temporary images from shared computers, store business expenses in the approved system, and avoid sending raw receipt photos in public chat channels.

If the receipt belongs to a client or employee, follow your company policy. OCR is a convenience layer, not a replacement for accounting controls. The best workflow is private capture, careful review, structured spreadsheet entry, and secure retention of the original evidence.