PDF to Excel Converter
Convert PDF tables and lists into editable Excel spreadsheets.
Drag & Drop PDF here
or click to select file
About PDF to Excel
This turns the text on each page into spreadsheet rows and writes a real .xlsx workbook. It exists to save you retyping a printed table — a bank statement, an invoice line list, a price schedule — and it gets you most of the way there, provided you know how it decides what a row is. Parsing and workbook generation both happen in this browser tab; nothing is uploaded.
A PDF table is not a table
When a spreadsheet is printed to PDF, the grid is destroyed. What remains is a set of text fragments at coordinates, plus possibly some lines drawn where the borders were. There is no cell, no row, no column and no relationship between the number and its heading — those exist only in your eye, which reconstructs them from alignment. Any converter has to do the same reconstruction, and the quality of the result depends entirely on how regular the original was.
The rule used here is deliberately simple and predictable: fragments whose vertical coordinate rounds to the same integer belong to the same row; rows are emitted from the top of the page downwards; within a row, fragments are ordered by horizontal position and written into consecutive cells. All pages are appended to a single sheet. No lines are read, no column boundaries are inferred, and no cell is ever merged or split.
What that means in practice
- Works well: machine-generated tables with one line per record and every cell populated — statements, ledgers, exported reports.
- Needs tidying: tables with blank cells, because a missing fragment shifts every later value one column to the left in that row.
- Needs tidying: rows with superscripts, footnote markers or mixed type sizes, which sit on slightly different baselines and split into two rows.
- Struggles: cells whose text wraps onto a second line, which becomes a separate row underneath.
- Not attempted: repeated header detection, number parsing, merged cells, formatting, formulas.
Getting a clean result
Two habits make the difference. First, narrow the input: if the table occupies four pages of a sixty-page report, pull those pages out with Split PDF before converting, and you will not have to delete hundreds of prose rows afterwards. Second, verify before you rely on it — check the first and last rows against the PDF, and cross-foot a column of figures against the printed total. Values arrive as text exactly as printed, symbols and separators included, so a single Text to Columns pass over each numeric column is usually all the cleanup that is needed.
When to use something else
A scanned document has no text layer at all and will produce an empty workbook; there is no character recognition here, so go via PDF to PNG and Image to Text and expect to check the figures carefully. Prose belongs in PDF to Word, which rebuilds line breaks rather than rows. Raw words for a script belong in PDF to Text. An encrypted file has to go through Unlock PDF first, because a parser cannot read a document it has no key for. And if the destination is a data pipeline rather than a spreadsheet, Excel to CSV converts the finished workbook in one more step.
Rows recovered from baselines
Text fragments sharing a rounded vertical position are treated as one row and sorted left to right. That is how a printed table gets its structure back: the rows were never stored, only the coordinates that imply them.
A real .xlsx workbook
Output is a genuine Office Open XML spreadsheet on a single sheet named Sheet1, opening directly in Excel, Google Sheets, LibreOffice Calc and Numbers with no import dialogue.
Financials stay on your machine
Bank statements, invoices and management accounts are parsed and written entirely in this browser tab. Nothing is transmitted, so there is no third-party copy of your numbers anywhere.
Frequently Asked Questions
How does it decide what a row is?
By vertical position. Every text fragment on a page reports the coordinate it was drawn at; fragments whose vertical coordinate rounds to the same whole number are collected into one row, the rows are ordered from the top of the page down, and the fragments within each row are ordered left to right. That is the whole algorithm, and knowing it tells you exactly when it will work.
Why did one row split into two?
Because the baselines were not identical. Grouping is on the rounded coordinate, so two cells drawn a single unit apart land in separate rows. This shows up with superscripts and footnote markers, with mixed font sizes in the same row, and with slightly skewed output from some generators. The fix in the spreadsheet is quick — sort or merge the stray rows — but it is worth checking the top of a long extract before trusting the rest.
My columns do not line up.
Each fragment becomes the next cell in its row, so alignment depends on every row containing the same number of fragments. A blank cell in the original produces no fragment at all, and everything after it shifts one column left. Empty-looking columns and rows with a stray extra value are the same symptom. For a table with gaps, expect to spend a minute repairing the grid — the data will all be there, in order, just not always in the column you expected.
Where do multiple pages go?
Into one sheet, stacked in page order. There is no per-page tab and no attempt to detect a repeated header row, so a fifty-page statement produces one long sheet with the column headings recurring wherever they were printed. That is usually what you want for filtering and pivoting; a quick filter removes the repeats.
Can it read a scanned statement?
No. Extraction reads the text layer the PDF already declares, and a scan has none — you would get an empty workbook. There is no character recognition here. For scanned tables, render the pages with PDF to PNG at 3x and run them through Image to Text, then paste and split the recognised text; accuracy on columns of figures is mixed, so check the totals.
Are numbers imported as numbers?
They arrive as the text the page contained, so currency symbols, thousands separators and trailing minus signs come through as written and Excel may treat the cell as text. Use Text to Columns or a VALUE formula to convert once, on the whole column. Formatting, colours, borders, merged cells and formulas from the original are not preserved — this extracts data, not appearance.
What if the document is mostly prose with one table in it?
Every line of text on every page becomes a row, so you will get the surrounding paragraphs as long single-cell rows around the table. That is easy to delete but tedious on a long document. Extract just the pages you need with Split PDF first, then convert — it is faster and the output is far cleaner.
Is there a better tool for this document?
If the content is prose rather than data, PDF to Word rebuilds line breaks into an editable document. If you only need the raw words, PDF to Text is quicker. If the PDF is password-protected, nothing here can parse it until you run Unlock PDF. And if you finish in Excel and need to hand the result on as a CSV, Excel to CSV does the last step.