How to copy a table out of a PDF into Excel or Google Sheets

2026-07-13

You've probably tried the obvious thing: select the table inside a PDF, copy it, and paste it into Excel — only to get every column jammed into a single cell, or rows scrambled out of order, or numbers with random line breaks in the middle. PDF was never designed to store "table" as a concept; it just places individual pieces of text at specific coordinates on a page, so a plain copy-paste has no idea which words belong to the same row or column.

The fix for a normal, text-based PDF

Most PDFs generated by a computer — bank statement exports, invoices, reports — have real, selectable text underneath, even though it looks like a table visually. Our PDF to CSV tool reads that text along with its exact position on the page, then reconstructs rows and columns based on where everything actually sits, rather than just reading text in reading order. You get a preview of the detected table before downloading, so you can check the columns landed where you expect, then download a CSV file that opens straight into Excel, Google Sheets, or LibreOffice.

If your "PDF" is actually a scanned image

A scanned document — a photo of a printed table, or a PDF made by scanning paper — has no text layer at all, just a picture of a page. PDF to CSV can't read text that isn't there. For that case, use Image to CSV instead: take a photo or screenshot of the table (or export the scanned PDF's page as an image first) and it runs OCR on it, reading the text out of the picture and figuring out the table structure the same way — a preview, then a downloadable CSV.

Why it opens correctly with accented characters

Both tools generate the CSV with a UTF-8 byte-order mark, which is the specific detail that makes Excel — including Portuguese and Spanish regional versions — display accented characters (á, ã, ñ, ç) correctly instead of turning them into garbled symbols, a classic problem with CSVs exported from other tools. Just double-click the file, or import it directly in Google Sheets.

Both run entirely in your browser

Whether you use the text-based extractor or the OCR-based one, your PDF or photo is processed locally using pdf.js or a WebAssembly OCR engine — nothing gets uploaded to a server, which matters if the table has anything sensitive in it, like a bank statement or a client list.