PDF to CSV online
pdf2rows converts PDF to CSV online. Upload a PDF, check the tables it finds, and download plain, comma-separated files you can load into a database, a script, an accounting import, or any spreadsheet. CSV is the most portable way to move tabular data between tools, and this page explains exactly what the output looks like.
Open the converter, free for 5 pages a day
How to convert PDF to CSV online
- Open the converter and upload your PDF (up to 20 MB).
- Review the preview of each detected table.
- Click Download CSV. A PDF with one table gives you a single
.csvfile. A PDF with several tables gives you a.zipcontaining one CSV per table, named liketable_2_page_1.csvso you can tell where each one came from.
CSV output format
- Encoding: UTF-8, so accented letters and currency symbols come through intact.
- Delimiter: comma. Cells containing commas, quotes or line breaks are wrapped in double quotes, with quotes escaped by doubling (standard RFC 4180-style quoting).
- Whitespace: runs of spaces and line breaks inside a cell are collapsed into single spaces, so a wrapped description becomes one clean value.
- Empty columns: columns that are blank in every row are removed.
- Values: everything is written exactly as printed in the PDF, so
1,234.50stays1,234.50. Your import tool decides how to parse numbers and dates.
CSV vs. XLSX
CSV has no sheets, formatting or data types. That makes it the safest choice for imports, version control and scripts, but numbers with thousands separators will be read as text by some tools until you clean them. XLSX keeps one sheet per table and stores numbers as real numbers. If you're not sure, download both from the same conversion. It doesn't use extra pages. The PDF to Excel converter page covers the XLSX output.
Importing the CSV
- Google Sheets: File → Import → Upload, then choose “Comma” as the separator.
- Databases: most have a bulk CSV loader (for example
COPY ... FROM ... CSV HEADERin PostgreSQL). The first row is the table's header row. - Python or R:
pandas.read_csv()orread.csv()read the files directly. Usethousands=','in pandas to parse amounts. - Spreadsheet apps in regions that use semicolons: use the app's text import option and pick comma as the delimiter.
Converting statements and reports to CSV
CSV is a common format for bookkeeping and budgeting imports, which is why statements are one of the most common things people convert. The bank statement PDF to Excel guide covers the checks worth doing on transaction data, like wrapped descriptions and debit/credit columns. Those checks apply equally to CSV.
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
Does downloading CSV and XLSX count twice against the free limit?
No. Pages are counted when the PDF is converted, not when you download the results.
Can I choose a semicolon or tab delimiter?
Not yet. The output always uses commas. Most import tools let you specify the delimiter, so comma-separated files work almost everywhere.
Is there a header row?
The first row of each CSV is the first row of the table as it appears in the PDF, which is normally the header.
Is my data stored on the server?
No. The PDF is deleted when the conversion finishes and the tables are only sent back to your browser.