Extract tables from PDF files and export as CSV, JSON, or Markdown.
Click to select a file or drag and drop
PDF file
Your files never leave your device.
Processing...
Click or drag and drop your file to begin
Click the process button to start
Save your processed file instantly
CSV opens in Excel, Google Sheets, or any database import. JSON gives an array of rows, each an array of cell strings, for scripts and APIs. Markdown gives a pipe table you can paste into GitHub, a wiki, or documentation.
Each table is saved as its own file, named like table_1_page3.csv, and all of them are bundled into filename_tables.zip. A single table downloads directly as filename_table.csv, .json, or .md. If you'd rather have every table in one file, use PDF to CSV.
Detection works on the document's text layer. Scanned PDFs contain only an image, so run them through OCR PDF first. Text that only looks like a table because of spacing, with no table structure, may also go undetected.
No. Each page is scanned separately, so a table that spans pages is exported as one file per page, each with the page number in its name. Join the pieces in a spreadsheet after extraction.
The whole document is always scanned, though the page number in each filename tells you where a table came from. To limit the scan, save the pages you need first with Extract Pages and run this tool on the smaller file.
Yes. Cells containing commas, quotes, or newlines are wrapped in double quotes with inner quotes doubled, so spreadsheet software reads them correctly. Empty cells are written as empty fields.
If the file needs a password to open, you're asked for it before extraction starts, and the tables are read from a decrypted copy held in memory.
No. The detection engine (PyMuPDF compiled to WebAssembly) is downloaded from a CDN the first time you use it, then runs inside your browser. Your PDF stays on your device.