Back to all posts
How to Convert PDF to CSV: 5 Methods Compared

How to Convert PDF to CSV: 5 Methods Compared

Published on July 11, 2026 by CapyParse Team

The data you need is sitting right there in a PDF: a bank statement, a report, an exported invoice list. You can see the table, but you cannot use it. Excel wants a CSV, your accounting software wants a CSV, and retyping hundreds of rows is not a real option. This guide compares the five methods that actually work, so you can pick the right one for your document instead of trying them all the hard way.

Quick Summary: 5 Methods at a Glance

  • Method 1: Excel Power Query. Best free option for a simple table in a digital PDF, but it cannot read scans.
  • Method 2: Google Docs roundabout. Free and works anywhere, but columns usually collapse and cleanup is painful.
  • Method 3: Adobe Acrobat export. Decent on clean tables if you already pay for it, with no understanding of the data itself.
  • Method 4: Python and command-line tools. Free and scriptable for developers, but they break on scanned PDFs.
  • Method 5: Purpose-built converters (CapyParse). The most reliable path for bank and financial statements, including scanned ones.

Why PDF to CSV Is Harder Than It Should Be

Converting a PDF to CSV sounds like a one-click job. It is not, and the reason explains exactly why each method below succeeds or fails.

PDFs Store Positions, Not Tables

A PDF is a set of instructions for drawing a page: put this text at these coordinates, draw a line here. The table you see is a visual arrangement, not a data structure. There are no rows, columns, or cells inside the file. A CSV is the opposite: pure structure. Every conversion is therefore a reconstruction job. The tool must guess, from positions alone, which pieces of text form a row, where columns begin and end, and whether a second line is a new row or a continuation of the one above. Wrapped descriptions, merged headers, subtotals, and page breaks make that guess hard, and that is where most converters fall apart.

Scanned PDFs Are Just Pictures

It gets worse if your PDF was scanned, photographed, or faxed. A scanned PDF contains no text at all, only an image of text, so any tool that reads the text layer finds nothing. Converting a scan requires optical character recognition (OCR) before table reconstruction can even begin. Check which kind you have first: if you can click and drag to select text in the PDF, it is native; if you cannot, it is a scan.

Method 1: Excel Power Query (Free with Excel)

If you have Microsoft 365 or a recent version of Excel for Windows, you already own a capable PDF table extractor: Power Query. It reads the internal structure of a native-text PDF, detects tables, and loads them into a worksheet, and saving as CSV from there takes seconds. For a clean, digitally generated table, this is the best free method on this list.

Step-by-Step

1. Open the PDF Connector

In a blank Excel workbook, go to the Data tab and choose Get Data > From File > From PDF, then select your PDF. On Mac, this feature requires a Microsoft 365 version of Excel.

2. Pick the Right Table in the Navigator

Excel scans the file and lists what it found: detected tables (Table001, Table002) and whole pages (Page001). Click each entry to preview it. Detected tables are usually cleaner; whole pages include headers, footers, and everything else.

3. Clean Up in Power Query Editor

Click Transform Data instead of Load. In the editor, promote the first row to headers, set column types, and remove junk rows. If your table spans multiple pages, append the per-page tables into one, then choose Close & Load.

4. Save As CSV

Go to File > Save As and pick CSV UTF-8. Excel saves only the active sheet to CSV, which is what you want here.

Pros and Cons

  • No extra cost: Included with Excel, which most offices already have.
  • Real table detection: Reads the PDF structure, so simple tables come out clean.
  • Built-in cleanup tools: The editor handles headers, types, and filtering before the data hits your sheet.
  • Cannot read scanned PDFs: If there is no text layer, the Navigator comes back empty or with garbage.
  • Multi-line rows split badly: A transaction description that wraps onto a second line usually becomes a separate, broken row.
  • Per-page detection: Long tables arrive as one fragment per page, and column boundaries can shift between fragments.

Verdict: The right first move for a one-off, digitally created PDF with a straightforward table. For statements with wrapped descriptions or any scanned document, you will spend more time repairing the output than you saved.

Method 2: Google Docs and Other Free Roundabouts

No Excel? There is a zero-cost workaround using Google Drive. It runs in any browser, but be honest about what you are getting: a text dump, not a table.

Step-by-Step

1. Upload the PDF to Google Drive

Drag the PDF into Google Drive in your browser and wait for the upload to finish.

2. Open It as a Google Doc

Right-click the file and choose Open with > Google Docs. Google converts the PDF into an editable document, and will even attempt to recognize text in scans, though the layout rarely survives the trip.

3. Copy into Google Sheets

Select the table region in the Doc and paste it into Google Sheets. Most of the time everything lands in a single column; use Data > Split text to columns, then fix what the split gets wrong.

4. Download as CSV

Once the columns are repaired, choose File > Download > Comma Separated Values to get your CSV.

Pros and Cons

  • Completely free: No software, no license, works on any computer with a browser.
  • Can read some scans: The Drive conversion attempts text recognition, which text-layer tools cannot do.
  • Columns are usually destroyed: The conversion flattens tables into paragraphs, and you rebuild the structure by hand.
  • Error-prone at any scale: Reflowed numbers and merged lines are easy to miss. Past a page or two, cleanup outweighs the savings.

Verdict: A last resort for grabbing a handful of rows when you have no other tools. Do not use it for financial data you need to trust.

Method 3: Adobe Acrobat Export

Adobe Acrobat (the paid Pro version, not the free Reader) can export a PDF to Excel, and from Excel you save as CSV. Its one real advantage over the free methods is OCR during export, so scanned documents produce something rather than nothing. What it lacks is any understanding of what the data means.

Step-by-Step

1. Open the PDF in Acrobat

Export requires a paid subscription. The free Reader will only prompt you to upgrade.

2. Export to Excel

Choose All tools > Export a PDF > Microsoft Excel. On scanned files, Acrobat applies OCR automatically before building the spreadsheet.

3. Inspect the Workbook

Open the .xlsx in Excel. Expect headers, footers, and marketing text mixed in with your table, plus merged cells where the layout confused the export. Delete the page furniture and unmerge cells.

4. Save As CSV

Once the sheet contains only your table, save as CSV UTF-8 and spot-check dates and amounts against the original.

Pros and Cons

  • Decent fidelity on clean tables: Well-aligned, digitally created tables usually export with columns intact.
  • Handles scans: Built-in OCR means scanned documents produce editable output instead of failing outright.
  • Paid subscription: Expensive if PDF export is the only feature you need from it.
  • No transaction-level intelligence: It exports what it sees. It will not normalize dates, separate debits from credits, or recognize a running balance.
  • Whole-page exports: Everything on the page lands in your spreadsheet, so multi-page documents need cleanup on every page.

Verdict: Reasonable if you already pay for Acrobat and your tables are clean. For financial documents, the lack of data awareness means you still do the accounting-specific cleanup yourself, every time.

Method 4: Python and Command-Line Table Extractors

For developers, open-source table extractors like Tabula (Java, with a browser interface), Camelot, and pdfplumber (both Python) are free, run entirely on your own machine, and can be scripted into a repeatable pipeline. They reconstruct tables from character coordinates and ruling lines in native-text PDFs. When the layout is consistent, results are good; when it is not, you are debugging.

Step-by-Step

1. Install the Tool

Tabula requires Java and runs as a local app in your browser. Camelot installs through pip and runs from Python scripts or the command line.

2. Choose a Detection Mode

Both tools offer two strategies: lattice mode for tables with drawn borders, and stream mode for borderless tables aligned by whitespace. Picking the wrong one is the most common cause of garbled output.

3. Tune the Extraction

Define table areas, adjust column separators, and check how wrapped rows are handled. In Tabula you draw regions on each page; in Camelot you pass coordinates as parameters.

4. Export and Script It

Export the result as CSV. If you process the same layout regularly, wrap the settings in a script so future files convert with one command. That repeatability is the real payoff.

A Working Script

The fastest way to see whether this route fits your documents is to run it. The script below uses pdfplumber, which installs with a single pip command and needs no Java. It pulls every table from every page, drops the header rows that repeat when a table spans multiple pages, and writes one CSV next to the PDF:

# pip install pdfplumber
import csv
import sys

import pdfplumber

pdf_path = sys.argv[1]
csv_path = pdf_path.rsplit(".", 1)[0] + ".csv"

rows = []
with pdfplumber.open(pdf_path) as pdf:
    for page in pdf.pages:
        for table in page.extract_tables():
            for row in table:
                cells = [(cell or "").replace("
", " ").strip() for cell in row]
                if any(cells):
                    rows.append(cells)

if not rows:
    sys.exit("No tables found. If this is a scanned PDF, there is no text layer to read.")

header, body = rows[0], rows[1:]
body = [r for r in body if r != header]  # drop headers repeated on later pages

with open(csv_path, "w", newline="", encoding="utf-8") as f:
    writer = csv.writer(f)
    writer.writerow(header)
    writer.writerows(body)

print(f"Wrote {len(body)} rows to {csv_path}")

Save it as pdf_to_csv.py and run it with the PDF as the argument: python pdf_to_csv.py statement.pdf. On a two-page bordered table of 60 transactions, this exact script produces a clean 60-row CSV with the repeated page-two header removed. On a PDF with no text layer it stops with the scanned-document warning instead of writing an empty file, which is your cue that you need OCR (Method 5) rather than a table extractor.

The catch is everything after the happy path. Borderless tables may need pdfplumber's table settings (or Camelot's stream flavor) tuned per layout, wrapped descriptions can split one transaction across two rows, and every bank formats its columns differently, so a script tuned for one statement rarely survives contact with the next bank's layout unchanged.

Pros and Cons

  • Free and open-source: No cost, and your data never leaves your machine.
  • Scriptable and repeatable: Ideal for automating identically formatted PDFs inside a data pipeline.
  • Fine-grained control: Every detection parameter is adjustable when the defaults fail.
  • Technical setup required: Java or Python environments, dependencies, and command-line comfort are all assumed.
  • Breaks on scanned documents: These tools read text layers. A scan has none, so you would need to bolt on a separate OCR step.
  • Fragile on messy layouts: Wrapped descriptions, shifting columns, and multi-page tables need custom handling.

Verdict: The best choice for developers processing many identically formatted, digitally generated PDFs. For one-off conversions or scans, the setup cost is hard to justify. We compare these tools in more depth in our guide to extracting data from bank statements.

Method 5: Purpose-Built Converters (CapyParse)

The methods above are generic: they treat every PDF as an anonymous grid of text. Purpose-built converters specialize in one document type instead. CapyParse is built specifically for bank and financial statements, and that focus is worth being explicit about: for a research-paper table or a product catalog, Methods 1 to 4 are the better fit. But for a bank statement, credit card statement, or similar financial document, specialization is exactly what fixes the failure modes the generic tools share: scanned files, wrapped descriptions, and tables that run across many pages.

Step-by-Step

1. Upload Your PDF

Go to the PDF to CSV converter and upload your statement. Digital PDFs, scans, and photos all work, and you can upload multiple files at once. For bank and credit card statements specifically, the bank statement converter is the dedicated entry point.

2. Preview and Edit

CapyParse shows the extracted transactions as clean rows: dates, descriptions, amounts, and balances, with multi-page tables joined into one continuous list. Review the preview and edit any field before you export, so mistakes never reach your books.

3. Export as CSV, Excel, or QBO

Download the result in the format your workflow needs: CSV for spreadsheets, Excel for analysis, or QBO for direct import into QuickBooks. No intermediate cleanup required.

Pros and Cons

  • Handles scanned documents: Scans, photos, and faxed statements convert alongside digital PDFs. No separate OCR step to configure.
  • Understands financial layouts: Wrapped descriptions, debit and credit columns, running balances, and multi-page tables are handled as what they are.
  • Preview and edit before export: You verify and correct the data in the browser instead of hunting for errors in a finished CSV.
  • Three output formats: CSV, Excel, and QBO, ready for QuickBooks, Xero, or any spreadsheet.
  • Specialized, not generic: Built for bank and financial statements. It is the wrong tool for arbitrary PDF tables like scientific data or catalogs.
  • Not unlimited for free: You can start for free, but ongoing volume requires a plan (see pricing).

Verdict: For financial statements, this is the method that removes the cleanup work instead of relocating it. For anything else, pick from Methods 1 to 4.

Side-by-Side Comparison

Here is how the five methods compare on the factors that decide the outcome:

Method Cost Scanned PDF Support Table Fidelity Effort
Excel Power Query Included with Excel None Good on simple tables; wrapped rows break Medium
Google Docs roundabout Free Partial (text only, layout lost) Poor; columns usually collapse High
Adobe Acrobat export Paid subscription Basic OCR included Decent on clean tables; no data awareness Medium
Python tools (Tabula, Camelot) Free None without extra OCR Good on consistent digital layouts High (technical)
CapyParse Free to start, then paid Yes High on financial documents; preview and edit built in Low

Which Method Should You Use?

Match the method to the document. Two questions settle it: what kind of PDF do you have (native text or scan, simple table or financial statement) and how often will you do this?

A one-off, simple table in a digital PDF

Use Excel Power Query (Method 1). It is free with Excel and handles clean tables well. No Excel? The Google Docs roundabout (Method 2) can rescue a few rows if you rebuild the columns by hand.

Recurring bank or credit card statements

Use a purpose-built converter (Method 5). Statement layouts defeat generic tools in predictable ways, and repeating the cleanup every month compounds the cost. Our walkthrough on downloading a bank statement as a CSV file covers the full path from your bank portal to QuickBooks.

Scanned or photographed documents

Your options narrow to tools with OCR: Acrobat (Method 3) for generic pages if you already pay for it, or CapyParse (Method 5) for financial statements. Everything else finds no text to extract. See our guide to converting scanned bank statements to CSV.

A developer pipeline over many identical PDFs

Use Tabula or Camelot (Method 4). Invest the setup time once, encode the layout in a script, and every future file converts automatically. Confirm your PDFs are digitally generated first.

Real-World Use Cases

Bookkeeper

A bookkeeper receives PDF statements from a dozen client accounts every month. Power Query chokes on the wrapped descriptions, and fixing each export by hand eats billable hours. Uploading the batch to CapyParse turns each statement into an import-ready CSV or QBO file, verified in the preview before it touches the books.

Analyst

An analyst needs one pricing table out of a 40-page vendor report, a digital PDF with a clean grid. This is exactly what Power Query is for: pick the table in the Navigator, load, save as CSV. Zero cost, no new tools.

Small Business Owner

A small business owner catching up on a year of bookkeeping has a folder of scanned statements and photographed documents. Copy-paste finds nothing to copy, and Tabula sees empty pages. Because CapyParse handles scanned documents, the whole folder converts to CSV in one session, with fixes made in the preview instead of a broken spreadsheet.

Frequently Asked Questions

What is the easiest way to convert a PDF to CSV?

It depends on the document. For a simple table in a digitally created PDF, Excel Power Query is the easiest free option: use Get Data, From File, From PDF, then save the result as CSV. For bank statements, scanned documents, or anything with multi-page tables, a purpose-built converter like CapyParse produces clean CSV with far less cleanup.

Can Excel convert a PDF to CSV for free?

Yes, if you already have Excel. Power Query (Get Data, From File, From PDF) detects tables in native-text PDFs and loads them into a worksheet, which you can then save as a CSV file. It does not work on scanned PDFs, and rows with wrapped, multi-line text often split incorrectly, so budget time for cleanup on anything but simple tables.

How do I convert a scanned PDF to CSV?

Scanned PDFs contain images rather than selectable text, so tools that read the text layer (Power Query, Tabula, Camelot, copy-paste) return nothing. You need a tool with OCR. Adobe Acrobat applies basic OCR during export, and purpose-built converters like CapyParse are designed to read scanned and photographed financial documents and turn them into clean CSV, Excel, or QBO files.

Why do PDF tables get scrambled when I copy them into a spreadsheet?

PDFs do not store tables. They store individual pieces of text positioned at coordinates on a page, and the grid you see is purely visual. When you copy that text, the row and column structure is lost, so values land in the wrong cells or collapse into a single column. Converters have to rebuild the table structure, which is why results vary so much between tools.

What is the best way to convert bank statement PDFs to CSV?

A converter built specifically for financial documents. Generic PDF tools treat a statement like any other page, so running balances, wrapped descriptions, and multi-page transaction tables cause errors. CapyParse is designed for bank and credit card statements: it handles scanned documents, lets you preview and edit every transaction before export, and outputs CSV, Excel, or QBO ready for your accounting software.

Convert Your PDF to CSV in Seconds

Upload a bank or financial statement (digital or scanned), preview and edit the transactions, and download clean CSV, Excel, or QBO files.

Try the PDF to CSV Converter

Start free. No credit card required. View pricing for higher volumes.

Related Articles