← Back

PDF to Excel

Extract PDF table data into Excel

This is a simplified tool: it roughly reconstructs rows and columns from the text's coordinates on the page. Complex merged cells, charts, or heavily styled tables may not come out accurately — best for simple tables or text-based PDFs.
Choose a PDF file

About PDF to Excel

PDF to Excel reads the text inside a PDF, arranges it into rows and columns according to where each piece of text sits on the page (empty cells stay empty instead of shifting later values left), and produces a downloadable .xlsx file. It helps to be clear about what it is: a simplified extraction tool, not professional table-recognition software. It works best on text-based PDFs with simple tables or lists, and it can do little with merged cells, nested tables, charts, scanned (image-only) PDFs or password-protected files.

How to use it

  1. Click the dashed area "Click to upload a PDF" and choose an unencrypted PDF. The page shows "Parsing…" and the upload area is unavailable until it finishes.
  2. The tool reads the file page by page. For each page it writes a marker row such as "Page 1", then groups that page's text into rows by vertical position, collects the starting x positions of all text pieces on the page and clusters those within 8 units of each other into one column, puts each piece into the cell of its column, and leaves a blank row after the page.
  3. When it finishes, the page shows "Done. Extracted N row(s) of data". That count includes the page-marker rows and the blank rows.
  4. Click "Download file name.xlsx" to save the result. The file keeps the PDF's name, the sheet is always called Sheet1, and all pages follow one another on that single sheet.
  5. Open the file in Excel, WPS or another spreadsheet program and compare it with the PDF, tidying column alignment and number formats by hand.

A real run of the grouping logic

This example comes from running the tool's own grouping and column-detection code on hand-made position data, not from a real PDF. The input had three rows: "Item, Qty, Price" starting at x = 10, 100 and 200, then "Apple, 3, 12.50" aligned with it, then "Pear, 12.50", where the Pear row has no quantity and only two pieces, at x = 10 and 200. The output rows were [Item, Qty, Price], [Apple, 3, 12.50] and [Pear, (empty), 12.50]: the price stays in the third column and the quantity cell is left empty. In a second test, three text pieces on one visual line had vertical positions of 700.4, 698.9 and 701.6; within 3 units of each other, they form one row, giving [A, B, C]. In a third, the second row started at x = 10 and 103 against 10 and 100 in the first; the differences are within 8, so they stay in the same two columns, while starts more than 8 units apart are treated as a new column. Purely numeric cells such as 3, 12.50 and 1,234.5 are written as real numbers and can be summed directly; values with leading zeros (such as 007) are kept as text.

Supported range and known limits

  • Only the PDF's text layer can be extracted. For scanned PDFs, photo-based PDFs or tables saved as images there is no text to read, so the result contains only the page-marker rows. Such files need OCR first; you can save a page as an image and run it through the Text Extractor (OCR) tool.
  • Rows come from clustering vertical positions (a fragment within 3 units of the row's first fragment joins that row), and columns come from clustering the starting x positions of all text pieces on the page (within 8 units counts as one column). The tool does not detect table lines or cell borders. Missing cells stay empty, but if a column is centred or right-aligned (right-aligned amounts, for example, start at different x on each row), starts more than 8 units apart split it into several columns; conversely, pieces that start within 8 units of each other in different logical columns are merged into one (several pieces landing in the same column on a row are joined with a space).
  • A row is assembled from the PDF's text fragments. Neighbouring fragments separated by only a tiny horizontal gap (about 0.6 of the text height or less) are merged into one cell so that words in running text are not split apart; larger gaps start a new cell. A spreadsheet cell therefore does not always match what you would call one table cell. The number of columns on a page depends on the start positions of all rows, so a text-heavy page with varying indents or headings can show many empty columns. Leading and trailing whitespace in a cell is trimmed, and whitespace-only pieces are ignored.
  • Purely numeric values (including ones with thousands separators) are written as numbers; dates and values with currency symbols or units stay as text and are not converted into Excel dates.
  • There is a single sheet named Sheet1, with the pages listed one after another. Fonts, colours, borders, merged cells and images are not carried over.
  • Password-protected PDFs cannot be parsed and produce "Parsing failed. Please make sure the file is an unencrypted PDF". Damaged files show the same message.
  • No file size limit is set, but the whole file is processed in browser memory, so PDFs with many pages or a large size can be slow or may hang. Rotated pages and vertical text have no special handling.

FAQ: Why don't the columns line up in my spreadsheet?

The tool does not recognise table lines; it infers columns from where text pieces start. Empty cells now stay empty, but a centred or right-aligned column whose rows start at positions more than 8 units apart can be split into several columns or end up misaligned, and then the only fix is to adjust by hand in Excel. Left-aligned, neatly arranged PDFs give the best results.

FAQ: Why is my output almost empty?

Most likely your PDF is a scan or an image and has no selectable text. Open it in a PDF reader and try selecting a line of text with the mouse. If you can, a text layer exists; if you cannot, it is only a picture. Image-only PDFs need OCR before any text can be extracted.

FAQ: Why can't I sum the numbers in Excel?

Purely numeric values are already written as numbers and should sum directly. Values with currency symbols, units or other characters (such as "$12.50") and values with leading zeros remain text, so you may see a small green triangle in the corner of the cell, or find the values left-aligned. In Excel, remove the extra characters, then select those cells and use Text to Columns or the "Convert to Number" prompt to change them in bulk.

FAQ: Can I convert several PDFs at once?

No. The tool handles one PDF at a time, and choosing a new file parses it and replaces the previous result. For multiple files, process them one by one and download each result separately.

Privacy and how files are processed

Parsing the PDF and building the Excel file both happen in your browser. The file is read locally, a PDF library running in the page extracts the text, a spreadsheet library creates the .xlsx, and the download is offered through a temporary local link. The file is not sent to a server and no sign-in is needed. Closing or refreshing the page clears the loaded file and the result.