PDF to Excel Converter

Convert a text-based PDF's tables into a genuine .xlsx spreadsheet in your browser — nothing uploaded.

100% FreeNo sign-upPrivate — runs in your browser
Drop files hereor click to choose from your device

Nothing leaves your browser — your files are processed on your own device and are never uploaded to any server. PDF text is extracted with the vendored pdf.js (3.11.174) and the spreadsheet is written as a genuine .xlsx file (a ZIP of XML) with the vendored JSZip — no server, no account.

Honest limits — read before you rely on it: this works on text-based PDFs only; scanned image PDFs contain no text to extract. Tables are rebuilt from text positions, so simple grid tables with clear columns convert well, but merged cells, wrapped text, multi-line cells and complex layouts may not survive as they appeared on the page. Check the preview rows and the downloaded file before using it for anything important.

—

Rows extracted

PDF pages
—
Rows
—
Columns (max)
—
Output format
.xlsx

Your files never leave this device. Conversion happens entirely in your browser.

Done

How to use this tool

1
Choose a PDF

Pick a text-based PDF with a table — scanned image PDFs have no text to extract.

2
Convert and preview

The tool extracts the text, rebuilds rows from text positions and previews the first 20 rows.

3
Download the .xlsx

A genuine Excel file (ZIP of XML) is generated on your device.

4
Check before relying on it

Open it in Excel or Sheets and confirm merged or wrapped cells survived as expected.

Formula & worked example

Text items are grouped into lines by vertical position (within 4 pt) and split into columns where horizontal gaps exceed 25 pt. The workbook is a standard OOXML package: [Content_Types].xml, xl/workbook.xml, xl/worksheets/sheet1.xml (cells referencing shared strings) and xl/sharedStrings.xml, zipped with JSZip.

A 2 × 2 PDF table (Name / Age; Alice / 30) regroups into two rows and two columns, and the downloaded .xlsx opens in Excel with Name in A1, Age in B1, Alice in A2 and 30 in B2 — verified at the XML level in the unit tests (cell references and shared-string indices).

Limitations — read this before you rely on it

Text-based PDFs only; scanned or encrypted PDFs cannot be converted. Table layout is approximated from text positions — merged cells, wrapped text, multi-line cells, footnotes and complex multi-column layouts may not survive. No formatting (fonts, colours, borders) is carried over; only cell text. The actual browser download (pdf.js + JSZip) needs a visual pass after import; the pure row/XML logic is unit-tested here.

Frequently asked questions

Choose a text-based PDF, let the tool extract its tables, preview the rows, and download the .xlsx file. Nothing is uploaded — it all happens in your browser.

No. Only the cell text is carried over — fonts, colours and borders are not. The structure (rows and columns) is rebuilt from where the text sits on the page.

Scanned PDFs are pictures of pages, not text, so there is nothing to extract. Run OCR on the scan first, or use the original digital PDF.

One worksheet named Sheet1 with the extracted rows and columns, in standard Excel format that opens in Excel, LibreOffice and Google Sheets.

No. The PDF is read in your browser and the spreadsheet is built on your device. No server ever sees your file.