Home › File & PDF Tools › PDF to CSV
PDF to CSV
Use this free tool to convert a PDF to CSV — turning tables trapped inside a PDF into a spreadsheet file you can sort, filter and calculate with. The tool reads the position of every word, rebuilds the rows, splits columns at the gaps, and hands you a clean .csv download. It works best on simple, text-based tables, and it all happens in your browser: nothing is uploaded.
Your file is processed entirely on your device and is never uploaded. The PDF.js reader library used by this tool is loaded from the cdnjs CDN (cdnjs.cloudflare.com); only the library travels over the internet, never your document.
How to use this tool
- Click the drop box (or drag your PDF onto it). The box confirms your file name and size.
- If your table has very tight or very wide columns, adjust the gap sensitivity slider; Normal suits most documents.
- Press Convert to CSV and check the preview — the first rows appear on screen.
- Press Download CSV and open the file in your spreadsheet.
How it works
A PDF does not store tables. It stores words at positions — this word at this height, that number at that distance from the left edge. This tool reads those positions with the PDF.js reader library and reverses the process in three steps. First, words whose heights match are grouped into a row. Second, each row is read left to right, and where the horizontal gap before a word is clearly wider than the spaces inside a cell, a new column begins:
Third, the rows are written out as CSV — one row per line, commas between columns, and quotes placed around any text that contains a comma of its own, so a cell like “Sharma, Gupta and Co.” survives the trip. Because the method is positional, it shines on the tables PDFs are usually made from — bank and card statements, price lists, invoices, exam results, exported reports — where the columns are honestly spaced. It struggles, as every such tool does, with centred titles spanning the page, artistic layouts, and numbers right-aligned in tight columns; and it cannot read scanned pages at all, because a scan has no words, only a picture of words. The sensitivity slider is your one control: move it left when columns that should split are merging, and right when single cells are being chopped into pieces.
| Gap setting | Starts a new column when the gap is wider than | Suits |
|---|---|---|
| Sensitive (left) | About half a character height | Compact tables and dense statements |
| Normal (middle) | About 0.8 × the text size | Most documents — try this first |
| Wide (right) | About 1.3 × the text size | Statements with generously spaced columns |
Why convert at all? Because a table locked in a PDF cannot be sorted, totalled or checked; the same table in a spreadsheet can. Shopkeepers reconcile statements this way, students turn published result tables into analysable data, and accountants lift invoice lines into their books — all without retyping a single figure, and without sending a financial document to a stranger's server.
Worked example
A trader downloads his monthly card statement as a 4-page PDF. He wants the transactions in Excel so he can total his fuel spending.
Step 1: He drops the statement into the box and leaves the slider on Normal.
Step 2: He presses Convert to CSV. The preview shows the first rows — date, description, amount — lined up as comma-separated values.
Step 3: He presses Download CSV and opens the file in Excel.
Each transaction is now a spreadsheet row with its amount in its own column, ready to filter and total. The statement never left his computer — a point that matters rather more for bank documents than for most files.
FAQ
How do I convert a PDF table to CSV?
Drop your PDF into the box and press Convert to CSV. The tool reads the text on every page, lines the words up into rows by their position, and splits each row into columns where there are clear horizontal gaps. Preview the first rows on screen, then download the .csv file and open it in Excel, LibreOffice Calc or Google Sheets.
Is my PDF uploaded to a server?
No. Your PDF is opened entirely in your browser with the PDF.js reader library, and the CSV is built on your own device. The only thing downloaded from the internet is the PDF.js library itself, which loads from the cdnjs CDN — your document is never sent anywhere.
Will it work on a scanned PDF?
No — and it is better to say so plainly. A scanned PDF is a photograph of a page; it contains no text for this tool to read, so the CSV would come out empty. Run the scan through an OCR tool first to turn it into a text-based PDF, then convert that file here.
Why did some columns merge or split wrongly?
The tool guesses the table layout from gaps between words: words close together join into one cell, and a clear gap starts a new column. Tables with very tight columns, centred headings or numbers aligned on decimal points can fool any position-based converter. If a column merged, the original PDF was probably drawn that way too; opening the CSV and splitting that column by hand in your spreadsheet is usually a two-minute fix.
Does it handle PDFs with many pages?
Yes. Every page is read in order and its rows are added to the same CSV, with a blank line between pages so you can see where one page ended. Very long documents take a little longer because all the work happens on your own device.
What is a CSV file, and what do I open it with?
CSV means comma-separated values: a plain text file where each row is a line and each column is separated by a comma, with quotes around any text that itself contains commas. Every spreadsheet — Excel, Google Sheets, LibreOffice Calc — opens CSV files directly, and so do most accounting and data tools.