Drop a PDF with tables into the upload box. The tool reads text positions and reconstructs rows and columns automatically.
Here's the honest truth: PDFs don't have tables. They have text painted at coordinates. There are no rows, no columns, no cells — just letters and numbers floating at x/y positions on a page. When you look at a PDF that appears to have a table, you're seeing the visual illusion created by those positions.
So "PDF to Excel" isn't a simple format conversion. It's a reconstruction problem. The tool has to read every piece of text, figure out which text belongs on the same row based on its y-position, then figure out which text belongs in the same column based on its x-position. Only then can it rebuild something that looks like a table.
That's what this tool does. It reads the PDF with PDF.js, extracts every text fragment along with its coordinates, groups fragments into rows and columns using position math, and then writes the result as a real Excel file with SheetJS.
The algorithm has three steps. Here's what happens when you click convert:
PDF.js returns every text fragment with a transform matrix. The key values are:
transform[4] — the x-position (distance from the left edge, in PDF points)transform[5] — the y-position (distance from the bottom edge, in PDF points)str — the actual text content of the fragmentwidth — how wide the fragment istransform[3] — the font size (used for tolerance scaling)
Fragments are sorted by y-position (descending, since PDF y-axis points up). Then they're walked in order, and a new row starts whenever the y-position jumps by more than a tolerance. That tolerance scales with font size — the tool uses Math.max(2.5, fontSize × 0.32). A fixed tolerance breaks on large headings; a pure relative one breaks on tiny footnotes. The max() of the two handles both.
Within each row, fragments are merged into cells. Fragments that are close together (within a small gap) become one cell. Then the tool collects the x-positions of every cell start across all rows and clusters them. Positions where many cells agree become column boundaries.
This is the part that benefits from tuning. The "Sensitivity" slider in the sidebar controls the clustering tolerance. Lower values produce more columns (good for tightly packed tables); higher values produce fewer, wider columns (good for tables with wide gaps).
Most online PDF to Excel tools ask you to upload your file to their server. Bank statements, invoices, financial reports — these are some of the most sensitive documents people handle. Handing them to a stranger's computer is a serious privacy risk.
This tool works differently. Everything runs inside your browser. The PDF is opened directly from your device's storage, text is extracted in memory, and the Excel file is generated locally. No upload, no server, nothing to leak.
Your PDF is probably a scanned image. There's no embedded text to extract. Use an OCR tool to add a text layer first, then come back. Alternatively, if the PDF came from a scanner, look for a "text" or "searchable" option in your scanner software.
Move the Sensitivity slider to a lower value (try 8 or 10) and click "Re-detect Columns." Lower sensitivity produces more columns. If that doesn't help, the PDF may not have enough horizontal spacing between columns for the algorithm to detect them.
Move the Sensitivity slider to a higher value (try 25 or 30) and click "Re-detect Columns." Higher sensitivity merges nearby columns into one. If the table has very tightly packed data, this is the fix.
Multi-line cells are the usual culprit. A cell that wraps to two lines in the PDF becomes two rows in the output. There's no automatic fix — the tool can't distinguish "two lines in one cell" from "two separate rows." You'll need to merge them manually in Excel afterward.
Each text fragment is being treated as its own row. This usually happens when a PDF has a lot of small text items with slightly different y-positions. Try increasing the "Skip empty rows" behaviour, or check whether the PDF is very old or produced by an unusual tool.
If the preview shows nothing, the PDF has no extractable text. See the "no readable text" answer above.
| Task | Tool | Output |
|---|---|---|
| Get tabular data into a spreadsheet | PDF to Excel | .xlsx with rows and columns |
| Get tabular data into a database or import tool | PDF to Excel (CSV) | .csv comma-separated |
| Get all text without structure | PDF to Text | .txt plain text |
| Edit the document as a Word file | PDF to Word | .docx editable |
| Turn pages into images | PDF to JPG | .jpg images |
Yes. Here's exactly what happens when you use this tool:
At no point does the file leave your device. No data is sent to SkillsInsider's servers. No tracking cookies watch your conversion. You can prove it yourself: turn off Wi-Fi after the page loads, then convert a PDF. It still works perfectly.
Yes — completely free. No sign-up, no watermark, no page limits, no per-file fee.
No. Everything runs locally in your browser using PDF.js and SheetJS. Your file never leaves your device.
No. This tool extracts text that is already embedded in the PDF. Scanned PDFs are images and need OCR first. Use our OCR tool to add a text layer, then convert to Excel. The tool detects empty text and warns you instead of producing a blank spreadsheet.
PDFs don't have real tables — they have text painted at x/y coordinates. The tool groups text into rows by y-position, then clusters x-positions across all rows to detect where columns begin. You can adjust the Sensitivity slider if the auto-detection isn't perfect.
Yes. Each page is processed and results are combined into one spreadsheet by default. You can toggle "One sheet per page" to create a separate sheet for each page — useful when different pages have different layouts.
Yes. Choose "Custom range" under Page Range and enter something like 1-5, 8, 12-15. Only those pages will be processed.
No. The tool reconstructs rows and columns from text positions. Merged cells, multi-line cells, and complex formatting are simplified. You get clean, well-organized data — not a pixel-perfect clone of the PDF layout. Numbers come out as text deliberately to avoid corrupting data like ZIP codes.
Once the page has fully loaded, yes. Turn off Wi-Fi and it still converts — all processing happens locally on your device.