Skip to content
Comma, semicolon or tab · UTF-8 · properly quoted

PDF to CSV Converter

Extract a PDF table into CSV that survives contact with real software: quoted values, escaped quotes, UTF-8 with a byte-order mark, and a delimiter you choose. Converted locally, never uploaded.

Why CSV instead of Excel

If you are going to look at the numbers, take Excel. If you are going to feed them to something else, take CSV. It is the one format every tool reads: QuickBooks and Xero import wizards, bank reconciliation templates, Pandas, R, Postgres COPY, a five-line Python script, a Google Sheet shared with your accountant.

CSV is also the honest format. An .xlsx file can quietly store a number as text with a leading apostrophe, or a date as a serial number with a display format bolted on. A CSV contains exactly the characters you can see.

The three things that break CSV exports

1. The delimiter collides with the data

A merchant called SMITH, JONES & CO inside a comma-separated file will split into two columns unless it is quoted. This converter wraps any value containing the delimiter, a double quote or a newline in quotes, and doubles the internal quotes — the RFC 4180 rules, which is what every importer expects.

2. The encoding is a guess

Export UTF-8 without telling Excel, and € becomes €, and any non-Latin merchant name becomes noise. Files here are written as UTF-8 with a byte-order mark, which is the combination Excel on Windows opens correctly. LibreOffice, Numbers and Python's csv module all handle the BOM without complaint.

3. European Excel wants semicolons

In locales where the decimal separator is a comma, Excel treats the comma as a decimal point and refuses to split columns. Pick Semicolon from the delimiter menu and the import wizard behaves.

Numbers stay numbers. Amounts are parsed before writing, so 1,240.00 is written as 1240, not as the string "1,240.00". Downstream tools then treat the column as numeric without a cast step. If you would rather keep the original formatting characters, turn off Recognise numbers.

Choosing a delimiter

TargetUseWhy
Excel (US/UK), Google Sheets, NumbersCommaDefault everywhere, splits on open
Excel (DE/FR/ES/BR and similar)SemicolonComma is the decimal separator there
QuickBooks, Xero, FreeAgent importsCommaTheir column mappers expect it
Postgres COPY, MySQL LOAD DATATabAvoids quoting entirely for most data
Legacy COBOL-era systems, some payrollSemicolonTheir fixed spec says so

FAQ

Why does Excel put everything in one column when I open the CSV?

Your Excel expects a different delimiter. If you are in a locale that uses a comma as the decimal separator, re-export with Semicolon. Alternatively use Data → From Text/CSV and choose the delimiter manually.

Are accented characters preserved?

Yes. Text is kept as Unicode throughout and written with a BOM so Excel does not guess the encoding. If a name looks wrong in Excel, it is Excel applying a legacy charset — open the same file in Google Sheets to confirm the data itself is intact.

Can a value contain a line break?

A cell can contain a newline, and it will be quoted so the row does not break. In practice this only happens with multi-line addresses, which are usually excluded with the table-only setting.

Is the CSV written on your server?

There is no server involved. The CSV string is built in JavaScript and handed straight to your browser as a download.

Convert a PDF to CSV