imissfiles55 tools
  1. Home
  2. OCR tools
  3. JPG to CSV

JPG to CSV

Read a table out of a JPEG photo or scan and export it as comma-separated values.

JPG to CSV

Never uploaded

Your file is processed in this tab and never sent anywhere.

Ads are Google. Files are not.

How to convert JPG to CSV

  1. Add a JPG. A photograph, a screenshot, or a scan containing a table.
  2. Check the detected rows. The CSV previews so you can confirm the columns landed correctly.
  3. Download the .csv. Ready for a spreadsheet, an import, or a script.

About JPG to CSV

JPEG is what a phone camera and most scanning apps produce, which makes it the format tabular data most often arrives trapped inside. A photographed invoice, a scanned price list, a spreadsheet someone screenshotted instead of exporting — the numbers are all there and none of them are usable until they are text again.

Two things have to happen for that. The characters have to be recognised from the pixels, which is OCR, and the recognised words have to be arranged back into rows and columns based on where they sat in the image. Tesseract handles the first, running as WebAssembly in this browser tab. The second is done by clustering words into rows by their vertical position and inferring column boundaries from the x positions where words consistently begin.

Because both steps introduce error and those errors compound, the preview is not decoration. Check a handful of rows against the original before you build anything on the output. Numbers deserve the most attention: a misread digit produces a value that looks entirely plausible in a spreadsheet and will not announce itself later.

JPEG compression is worth a thought here in a way it is not for ordinary photographs. Text has hard edges, and JPEG handles hard edges by smearing them slightly. A heavily compressed screenshot of a table will recognise noticeably worse than a lightly compressed one. If you control how the image was captured, save it as PNG instead and use the PNG to CSV tool — and if you already have the file, there is nothing to be done except accept a lower accuracy.

What affects accuracy

InputExpected resultWhat to do
Flatbed scan of a printed tableVery goodScan at 300 DPI or higher
Straight-on phone photo, good lightGoodCrop to just the table first
Angled photoPoor columnsReshoot square on — angle breaks column detection
Heavily compressed JPEGDegradedUse PNG at capture time where you can
Handwritten tableNot supportedTesseract is trained on printed type

JPG to CSV FAQ

How do I convert a photo of a table to CSV?

Add the JPG, let the text be recognised, check the previewed rows against your image, then download the .csv. Everything runs on your device.

Why are my columns wrong?

Usually the photograph was taken at an angle, so the column edges converge down the image and position-based detection breaks. Reshoot square on, or crop and straighten first.

Is JPG a bad format for this?

It is not ideal. JPEG compression softens the hard edges that letterforms are made of, so recognition is a little worse than from PNG. It is what phones produce, so it is usually what you have.

My table is in a PDF, not a JPG.

If you can select text in the PDF, use PDF to CSV — it skips recognition entirely and is far more accurate. Only use this if the PDF is a scan.

Should I use CSV or Excel?

CSV when the data is going into a script, an import, or a database. Image to Excel when a person will open it.

Is my image uploaded?

No. Recognition runs as WebAssembly in this browser tab, which matters when the table is an invoice or a statement.

Related tools