Statements, invoices, price lists and reports love to trap their numbers inside PDFs. This converter pulls the text out of each page, groups it into rows the way your eye reads them, and hands you a real Excel spreadsheet (.xlsx) — one sheet, one row per line, one cell per text item — built entirely on your device with pdf.js and SheetJS.
How it works
The page reads your PDF with pdf.js (Mozilla's open-source PDF engine, running locally), takes every text item on every page together with its position, and groups items that share a vertical position into rows, ordered left to right. SheetJS then writes those rows into an .xlsx workbook you can open in Excel, Google Sheets or LibreOffice and sort, filter and total like any other data.
What converts well — and what does not
Born-digital PDFs with real text convert best: statements, exported reports, simple tables. Expect to tidy column splits — a cell containing “Apples 4 2.40” as one text run stays one cell, because the PDF itself stored it as one run; no converter can invent columns the file never had. Scanned PDFs are images and contain no text to extract at all: the rows come back empty, and the fix is an OCR pass first. Password-protected files need unlocking before conversion.
Private by design
Financial documents are exactly the files you should not be uploading to random converter sites. This one never leaves your device: the file is read by this page, processed in your browser's memory, and the spreadsheet is generated locally and downloaded. Close the tab and nothing remains anywhere.
Worked example
Try the sample button: it builds a tiny PDF holding a four-line table (Item / Qty / Price, then three rows of groceries) right in your browser. Convert it and the spreadsheet contains those four rows in order — open it and check the values line up with the table.
How to use this tool
- Drop a PDF onto the box, or click to choose one.
- Wait for the extraction summary — it reports the pages read and rows found.
- Press Convert to Excel and save the .xlsx file.
- Open it in your spreadsheet app and tidy any merged or split cells.