PDF Table Extractor
Pull a table out of a PDF and export it as CSV for a spreadsheet.
A PDF Has No Idea It Contains A Table
This is the thing worth understanding before you start. A PDF stores characters at coordinates. A table in a PDF is not a table — it is text that happens to line up, and possibly some lines drawn near it. There is no grid, no cells and no header row, because the format has no concept of any of them.
So extraction is inference. This tool reads the text layer, looks at the gaps between words, and treats a gap wide enough to be deliberate as a column boundary. On statements, invoices and reports — anything laid out by a machine — that works very well. Where a cell wraps onto two lines it works less well, which is why the column threshold is a control you can move rather than a constant somebody chose for you.
Key features
- Adjustable column gap — widen or narrow it until the preview matches the table you can see.
- Page by page — pick the page, because a document rarely has its tables on all of them.
- Live preview — the parsed grid before you export, so a wrong setting costs a second rather than a spreadsheet.
- Proper CSV — quoted where it needs to be, CRLF line endings and a byte-order mark so Excel reads it correctly.
- Nothing is uploaded — the parser runs in the page, which matters for a bank statement.
This tool runs entirely inside your browser using native Web APIs. Your files and text are never uploaded to a server, never logged and never shared with third parties.
How to use: PDF Table Extractor
- Open the PDF
Choose the page with your table on it. - Adjust the column gap
Too few columns means lower it; a column split in two means raise it. - Check the preview
Confirm the header row and the first few rows look right. - Download the CSV
Open it in Excel, Numbers or Google Sheets.
Technical specifications
| Processing location | Entirely in your browser — no server round trip |
|---|---|
| Data uploaded | None. Files and text never leave your device |
| Price | Free — no account, no trial, no usage cap |
| Category | |
| Works offline | Yes, once the page has loaded |
| Browser support | Chrome 90+, Edge 90+, Firefox 90+, Safari 15+ |
| Interface languages | English, 中文, हिन्दी, Español, العربية |
Frequently asked questions
Nothing comes out — the page is blank in the preview.
The page has no text layer, which means it is a scan: an image of a table rather than a table. There is nothing to extract, and the only route is optical character recognition, which this tool does not do. You can tell immediately because selecting text in the original PDF will not work either.
Why are two columns merged into one?
The gap between them is narrower than the threshold. Lower the column gap setting until they separate. If a table is set very tightly, there may be no setting that separates every column without splitting another — that is the limit of inferring structure from spacing.
A row is split across two lines. Can that be fixed?
Not automatically, because nothing in the file says the two lines belong together. It is usually quicker to export anyway and merge those rows in the spreadsheet, where you can see which ones they are.
Why does Excel mangle the accented characters?
It should not — the export begins with a byte-order mark, which is how Excel is told the file is UTF-8. Without one it guesses, usually wrongly. If you are pasting the CSV text rather than opening the file, the mark is lost; open the downloaded file instead.
Can it do every page at once?
Not in one go, deliberately. Tables on different pages usually need different settings, and a bulk export that silently mis-parses half of them is worse than four careful exports. Do the pages you need and paste them together.