Extract a table from a PDF or image
Load a PDF or image and mark a table region. Extraction starts automatically when a region is drawn or detected, and the result opens in an editable preview. You can correct cell text, adjust the first-row setting, merge cells manually, and export the table.
Choose the file and table region
Drop a file into the tool or click browse file. The file picker accepts one file at a time: PDF, PNG, JPG/JPEG, WebP, BMP, or GIF. For a PDF, choose a page in the page selector.
- Draw a rectangle around the table on the preview.
- Use Whole page as region if the table fills the page.
- Try Auto-detect region when the table has visible ruling lines.
Auto-detection may fall back to the whole page or image when it cannot find enough ruling lines. Draw a tighter region if that happens. To start over on the current page, use Clear regions on this page or the remove-region button. Use Change file to load another input.
Extract and edit the table
- Extraction starts automatically for each selected region. Tick Force OCR to reprocess the region with OCR when the PDF text layer is unsuitable.
- Edit cell text directly in the preview.
- Use First row is header to toggle the header setting. The first row is initially marked as a header; it is not detected automatically.
- To create a merged cell, Shift-click two or more cells and choose Merge selected. Alt-click a merged cell to split it.
- Choose Delete table to remove an unwanted extracted result.
How text and table layouts are handled
For a digital PDF, the tool first uses the page's text layer when it is available. OCR is the fallback for image files and scanned PDF regions without usable text, or it runs when you select Force OCR. Image OCR uses Tesseract.js with the English eng model.
The tool checks for ruling lines. Digital PDF pages use drawing information; images and scans use pixel analysis. When enough lines are found, they define the rows and columns. Without them, the tool infers rows and columns from gaps between text. This is heuristic, so unusual layouts may place text in the nearest inferred row or column. An OCR cell's displayed confidence is an average of the confidence values for the recognized words assigned to that cell.
Export the extracted data
- CSV and Markdown export a flat grid. A manually merged value is repeated across the cells it covers.
- XLSX preserves manually created merge spans as spreadsheet merges.
- JSON includes the table structure, cell values, confidence, and region information.
Export tables one at a time, or export all extracted tables as a multi-sheet XLSX workbook, combined JSON, or a ZIP of CSV and Markdown files. JSON region coordinates are original region data for normal extraction; OCR tables use coordinates relative to the cropped region.
Limits and troubleshooting
PDF processing is capped at 500 pages. Password-protected or encrypted PDFs are rejected. Processing can also fail if the required PDF, OCR, spreadsheet, or ZIP library does not load.
If the result is wrong, redraw the region, try Force OCR, or remove the table and extract it again. Auto-detection can select the whole page instead of a tight boundary, and unusual layouts can produce heuristic row or column assignments. This tool extracts table layouts; use the separate "HTML Table Extractor" for existing HTML <table> markup and "Image To Text" for general prose OCR.
The file is read and processed in the browser with pdf.js, Tesseract.js, SheetJS, and JSZip. Nothing is sent to a server.
Frequently asked questions
Does this tool run OCR on every page?
No. For a digital PDF page, it first tries to reconstruct the table from the page's real text layer. OCR (Tesseract.js) only runs on image files, scanned PDF pages with no usable text layer in the drawn region, or when you tick "Force OCR" yourself.
How are ruled and borderless tables told apart?
The tool looks for actual ruling lines - from the PDF's drawing operators for digital pages, or from pixel analysis for images and scanned pages. If enough horizontal and vertical lines are found, they're used directly as row/column boundaries (a ruled table). Otherwise, rows and columns are inferred from whitespace gaps between text (a borderless table).
How are merged cells handled?
You can shift-click two or more cells in the editable preview and press "Merge selected", or Alt-click a merged cell to split it back apart. XLSX and JSON exports preserve true merge spans (rowspan/colspan); CSV and Markdown, which have no merge concept, repeat the merged cell's value into every column/row it covers instead.
Does this tool upload my file anywhere?
No. The PDF or image is read and processed entirely in your browser with pdf.js, Tesseract.js, SheetJS and JSZip. Nothing is sent to a server.