Extract tables from PDF
pdf2rows lets you extract tables from PDF files in your browser. It finds the tables on each page, previews them, and lets you download them as CSV or XLSX. Below is a plain explanation of how the extraction works, so you know which results to trust straight away and which to double-check.
Open the converter, free for 5 pages a day
How we extract tables from PDF pages
A PDF doesn't store tables. It stores pieces of text at x/y positions, plus lines and shapes. Extracting a table means rebuilding the grid from that. For each page, pdf2rows tries three methods in order and uses the first one that produces a real table (at least two rows and two columns):
- Ruled detection: if the table has borders or cell lines, those lines define the cells exactly. This is the most accurate method.
- Text-row parsing: if there are no lines, words are grouped into rows by vertical position, and each row is split into cells wherever there's a horizontal gap wider than normal word spacing. The row with the most cells sets the column positions, and every other row's cells are matched to the nearest column. Lone lines of text, like titles and footers, are left out.
- Text grid: as a last resort, a grid is inferred from how text lines up across the page.
The preview labels each table with the method that found it (ruled, text-rows or text-grid), so you can focus your checks where they matter.
Good inputs for PDF table extraction
- PDFs exported from software: accounting and invoicing tools, ERPs, report generators, spreadsheets saved as PDF.
- Invoices, price lists, timetables, inventory lists, and data tables in reports.
- Bank and card statements. See bank statement PDF to Excel for statement-specific tips.
Harder inputs include scanned pages (no text layer, so nothing to extract yet), tables with many merged cells, text rotated sideways, and two-column article layouts, which can look like a table to the text-row parser.
What you get after extracting
- XLSX: one sheet per table (or all on one sheet), bold header row, numbers stored as numbers. See the PDF to Excel converter page.
- CSV: UTF-8, comma-separated, one file per table (zipped if there's more than one). See PDF to CSV online.
Cell text is cleaned up: repeated spaces and line breaks inside a cell are collapsed, and columns that are empty in every row are dropped.
Checking the extracted data
- Compare the row count in the preview (shown as rows × columns) with the PDF.
- Look at the widest row. If a column is missing or two values share a cell, the columns were very close together in the PDF.
- For financial tables, total a column and compare it with a total printed in the document.
If you're combining tables from many pages, the convert PDF tables to a spreadsheet guide explains how to stack them.
Current limitations
- Scanned PDFs: pages that are just images have no text layer, and OCR is not supported yet. If you can't select the text in your PDF viewer, the converter won't find it either.
- Password-protected PDFs: remove the password first (you need to know it).
- Complex layouts: merged cells, rotated text and nested tables may need a quick cleanup after download.
- Size: up to 20 MB per file. The free plan converts 5 pages per day; Pro ($9/month, 7-day free trial) removes the daily limit.
Frequently asked questions
Is there an API for extracting tables?
Not yet. Today the extractor is available through the web converter only.
Why did it find a table that isn't really a table?
Two-column text or aligned forms can look like a table to the text-row parser. Just ignore that table in the preview or delete its sheet.
What's the file size limit?
20 MB per PDF. The free plan converts 5 pages per day, and Pro removes the daily page limit.
Do you keep the files I upload?
No. Each PDF is deleted as soon as its tables are extracted.