What this tool does
PDF to Excel writes a workbook from extractable text. Detected tables can get autofilter and frozen header rows. An optional Summary sheet lists table sheets, page numbers, and a short preview.
Choose this tool when…
- The PDF has selectable tables or list-like text.
- You can clean columns after export.
- You want one sheet per page, one sheet per detected table, or a single PDF Data sheet.
Typical jobs this page is built for
- Turn invoice or report pages into Page N worksheets (By page, the default).
- Split detected tables onto separate sheets with filters and frozen headers (By table).
- Dump every page into one PDF Data sheet when you plan to search and clean in Excel.
How processing actually works
extractPageSpreadsheetData builds rows and optional numeric cells. byPage names sheets Page N. byTable names sheets from page and table title. combined stacks pages under PDF Data. Sheet names are sanitized to 31 characters.
Supported files, outputs, and limits
- Input
- One PDF, up to 50 MB.
- Output
- {base}.xlsx
- Defaults
- Layout default is By page (byPage). Parse numbers, freeze headers, filters, and the Summary sheet default on.
Step-by-step workflow
- Upload a text PDF.
- Pick By page, By table, or Combined.
- Click Convert to Excel.
- Open {base}.xlsx.
- Check the Summary sheet first, then repair columns.
What changes in the output
This is not a faithful Excel clone of a PDF form. Merged cells, images, and true spreadsheet formulas in the PDF are not reconstructed. Number parsing can mis-read values that only look numeric.
Privacy and where processing occurs
pdf.js and SheetJS run in the browser. The PDF is not uploaded for Excel conversion. Identified analytics may include byte counts, page count, layout mode, and sheet/row counts, not cell values or the filename beyond what you keep locally.
How this differs from nearby DevToolKit tools
- PDF to Word targets DOCX paragraphs and Word tables.
- PDF OCR does not write XLSX.
Output review checklist
- Check the Summary sheet if enabled; it is placed first in the workbook.
- Verify numeric columns; parseNumbers can mis-read values that only look numeric.
- Look at pages that had no detected table, especially in By table mode.
- Search for “No extractable text found” on empty Combined exports.