Convert Your Table Image to Excel
JPG, PNG, WebP, GIF, BMP, HEIC — up to 20 MB each, 50 MB total
Extracted Spreadsheet
Edit Cells
Click any cell to edit| OCR the image to see rows here. |
How It Works
- Upload any image of a table, screenshot, receipt, or scanned data - JPG, PNG, WebP, HEIC, etc.
- Preprocess - optionally binarize the image to black & white for sharper text edges.
- OCR with Tesseract.js extracts every word with its X/Y bounding box coordinates.
- Cluster rows by Y-position (words within ~25px vertically belong to the same row).
- Cluster columns by X-position (horizontal whitespace gaps larger than median char width mark column boundaries).
- Build XLSX with SheetJS using detected cells, column widths from max-content, and bold header row.
- Edit any cell in-browser before downloading.
Features
- Auto-detect columns by whitespace gap clustering - works even without visible grid lines.
- Auto-detect rows by Y-position grouping - handles multi-line cells correctly.
- 3 output formats - XLSX (modern Excel), XLS (legacy), CSV (plain text).
- 12+ OCR languages - English, Chinese, Japanese, Korean, Spanish, French, German, Italian, Portuguese, Russian, Arabic, Hindi.
- Editable preview - click any cell to fix OCR errors before downloading.
- Sample images - 4 procedural sample tables to try instantly.
- Batch processing - combine multiple images into one workbook (one sheet per image).
- 100% private - no upload, no signup, no daily limit, no watermark.
Getting a clean spreadsheet out of a table photo
The OCR does the reading; the photo decides how well it can be read. These are the factors that decide the quality of the extracted table.
- Shoot straight on. Perspective distortion is the number one cause of shifted columns: a phone held above the page makes rows that look aligned in the picture land in different cells. Flatten the phone over the table.
- Resolution matters more than megapixels. Around 300 DPI is the practical threshold. Below roughly 150 DPI the shapes of 0/O, 1/l/I and 5/S get confused, which is where most "wrong numbers" come from.
- Grayscale and high contrast beat colour. A red pen on white paper is often the easiest table to read, while a pale blue print on a beige background is the hardest.
- Merged cells and multi-row headers are the hard part. Row and column detection handles regular grids; a table whose header spans three columns is where the structure breaks down, and those need a manual check afterwards.
- Watch the decimal separators. A European table writes 1.234,56 where an English one writes 1,234.56. The converter reads glyphs, not locale, so check the numbers against the source.
- Screenshots of terminals OCR worse than print. Monospaced fonts, low contrast and thin strokes are all near the resolution limit.
- Always spot-check. Verify the totals and a few cells against the original before the sheet goes into a spreadsheet you base a decision on.
Frequently Asked Questions
Will my image be uploaded to a server?
No. The entire conversion pipeline runs in your browser. The image is read with the standard File API, OCR is performed locally by Tesseract.js (an in-browser OCR engine), and an XLSX workbook is generated client-side using the SheetJS xlsx library. No bytes leave your device. You can confirm in your browser's DevTools Network tab - you will see zero outbound requests for the image content.
What image formats are supported?
JPG, JPEG, PNG, WebP, GIF, BMP, HEIC, HEIF, TIFF, and any other format that your browser can decode through the standard File API. Screenshots pasted from the clipboard are also supported. The tool works best with clear, high-contrast images of tables or data grids.
How does the table detection work?
The tool uses Tesseract.js to extract every word with its X/Y bounding box coordinates. Then it groups words into rows by Y-position clustering (words within ~25px vertically belong to the same row) and into columns by X-position clustering (horizontal whitespace gaps larger than the median character width mark column boundaries). This gives you an editable Excel grid that mirrors the layout of your source image, without requiring perfect grid lines in the picture.
What is the difference between XLSX, XLS, and CSV output?
XLSX is Microsoft Excel 2007+ and the modern default - opens in Excel, Google Sheets, LibreOffice Calc, and Apple Numbers. Cell formatting, column widths, and the header bold style are preserved. XLS is the legacy Excel 97-2003 format for very old Excel installations. CSV is plain comma-separated values - opens in any spreadsheet app or text editor but contains no formatting. Use XLSX for editable Excel files, XLS for old Excel, CSV for simple data interchange.
Can I edit the cells before downloading?
Yes. After OCR extraction, every cell appears in an editable preview table. You can modify, add, or delete any cell value before clicking Download. The Regenerate button rebuilds the XLSX from your edited data. This is useful for fixing OCR errors or merging cells.
Why can't AI chatbots convert my image to Excel?
AI assistants like ChatGPT, Claude, and Gemini can read images and extract text in conversation, but they cannot generate a valid .xlsx file you can save and open. The Excel format (.xlsx) is a complex OOXML ZIP archive containing workbook.xml, sheets/*.xml, sharedStrings.xml, styles.xml, and _rels/.rels - all wired together with namespaces. AI text generation produces text, not binary spreadsheets. This tool runs the actual OCR pipeline and SheetJS xlsx generation pipeline in your browser, with deterministic column detection by whitespace gap clustering.
Does the image quality affect OCR accuracy?
Yes. Clear, high-resolution images with strong contrast produce the best results. The tool includes an automatic preprocessing step that converts the image to grayscale and applies a configurable binarization threshold for better OCR on blurry or low-contrast photos. For scanned paper documents, 300 DPI or higher is recommended. Very skewed or perspective-distorted images may need to be straightened first.
Comments & Ratings