Skip to content

PDF to Excel

Runs on your device

Pull the tables out of a PDF into an Excel workbook, one sheet per page, with numbers as real numbers. Runs in your browser.

Finds tables in the PDF's text and puts each page on its own sheet, with numbers as real numbers. Text outside tables goes in column A.

How to use PDF to Excel

  1. Choose the PDF.
  2. Select Convert to Excel. Lines with wide gaps between their pieces are read as table rows, and gaps that line up become columns.
  3. Download the .xlsx. Each page is a sheet; text outside tables is in column A.

How tables are found

A PDF has no idea it holds a table. It stores pieces of text and where to draw them. The tool reads each piece with its position, puts pieces on the same baseline together as a row, and splits a row into cells wherever the gap between pieces is wider than about a character's height, which is much wider than a space between words. Two or more such rows one after another make a table.

The table's columns come from where the cells of its most typical rows sit: cells that overlap across rows are the same column, whether they are aligned left, right or in the middle. Every row is then placed into those columns, so a row with an empty cell keeps the rest of its cells in the right place.

Each page becomes its own sheet, named Page 1, Page 2 and so on. Text outside tables, such as titles, notes and totals written as a sentence, goes in column A in its order on the page, so nothing is lost and the sheet reads like the page.

Numbers you can add up

A cell that holds just a number becomes a number in Excel, not text that looks like one. 1,234.56, $1,200, (500) for a negative and 12.5% are converted and given a number format that shows them the way the PDF did, so a SUM works straight away. Codes with leading zeros, long account numbers and dates stay as text, because turning them into numbers would change them.

Where it struggles

Cells whose text wraps onto two lines become two rows, which you may need to merge. Tables with very narrow gaps between columns can run together, and a header that spans several columns lands in one of them. Tables drawn as images, including every table in a scanned PDF, have no text to read: run a scan through OCR PDF first.

Private by design

pdf.js reads the PDF in this tab and ExcelJS, an open-source spreadsheet library, writes the workbook in a background worker. Both load from this site. Nothing is uploaded, which matters for bank statements and invoices, and nothing is kept.

Questions

Which tables does it find?
Tables made of real text with clear gaps between the columns, such as invoices, statements and reports exported from software. Cells that wrap onto two lines become two rows, and tables drawn as pictures are not read.
Are numbers numbers?
Yes, when a cell holds just a number: 1,234.56, $1,200, (500) and 12.5% become numeric cells you can add up, shown the same way. Codes with leading zeros and dates stay as text.
Is my PDF uploaded?
No. pdf.js reads it in your browser and the workbook is written there too, by code loaded from this site. Nothing is sent or saved.
What about scanned PDFs?
A scan has pictures of text and no text layer, so there is nothing to read. Run it through OCR PDF first, then convert the result.