📊 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.

How it works: We read every text item on each page, group them into rows by Y-coordinate, and cluster them into columns by X-gaps. Works best on digital tables with clear column alignment. Merged cells, borderless tables, and scanned PDFs may not detect cleanly — try adjusting the tolerances if detection looks wrong.

Upload PDF

Drop your PDF below. Tables are detected automatically.

document.pdf

—

Processing…0%
Tables Found
0
Total Rows
0
Total Cells
0
Pages Scanned
0
100% private. Nothing was uploaded.

How to Extract Tables from a PDF

1

Upload Your PDF

Tables are detected automatically on upload using coordinate analysis.

2

Review Detected Tables

Each table is shown as a preview. Adjust tolerances if detection looks off.

3

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.

Done!