📊 Extract Tables from PDF WASM
Detect tables in your PDF and export them as CSV, JSON, or HTML. Uses text coordinate analysis to reconstruct rows and columns.
Upload PDF
Drop your PDF below. Tables are detected automatically.
document.pdf
—
How to Extract Tables from a PDF
Upload Your PDF
Tables are detected automatically on upload using coordinate analysis.
Review Detected Tables
Each table is shown as a preview. Adjust tolerances if detection looks off.
Export
Download each table as CSV or JSON, or grab everything as a ZIP.
Frequently Asked Questions
Every PDF page contains text items with X/Y coordinates. We use those to:
1. Cluster items into visual rows by Y-position.
2. Split each row into cells based on horizontal gaps.
3. Align cells across rows to find consistent column positions.
4. Group consecutive multi-column rows into tables.
5. Trim empty cells and build a 2D grid.
This is the same general approach used by commercial table extraction tools — just running entirely in your browser.
Common reasons: (1) The PDF is a scan with no text layer — run OCR first. (2) Tables are borderless with widely spaced columns — lower the "Column Gap" tolerance. (3) Tables have merged cells that confuse the algorithm. (4) The table has only 1 column (that's not really a table). Try lowering "Min Columns" and "Column Gap" values.
Row Tolerance — how close in Y two text items must be to count as the same row. Increase if rows are being split incorrectly. Column Gap — minimum horizontal space between cells. Decrease if columns are being merged. Column Align — how closely cells must align to be considered the same column. Increase for wobbly tables.
Yes, but each page is processed independently. If a table spans multiple pages, you'll get one table per page in the results. Merging them across pages is a manual step (or you can combine the CSVs yourself).
These are the hardest cases for any automated table extractor. Nested tables and cells that span multiple rows/columns will usually confuse the algorithm — you'll see extra or missing cells. For these edge cases, a desktop tool like Camelot or Tabula (Python) with manual tuning is more reliable.
No. Everything runs in your browser using pdf.js. Your files never leave your device.