PDF to CSV
Pull the tables out of a PDF as comma-separated files.
This tool runs entirely in your browser. Your file is never uploaded, and you can verify that in your browser's network tab. Verify it yourself: open your browser's network tab and watch. You will see one small request asking whether you have tasks left - a tool name and a hash, never the file.
What this does
A PDF has no idea what a table is. There are no cells and no rows in the file, only text placed at coordinates that happen to line up, so recovering a table means finding the columns again. This tool clusters the horizontal positions of every text run, looks for a stretch of lines whose runs all fall into the same bands, and writes what it finds as CSV. Because it is inference rather than reading, every table comes with a confidence score, and the threshold is yours to set.
The usual case is numbers you would otherwise retype: a bank statement that only arrives as a PDF, invoice lines that have to be reconciled, a price list from a supplier, or an export from a system that offers PDF and nothing else.
How it works
- Drop the PDF onto this page. If it is a scan with no text layer, you are sent to OCR PDF rather than given an empty spreadsheet.
- Pick the delimiter. Comma is standard; semicolon is what Excel expects in most of Europe; tab suits pasting straight into a sheet.
- Set the confidence threshold. 55 per cent is the default; lower it to catch loosely aligned tables, raise it if prose is being mistaken for one.
- Choose one file per table, or a single file with the tables one after another.
- Press Extract tables. Each output shows its page and its confidence, so a doubtful table is visible as doubtful before you use it.
The detail that separates a table detector that works from one that does not is right alignment. Number columns are set flush right, so their runs share an end position rather than a start position, and a detector that clusters only on where text begins misses every financial table - which is most of what anybody converts. Both edges are clustered here.
Nothing is returned below the confidence threshold, and that is a deliberate refusal rather than a gap. A spreadsheet full of misaligned fragments looks like a result and is worse than no result, because someone will use it.
The threshold is a real dial. At 30 per cent almost any run of aligned lines is offered, which is useful for a loosely typeset table you already know is there. At 90 per cent only tables with clean, consistent columns survive, which is what you want when converting a hundred pages unattended. The default of 55 is where a typical report's tables come through and its paragraphs do not.
Detection and writing both happen in your browser. The numbers in a bank statement are about as sensitive as a document gets, and none of them are transmitted: the PDF is read and the CSV written without any part of either reaching a network.
What this tool cannot do
- Ruling lines are ignored. Columns are found from where the text sits, so a heavily bordered table whose text does not line up is still missed, and a table with no borders at all converts fine as long as it is aligned.
- Merged and spanning cells flatten. A cell spanning three columns is written into one of them and the rest are left empty, because CSV has no way to say that a cell covers more than one column.
- A scanned table has no text to cluster, so nothing is found. Run OCR PDF first to add a text layer, then come back.
Questions people ask
- How does it find the tables?
- By geometry. A table shows up as a run of consecutive lines whose text falls into the same vertical bands. Both edges of each run are clustered, because number columns are right-aligned and would otherwise be invisible to the detector. Every candidate gets a confidence score, and anything below your threshold is discarded rather than guessed at.
- It missed a table that is obviously there. What now?
- Lower the confidence threshold - 40 per cent catches most loosely aligned tables that the default rejects. If that does not help, the table's text probably does not line up into columns at all, which happens with heavily wrapped cells; PDF to text will at least give you the content to work with by hand.
- Which delimiter should I choose?
- Comma if the file is going into anything other than a European Excel. Semicolon if numbers in your locale use a comma as the decimal separator, because Excel then reads semicolon-separated files and mangles comma-separated ones. Tab is the safest option for pasting straight into an open spreadsheet.
- Can it read a table from a scanned page?
- Not on its own. A scan is an image, so there are no text positions to cluster. Run OCR PDF first and the table becomes detectable - though OCR accuracy on figures is worth checking cell by cell before you trust the numbers.
- Are the files uploaded anywhere?
- No. The PDF is read and the CSV is written entirely in your browser, so a bank statement or a payroll table never leaves the machine you opened it on. Watch the network tab and the only request is the allowance check, which carries a tool name and a hash of the bytes rather than a row of your table.