PDF to CSV converter for data you need to import, not just read
A report, price list or data export only came as a PDF, and you need the rows in a database, a CRM, a BI tool or a Python script. Your todo.is agent pulls the tables out, joins tables that run over many pages, normalizes numbers and dates, and writes a CSV that imports without errors.
The prompt
- Extract the table data from the attached PDF into CSV: [ATTACH THE PDF]. I need [WHICH TABLE] as one CSV with a single header row named [COLUMN NAMES]. Join the table across pages and drop repeated headers, page numbers, subtotals and footnote markers. Write numbers with a dot for decimals and no thousands separators or currency symbols, dates as YYYY-MM-DD, and empty cells as empty. Use [DELIMITER], UTF-8, and quote text that contains the delimiter. Tell me the row count and any rows you were unsure about.
What to change
- [ATTACH THE PDF]: Attach the PDF, up to 50 MB. Scanned PDFs work after OCR.
- [WHICH TABLE]: E.g. "the main transactions table", "all tables, one CSV each" or "the table on pages 5 to 22".
- [COLUMN NAMES]: E.g. "date, sku, description, qty, unit_price" or "as in the PDF".
- [DELIMITER]: E.g. "comma", "semicolon" or "tab".
Example result
- PDF to CSV: Wholesale_Price_List_2026.pdf
- 21 pages · main table on pages 3 to 21 · 1,486 rows · 7 columns · comma, UTF-8
- Columns
- sku, description, category, pack_size, unit_price, rrp, valid_from
- What was removed
- • The table header repeated on each of the 19 pages (kept once at the top)
- • "Subtotal: Garden" rows between categories (12 rows); the category is in its own column instead
- • Page footers "Page 7 of 21" and the footnote markers * and †
- • Blank spacer rows
- Normalization
- • "€1.249,50" → 1249.50
- • "12,00" → 12.00
- • "1 Mar 2026" → 2026-03-01
- • Product names containing commas, like "Hose, 25 m", are quoted
- First rows
- sku,description,category,pack_size,unit_price,rrp,valid_from
- GD-0102,"Hose, 25 m",Garden,1,18.40,29.99,2026-03-01
- GD-0105,Spray nozzle 7-pattern,Garden,6,3.10,5.49,2026-03-01
- KT-2210,Chef knife 20 cm,Kitchen,1,14.75,24.99,2026-03-01
- Rows to check
- • 4 descriptions ran over two lines in the PDF and were joined. They are listed in a short note file in case the split was wrong
- • 2 rows had no RRP; left empty
- Counts
- 1,486 rows in the CSV. The PDF's last page says "1,486 items". Match
- Need it in Excel too, or split by category into separate CSVs? Just ask.
How to do it with todo.is
- Copy the prompt and name the table, the columns and the delimiter you need.
- Attach the PDF in todo.is, or send it to your agent on Slack or Telegram.
- Your agent extracts, cleans and normalizes the rows, then counts them.
- Download the CSV and import it. If the import tool complains, paste the error back to your agent.
Tips for a better result
- Give the exact column names your import expects. It saves a mapping step later.
- Ask for one CSV per table if the PDF has several. Mixing them in one file breaks imports.
- If the PDF shows a total count or sum, ask your agent to compare. It is the fastest proof nothing was missed.
- Get the same PDF report every month? Make it a recurring to-do and forward each new one to your agent.
PDF to CSV converter: FAQ
- What is the difference between PDF to CSV and PDF to Excel? A CSV is plain rows of text for importing into other systems or scripts. An Excel file keeps formatting and several sheets, which is better for reading and editing.
- Can it convert a multi-page table to one CSV? Yes. Pages are joined into one table and the repeated headers and footers are removed.
- Does it work with scanned PDFs? Yes. Your agent runs OCR first. Check numbers from blurry pages, because OCR can confuse similar digits.
- Can I choose the delimiter and encoding? Yes. Comma, semicolon or tab, in UTF-8 or another encoding your system needs.
JavaScript is required to use the todo.is app.