pdftoolskit.org
PDF (Portable Document Format) utilities, in the browser
Say hi →

PDF to Excel — Extract Tables to .xlsx

real .xlsx · columns from text positions · one sheet per page

Drop a PDF with tables in it and get a genuine .xlsx workbook. Columns are detected from where the text sits on the page, each page becomes its own sheet (or everything lands on one), and numbers arrive as numbers rather than text.

Drop PDF files here or click to select

One or many · an .xlsx per file

    no files
    Ready.

    No PDF handy? Try sample-10-pages.pdf. More free sample files.

    How column detection works

    A PDF has no idea what a table is: it stores runs of glyphs at coordinates. So the tool reconstructs the grid geometrically. Text items are grouped into lines by vertical position, then each line is split wherever the horizontal gap between items exceeds a multiple of the font size — that multiple is the column gap sensitivity. Finally the resulting cells are snapped onto a shared set of column anchors so that rows line up even when a cell is empty or a value is shorter.

    That works well for the ruled or well-aligned tables that come out of reporting tools, bank statements, and invoices. It struggles with cells that wrap onto two lines, merged headers, and tables where columns are separated by a single space.

    Tuning the sensitivity

    What the workbook contains

    A real Office Open XML workbook — workbook.xml, a worksheet per sheet, and a small style table — written in your browser with no server involved. The first row of each sheet is bold, values that look numeric are written as numbers (so SUM works immediately), and everything else is written as an inline string, which keeps leading zeros in identifiers intact.

    Sheet names are the page numbers, so you can tell where each block came from. With Everything on one sheet, pages are separated by a blank row instead.

    FAQ

    Is this a real Excel file?

    Yes — a valid .xlsx package, not a CSV renamed. Excel, LibreOffice Calc, Numbers and Google Sheets open it directly.

    Why are my columns wrong?

    Column detection is geometric, so it depends on gap sizes. Adjust the column gap sensitivity: lower to split more aggressively, higher to merge. Tables with wrapped cells or merged headers usually need a manual tidy afterwards.

    Do numbers come through as numbers?

    Values that look numeric are written as numeric cells so formulas work straight away. Anything else stays text, which is what you want for account numbers and codes with leading zeros.

    What about scanned tables?

    There is no text layer to measure, so you get an error. Run OCR first — recognition adds positioned text, which this tool can then read.

    Is the PDF uploaded?

    No. Parsing and workbook generation both happen in this page.

    Related tools