PDF to Excel
Extract tables and structured data from any PDF into Excel (.xlsx) or CSV β right in your browser. Select specific pages, preview the extracted data before downloading, and choose single-sheet or one-sheet-per-page output. No upload, no server, no account.
How to Extract PDF Tables to Excel
Features
What Is PDF to Excel Extraction?
PDF documents store content as positioned text items β each character or word has an X and Y coordinate on the page rather than being structured into rows and columns the way a spreadsheet is. When a financial report, invoice, or data export is saved as a PDF, those table structures become implicit in the spatial arrangement of text, not in explicit markup. Extracting that implicit structure back into a spreadsheet requires analysing the positions and reconstructing the table geometry.
This tool does that reconstruction in your browser. PDF.js reads the raw text stream and returns every text fragment with its coordinates. The tool then groups fragments that share a Y-coordinate into rows, and clusters all X-start positions across those rows to identify column boundaries. The result is a two-dimensional array that matches the visual layout of the original table β ready to export as an Excel file you can immediately work with in any spreadsheet application.
Who Needs PDF to Excel Conversion?
Finance and accounting professionals are the most frequent users. Monthly bank reconciliations, accounts payable ageing reports, and tax schedules are routinely issued as PDFs β but analysis and comparison happen in spreadsheets. Re-typing numbers is slow and introduces errors. Extracting them automatically is both faster and more accurate.
Business analysts pull data from published financial reports, government statistics, and industry surveys. Procurement teams extract supplier price lists and tender comparison sheets from PDF quotes. HR departments process payroll exports, headcount summaries, and compliance reports. Researchers collect numerical data from journal papers, clinical trial summaries, and census publications. In each case the workflow is identical: receive a PDF, need the data in Excel, currently spending time on manual entry or awkward copy-paste that loses table structure.
Freelancers and consultants who receive client data locked in PDF form β expense reports, stock inventory lists, time-and-attendance exports β also benefit most. If you find yourself opening a PDF, selecting a table, and pressing Ctrl+C every week, this workflow will save you significant time. For situations where you only need narrative text rather than table data, our PDF to Text tool is faster. For multi-page tables split across sections, Split PDF helps isolate the relevant pages first.
Which PDFs Extract Best?
PDFs produced from structured data sources tend to extract cleanly. Any PDF that was generatedfrom software β Excel, accounting systems, ERP software, bank portals, reporting tools β typically has highly consistent text positioning, making column detection straightforward. Bank statements, payroll summaries, price lists, inventory exports, purchase orders, and financial schedules all fall into this category. The columns are well-aligned, the row spacing is uniform, and the text items map naturally to a grid.
PDFs that were printed to PDF from a word processor, or that contain complex multi-column layouts with running text rather than grid data, produce less predictable results. The column detection algorithm may group unrelated text from separate columns into the same cell, or split a paragraph across multiple columns. For reports that mix narrative text with tables, consider using our Split PDF tool to isolate the pages containing your tables before extracting. That keeps the column detection focused on a clean table page rather than a mixed layout. If you only need raw text without spreadsheet structure, our PDF to Text extractor is a simpler option.
How the Column Detection Works
The central challenge of PDF table extraction is that the PDF format has no concept of a βcolumnβ. What looks like a column to a human eye is just a set of text items that happen to start at similar X coordinates across multiple rows. The detection algorithm collects all X-start positions from every text item on the page and sorts them. It then scans through these positions and creates a new column boundary whenever the gap between consecutive positions exceeds a threshold (18 points by default). The resulting list of column boundaries is used to assign each text item to a column bucket.
This approach works well for tables with clear inter-column spacing. It can struggle when columns are very close together (tight tables), when a cell contains unusually wide content that pushes the X position of the next column's text, or when a table uses a two-row header where the second header row is indented differently from the data rows. In those cases, neighbouring columns may merge in the output. Some manual correction in Excel after downloading is expected for complex layouts β the goal is to get 80β90% of the structure right so you spend minutes rather than hours on clean-up.
Real Use Case: Extracting Monthly Bank Statements
A small business owner receives PDF bank statements with transaction tables β date, description, debit, credit, balance β across 3β8 pages per month. Manually re-entering 12 months of statements into Excel takes hours. Using this tool, she drops each statement PDF, selects all pages, and downloads the .xlsx with all transactions in a single sheet. The five-column structure from the statement maps correctly because bank statement PDFs use tight, consistent grid layouts with fixed column positions.
She applies a date format to the first column, number formats to the numeric columns, and the data is immediately ready for pivot tables and budget analysis. If some transaction descriptions were split across two text items in the PDF (a common bank statement quirk), they appear as two cells in the same row β a quick βmerge cellsβ step in Excel corrects those. Overall, what took 3 hours per year now takes under 10 minutes for all 12 statements. For large multi-year archives, use our Merge PDF tool to combine the statements first, then extract the full archive in one pass.
Real Use Case: Comparing Supplier Price Lists
A procurement manager at a mid-sized company receives PDF price catalogs from a dozen suppliers every quarter β each with 3β8 pages of product tables: SKU, description, unit of measure, price. She needs a single master spreadsheet comparing prices across suppliers for each product category, so the purchasing team can quickly identify the best rate per item.
Without this tool, the process is 96 copy-paste operations per quarter, with frequent formatting errors where tab-separated columns paste as single cells in Excel. With this tool, she opens each PDF, selects only the product list pages (skipping covers, terms of service, and marketing pages using the page selector), and downloads an .xlsx in under 30 seconds per catalog. One sheet per supplier, all 12 workbooks done in under 5 minutes. A VLOOKUP across the workbooks builds a comparison matrix in minutes, not hours. For catalogs where a cover page contains a supplier summary table she also wants, the Split PDF tool extracts that page separately. For catalogs with legal notes embedded beside the pricing table, the PDF to Text extractor isolates those notes without the table structure getting in the way.
Privacy: Why Browser-Based Extraction Matters
Most PDF-to-Excel services β including Adobe, ilovepdf, and Smallpdf β process your file on their cloud servers. For a PDF containing a public document or a non-sensitive report, that is generally acceptable. For a PDF containing bank transactions, payroll data, supplier pricing, client contracts, or healthcare information, uploading to an external server introduces meaningful risk. You have no visibility into how long the server retains the file, who can access it, or whether it was indexed.
This tool is architecturally different. Your PDF is read from disk into browser memory using the HTML5 File API. PDF.js β a JavaScript library originally developed by Mozilla β parses the PDF structure in that memory. SheetJS writes the extracted data into an .xlsx or CSV file in that memory. Your browser downloads the result directly to your disk. Zero bytes of your PDF content travel over the network. You can confirm this by watching the Network tab in browser DevTools while converting β there will be no outbound request carrying your document data. This makes the tool appropriate for documents that would otherwise require a Non-Disclosure Agreement before sharing with a third-party service.
Tips for Better Extraction Results
- Use page selection to isolate table pages. If your PDF has 40 pages but only pages 5β12 contain the tables you need, selecting only those pages speeds up extraction and reduces noise in the output from unrelated content.
- Try βSheet per pageβ for multi-table PDFs. When each PDF page contains a separate, independent table (monthly statements, different product categories), putting each page on its own worksheet makes the output immediately navigable without needing to scroll through separator rows.
- For dense numerical tables, choose XLSX over CSV. Excel can apply number formats to the columns β currency, date, percentage β once you open the file. CSV loses all formatting context and may require additional processing.
- Check the preview before downloading. The 60-row preview catches major structural issues β merged columns, duplicate rows from header repetition, scrambled column order β before the file is on your disk. If the preview looks wrong, try selecting a subset of pages or check whether your PDF might have rotated pages.
- Post-process in Excel with Text to Columns. If numbers appear concatenated (e.g., β1234.56β and β7890.12β in the same cell), use Data β Text to Columns to split them by a fixed width or delimiter.
Common Extraction Problems and How to Fix Them
- Numbers merged into one cell. Some PDFs store the decimal separator and thousands separator as separate text fragments. The tool joins adjacent items in each row, which can produce β1,234.56β as a single run-on string. Use Excel's Find & Replace or Data β Text to Columns to correct separators after downloading.
- Columns shifted or misaligned on some rows. Happens when a cell contains unusually wide content that pushes the X-position of the next column's text beyond the expected column boundary. Extract only the affected pages individually, or use the Split PDF tool to isolate those pages and extract them separately.
- Header row repeated on every extracted page. PDFs from reporting software often repeat the table header on each page for print layout. After extraction, use Excel's Remove Duplicates or a filter to eliminate repeated header rows β or use the page selector to skip duplicate-header pages from the selection.
- Blank output on a page that appears to contain data. The page is likely scanned (image-based with no underlying text). A placeholder label row appears in the output, and the page image is embedded below it in the Excel file for visual reference. For actual text from scanned pages, OCR software is required.
- Table spans multiple pages and splits awkwardly. Use βSheet per pageβ mode to get one worksheet per page, then manually paste continuation rows into a combined sheet in Excel. Alternatively, use the Split PDF tool to confirm which page range contains the table, then extract only those pages in one pass.
- Special characters or currency symbols appear garbled. Unicode symbols (Β£, β¬, Β₯) may render incorrectly if the PDF embeds a non-standard font encoding. Open the downloaded CSV version in Notepad++ with UTF-8 encoding to confirm the source characters, then use Find & Replace in Excel to correct them.
When Not to Use This Tool
If your PDF is a scanned document β photographed pages, faxed documents, or any PDF where the text cannot be selected in a PDF viewer β this tool will flag those pages and produce placeholder rows with the page image embedded below for reference, but no spreadsheet data will be extracted. Genuine text extraction from scanned pages requires OCR (Optical Character Recognition) software. Adobe Acrobat Pro, ABBYY FineReader, and Microsoft's PDF import in Office 365 all include OCR. For documents that are mostly text with just a few data tables, our PDF to Text extractor may be a better starting point β it pulls the raw text without trying to infer column structure.
This tool also cannot extract data from charts, graphs, or visualisations β those are rendered as graphics in the PDF with no associated text structure. If you need the underlying data that a chart represents, you will need to access the original source file (the Excel workbook or database that generated the chart) rather than the PDF. For documents where the primary value is formatted text rather than tabular data, our PDF to Word converter is a better fit β it preserves headings, paragraphs, and document structure rather than trying to reconstruct spreadsheet layout.