PDF to CSV Converter – Convert PDF Tables to CSV Free | ProPDFMaker.com
✅ Free  ·  No Signup  ·  No Server Upload  ·  100% Private

PDF to CSV Converter
Extract PDF Tables to CSV

Automatically detect and extract tables from any PDF. Uses coordinate-based column clustering to rebuild table structure, then exports clean CSV files — entirely in your browser.

PDF
PDF Document
CSV
Spreadsheet CSV
100%
Free Forever
0s
Server Upload
Auto
Column Detection
CSV
Output Format
Unlimited Use

PDF to CSV — Extract Tables Now

Upload your PDF, configure extraction settings, preview the detected data, and download your CSV files.

🔐
100% browser-based — your PDF stays private. Unlike cloud table extractors, this tool never uploads your file to a server. PDF.js reads text coordinates in memory, the column detection runs locally, and CSVs are built right in your browser. Perfect for sensitive financial or business data.
ℹ️
How table detection works: PDF.js extracts every text item with its exact X/Y page coordinates. The algorithm groups items into rows by Y-proximity (±4pt tolerance) then detects column boundaries using X-coordinate gap clustering. Items are mapped to the nearest column and cells are rebuilt — producing clean CSV rows. Works best on PDFs with real text (not scanned images).
⚙️ Extraction Settings
📂 Upload PDF File
📄

Drag & Drop PDF file here

or click to browse — never uploaded to any server

✅ PDF Files Only
📋 Pages — Select to Include in CSV
📊

No PDF loaded yet

Upload a PDF above and click "Load PDF & Extract Tables"

📋 Extracted Data Preview
Loading…

The Best Free PDF to CSV Converter

Extract table data from PDFs privately in your browser with smart coordinate-based column detection.

🔒
100% Private & Secure
Your PDF never leaves your device. All text extraction and table detection runs locally in your browser using PDF.js. No server, no data collection, ever.
📐
Coordinate-Based Detection
Every text item's X and Y position is used. Rows are grouped by Y-proximity with adjustable tolerance. Column boundaries are found by detecting large X-gaps between adjacent text items on the same row.
📊
Live Preview Table
Extracted CSV data is shown as a formatted HTML table before you download. Rows, columns, and cells are clearly visible. Switch to Raw CSV view to see the exact comma-separated output.
🔀
3 Extraction Modes
Auto-detect table columns (coordinate clustering), All text lines as rows (one line per row), or Each word as a cell (maximum granularity). Choose the mode that fits your PDF layout.
🔤
4 Delimiter Options
Export as standard CSV (comma), European-style CSV (semicolon), TSV (tab), or pipe-delimited. Match the delimiter to your target application — Excel, Google Sheets, or a database.
📦
Merged or Per-Page Output
Download a separate CSV file per PDF page, or merge all selected pages into one combined CSV file. Both are available as ZIP archives when multiple files are created.
🎯
Tunable Column Gap
Adjust the column gap threshold (8–40pt) to match your PDF's column spacing. Tight data tables use small gaps; widely-spaced layouts use large gaps for accurate column boundary detection.
📋
Per-Page Statistics
Each page thumbnail shows how many rows and columns were detected. Pages with extracted data are highlighted green so you can immediately see which pages contain tables.
🔢
Smart CSV Quoting
Auto mode quotes fields only when they contain the delimiter or a double-quote. Always or Never modes give you full control. All quotes inside fields are properly escaped as double-double-quotes.
🖼️
Visual Page Thumbnails
Every PDF page renders as a real thumbnail so you can visually identify which pages contain the tables you want, before extracting and merging.
💾
UTF-8 BOM Output
CSV files are saved with a UTF-8 byte-order mark, so Excel opens them with international characters (accents, currency symbols, non-Latin scripts) intact.
Instant Processing
No queues, no waiting in line, no email links. Your CSV downloads the moment processing completes — usually seconds even for large documents.
📱
Works on Any Device
Fully mobile-responsive. Convert PDF tables to CSV from your phone, tablet, or desktop — no app installation, no admin rights required.
🌙
Dark Mode Support
The converter interface automatically adapts to your system's dark mode preference, with carefully tuned colors that stay readable in low light.
🚀
Zero Installation
Works as a single web page. No downloads, no software, no browser extensions. Open the page and it works — even in incognito mode.

PDF to CSV in 4 Steps

From PDF upload to spreadsheet-ready CSV in under a minute.

1
Upload PDF
Drop your PDF onto the upload area. PDF.js reads every text item with its exact X/Y coordinate — no server upload required.
2
Configure Settings
Choose extraction mode, delimiter, row tolerance and column gap to match your specific PDF's table layout.
3
Preview Data
Extracted rows appear instantly as an HTML table preview. Verify the column structure looks correct before downloading.
4
Download CSV
Download per-page CSV files or one merged CSV. Open directly in Excel, Google Sheets, or any database import tool.

Understanding the CSV Format

CSV is one of the oldest and most widely-used data formats. Here's a primer on its specifications and how this tool handles edge cases.

📊
What is CSV?
The Format Basics
  • Stands for: Comma-Separated Values
  • Standard: RFC 4180 (2005)
  • MIME type: text/csv
  • File extension: .csv (or .tsv for tab)
  • Encoding: Typically UTF-8 with BOM
  • Line endings: CRLF (\r\n) per RFC 4180
🔤
Delimiter Options
Field Separators
  • Comma (,): Default, US-English locale
  • Semicolon (;): European Excel default
  • Tab (\t): TSV — Excel auto-opens
  • Pipe (|): Used when data contains commas
  • Custom: Any single character supported
  • Auto-quoting: Activates when delimiter is in cell
🛠️
Apps That Read CSV
Compatibility
  • Microsoft Excel: Full support, all versions
  • Google Sheets: File → Import → CSV
  • LibreOffice Calc: Native support
  • Apple Numbers: File → Open
  • Databases: MySQL, PostgreSQL, SQLite all import CSV
  • Languages: Python (pandas), R, JavaScript, etc.
🔒
Quoting Rules
Edge Cases
  • Auto: Quote fields with delimiter, quote, or newline
  • Always: Every field wrapped in "..." double-quotes
  • Never: Raw values, newlines stripped to spaces
  • Escape: Inner quotes become "" (doubled)
  • Whitespace: Leading/trailing trimmed by default
  • Empty: Empty cells = consecutive delimiters

A Brief History of CSV

From mainframe punched cards to the most widely-used data interchange format on Earth — CSV's history spans the entire modern era of computing.

1972
IBM FORTRAN Supports CSV-Like Format
The IBM FORTRAN compiler in OS/360 introduces list-directed input with comma-separated fields. This is the earliest formal use of the comma-as-separator concept in mainstream computing.
1983
Lotus 1-2-3 Adopts CSV
Lotus 1-2-3 spreadsheet (the killer app of the IBM PC era) uses CSV for data import and export. This cements CSV as the standard data exchange format for spreadsheets.
1987
Excel 1.0 Reads CSV
Microsoft Excel ships with native CSV support. The format becomes universal among all business productivity software, transferring data between competing applications seamlessly.
1996
First PDF Table Extraction Tools
As PDF (introduced 1993) becomes common for business reports, the first PDF-to-spreadsheet extraction tools appear — usually requiring expensive desktop software like Adobe Acrobat Pro.
2005
RFC 4180 — CSV Officially Standardized
The IETF publishes RFC 4180 "Common Format and MIME Type for CSV Files". After 30+ years of informal use, CSV finally has an official specification covering quoting, escaping, and line endings.
2012
Tabula Released — Open-Source PDF Tables
Tabula, an open-source PDF table extraction tool, is released by ProPublica and Mozilla OpenNews. It establishes the modern coordinate-based extraction algorithm that this tool also uses.
2015
PDF.js Adds Text Coordinates
Mozilla's PDF.js library adds full text item coordinate APIs, making it possible to do browser-based PDF table extraction without any server-side processing — the foundation of this tool.
Today
CSV is Everywhere — Despite being over 50 years old, CSV remains the most common format for data interchange. Every spreadsheet, every database, every analytics tool reads and writes CSV. It's the lingua franca of structured data.

Common Use Cases

From accountants to data journalists, extracting tables from PDF solves countless real-world problems.

📈
Financial Analysts
Pull tables from quarterly earnings reports, 10-K filings, and balance sheets distributed only as PDFs. Get the numbers into Excel or Python for analysis in minutes, not hours of manual retyping.
📰
Data Journalists
Extract data tables from government PDFs, court records, regulatory filings, and FOIA responses. Convert opaque PDFs into open, queryable data for investigative reporting.
🧾
Accountants
Pull line items from bank statements, invoices, and vendor reports that come as PDFs. Avoid manual data entry — get clean CSVs ready for bookkeeping import.
🔬
Researchers
Extract data from academic papers, clinical trials, and scientific reports. Reuse published data tables in your own analysis, citations, and meta-studies.
📦
Inventory & Logistics
Convert printed inventory lists, parts catalogs, shipping manifests, and warehouse reports from PDF into spreadsheets for stock management and tracking.
📊
Data Analysts
Quickly turn any PDF report into a usable dataset. No need to copy-paste cell by cell — extract structured data ready for SQL, Python pandas, or R import.
⚖️
Legal Professionals
Convert exhibit tables, witness lists, and discovery documents from PDF to CSV. Sort, search, and filter case data quickly in spreadsheet tools.
🏛️
Government Workers
Extract data from older PDF records, regulatory submissions, and inter-agency reports. Migrate locked-in data into modern systems and open data portals.
🎓
Students
Convert datasets from textbooks, journal articles, and reference materials saved as PDFs into spreadsheet form for assignments, projects, and research papers.

This Tool vs Alternatives

How browser-based PDF-to-CSV conversion compares to desktop tools and cloud services.

Feature This Tool Tabula / Desktop Cloud Converters
Cost Free Free (open source) Free with limits
Installation Required None Yes (Java runtime) None
File Privacy 100% local 100% local PDF uploaded
Auto Column Detection Coordinate clustering Stream/Lattice modes Varies
Live Preview HTML table preview Visual area select Usually no
Manual Area Selection Whole-page extract Draw rectangles Varies
Setup Time Zero Install + Java Often account needed
Speed Instant Open + select + export Upload + queue + download
Watermark Never Never Often on free tier
Multiple Delimiters Comma, semi, tab, pipe Comma + TSV only Usually comma
Best For Quick whole-page extraction privately Complex tables with manual area selection One-off when local tools unavailable

Tips for Best Results

Get the cleanest possible table extraction from your PDFs with these practical tips.

TIP 01
Use text-based PDFs
PDFs created from Excel, Word, or directly from databases work perfectly. Scanned PDFs are images with no extractable text — run OCR first using Adobe Acrobat or Calibre.
TIP 02
Tune column gap threshold
If columns merge into one, increase the gap threshold. If one column splits into two, decrease it. Start at Normal (16pt) and adjust by ±8pt at a time.
TIP 03
Try different modes
If table mode doesn't produce clean output, try "All text lines as rows" for simpler structure. "Each word as a cell" is useful for non-tabular data you'll restructure later.
TIP 04
Adjust row tolerance
Dense data tables work best with Strict (2pt). Large-font reports work better with Relaxed (8pt) or Loose (14pt). Match the setting to your PDF's typography.
TIP 05
Use TSV for Excel
Tab-separated TSV files open directly in Excel without the Import Wizard, preserving column structure automatically. Use tab delimiter when your data contains commas.
TIP 06
Merge vs per-page
Use merged CSV when a single table spans multiple pages. Use per-page when each page has a separate, unrelated table. ZIP archive is auto-generated for multi-page output.
TIP 07
Skip non-data pages
Click "Select Pages with Data" to instantly skip cover pages, TOCs, intro text, and other non-tabular content. The green-highlighted thumbnails show which pages have detected tables.
TIP 08
European semicolon
In German, French, Spanish, or other European Excel installations, use Semicolon delimiter. The local decimal separator is the comma, which conflicts with comma-delimited CSV.
TIP 09
Preview before downloading
The HTML table preview shows exactly what the CSV will contain. Click "Raw CSV" to see the literal text output. Tweak settings until the preview matches what you want.
TIP 10
Clean up post-conversion
Some PDFs have complex layouts that even smart algorithms can't handle perfectly. A quick pass in Excel (Find & Replace, Trim) often cleans the last 5% of stragglers.

The Column Detection Algorithm

For curious users and developers — here's how the table extraction algorithm works step by step.

STEP 1
Read Text Items
PDF.js's getTextContent() returns every text item with {str, x, y, width} coordinates. Empty strings are filtered out and positions are rounded to integers.
STEP 2
Sort Items
Items are sorted top-to-bottom by Y descending (PDF Y-axis is inverted), then left-to-right by X. This puts the page content in natural reading order.
STEP 3
Group into Rows
Items with Y values within tolerance (default ±4pt) are grouped into one row. A new row starts when the next item's Y differs by more than the tolerance.
STEP 4
Collect All X Values
Every text item's X coordinate (left edge) across all rows is collected and sorted ascending. This is the input to column-boundary detection.
STEP 5
Find Column Boundaries
Walk the sorted X array. Whenever the gap between consecutive X values exceeds the column gap threshold (default 16pt), mark a new column boundary.
STEP 6
Deduplicate Boundaries
Column boundaries closer than colGap / 2 are merged. This prevents false splits caused by minor text positioning jitter within a single column.
STEP 7
Map Items to Columns
For each item, find the nearest column boundary (smallest |item.x - col.x|). The item is added to that column's cell. Multiple items in same cell are space-joined.
STEP 8
Trim Empty Columns
After building all rows, trailing columns that are empty across every row are removed. This keeps the CSV clean when the rightmost detected column had no content.
STEP 9
Format as CSV
Rows are serialized using the configured delimiter and quote mode. Auto-quoting wraps cells containing the delimiter, quotes, or newlines. CRLF line endings per RFC 4180.

Common Issues & Fixes

Running into trouble? Most extraction issues fall into one of these categories — here's how to identify and fix them.

📭
No data extracted from any page
What it means: Your PDF is image-only (scanned). PDF.js can't extract text where there isn't any. What to do: Run OCR first using Adobe Acrobat (Tools → Recognize Text), Calibre, or an online OCR tool. The result will be a searchable PDF that this tool can extract from.
🔀
Columns are merging into one
What it means: The column gap threshold is too large for your PDF's column spacing. What to do: Reduce the gap threshold one step at a time (Normal 16pt → Small 8pt). If columns still merge, the PDF may use very tight spacing — try the "All text lines as rows" mode and split columns manually in Excel.
✂️
One column splits into multiple
What it means: The column gap threshold is too small, so the algorithm is treating intra-cell spacing as column boundaries. What to do: Increase the gap threshold one step at a time (Normal → Large 28pt → Very Large 40pt).
📏
Two rows merged into one
What it means: Row tolerance is too high — rows that should be separate are being grouped together. What to do: Reduce row tolerance from Normal (4pt) to Strict (2pt). If rows are very close together (dense data), Strict almost always fixes this.
⤴️
One row splits into multiple
What it means: Row tolerance is too low — cells in the same logical row are being treated as separate rows. What to do: Increase row tolerance from Normal (4pt) to Relaxed (8pt) or Loose (14pt). This happens often with large fonts or multi-line cells.
🔣
Special characters look broken in Excel
What it means: Excel didn't recognize the UTF-8 encoding. What to do: The CSV is saved with a UTF-8 BOM, which Excel should detect. If you still see broken characters, open Excel first, then use Data → From Text → choose UTF-8 encoding manually.
🌐
Commas inside data break the CSV
What it means: Quote handling is set to "Never" or "Auto" isn't catching all cases. What to do: Switch quote mode to "Always quote fields", or use a Tab delimiter (TSV) which never conflicts with commas in data.
🔒
Password-protected PDF won't load
What it means: The PDF is encrypted. PDF.js can't decrypt without the password. What to do: Open the PDF in Adobe Reader or your PDF editor with the password, then re-save as an unprotected copy via File → Save As.
⏱️
Browser slows on huge PDFs
What it means: Hundreds of pages mean a lot of text items to process. What to do: The progress bar advances steadily — be patient. Close other tabs to free memory. For 500+ page documents, consider splitting the PDF into chunks first.
📥
Download doesn't start
What it means: Your browser may be blocking automatic downloads. What to do: Check your browser's notification area for a download prompt. In Safari, allow downloads in Site Settings. Try Chrome, Firefox, or Edge if issues persist.

Your PDF Never Leaves Your Browser

Unlike cloud-based PDF table extractors that upload your files, this tool runs entirely in your web browser. Here's exactly what happens — and what doesn't.

🔐
Zero Server Communication
When you upload a PDF, its bytes are read by JavaScript running in your browser. PDF.js parses the document, the column-detection algorithm runs locally, and CSVs are built and downloaded directly. No file content is ever transmitted over the network.
✅ No file uploads ✅ No tracking pixels ✅ No account required ✅ No cookies stored ✅ No analytics on content ✅ Works offline after first load
🌐
Verify It Yourself
Open your browser's developer tools (F12), go to the Network tab, and watch what happens when you upload and convert. You'll see no outbound requests with your PDF's content.
📴
Works Offline
After the page first loads, you can disconnect from the internet and the converter still works. This is the strongest possible proof that your files aren't being uploaded.
🔓
Transparent Code
All extraction logic is in plain JavaScript visible in your browser's View Source. You can audit exactly what the tool does — no hidden processing, no obfuscated code.
🚮
No Retention
When you close the browser tab, all traces of your PDF and extracted CSV are gone. The data lives only in your browser's memory during the active session.
🔐
Safe for Financial Data
Because nothing is uploaded, this tool is safe for confidential financial documents — bank statements, internal reports, audit data, salary information. Your data never reaches anyone else's infrastructure.
🛡️
No Third Parties
PDF.js and JSZip libraries are loaded from public CDNs at page load, but they run locally. No analytics, no ad networks, no data brokers receive your content.

More Free Tools on ProPDFMaker

PDF to BMP PDF to AI PDF to AZW3 Organize PDF Pages Merge PDFs PDF to Word

PDF to CSV — Common Questions

Everything you need to know about extracting tables from PDF files online.

What types of PDFs work best?
PDFs with real selectable text work best — these include reports, spreadsheets exported to PDF, invoices, and financial statements. Scanned PDFs are images with no text data and cannot be extracted without OCR software.
Why are my columns not aligning correctly?
Try adjusting the Column Gap Threshold setting. If columns are merging, increase the threshold. If one column is being split into two, decrease it. Also try switching extraction modes — "All text lines as rows" is simpler and more reliable for non-tabular data.
Is my PDF uploaded to a server?
No. The PDF is processed entirely in your browser using PDF.js. Your file is never sent to any server — complete privacy guaranteed. All text extraction and CSV building happens locally on your device.
What is the difference between per-page and merged CSV?
Per-page creates one CSV file per selected page — useful when each page has an independent table. Merged combines all selected pages into one CSV with a blank separator row between pages — useful when a table spans multiple pages.
Which delimiter should I use for Excel?
Use Comma (,) for English-locale Excel. Use Semicolon (;) for European-locale Excel (German, French, Spanish). Use Tab for TSV files, which Excel opens without any import dialog. Google Sheets works well with all delimiter types.
Can I extract tables from password-protected PDFs?
No. Encrypted PDFs cannot be read without the password. Remove the password from your PDF using a PDF editor first, then upload for extraction.
What is RFC 4180?
RFC 4180 is the official IETF specification for CSV files published in 2005. It defines how delimiters, quoting, escaping, and line endings should work. This tool follows RFC 4180 conventions in its output.
Does it work offline?
Yes, after the page is loaded once. PDF.js and JSZip libraries are fetched on first load, after which the converter works without an internet connection.
What's the maximum file size?
There's no enforced limit, but very large PDFs (above 50 MB or 500+ pages) will use more browser memory and take longer to process. Most documents under 10 MB extract in a few seconds.
Why are some pages green-highlighted?
Green highlights pages where the algorithm successfully detected one or more rows of data. Pages that don't contain detectable tables (covers, intro text, blank pages) stay default-colored — making it easy to spot which pages have real data.
Can it handle merged cells?
Merged cells in the source PDF are flattened into the leftmost column they span. The exact alignment depends on the PDF's internal text positioning. Manual cleanup in Excel may be needed for complex merged-cell layouts.
What about tables that span multiple pages?
Use the "Download CSV (All Pages Merged)" button. The tool merges all selected pages into one CSV, with a blank row between pages so you can clearly see the page boundaries in the resulting file.
Can I edit the extracted data before downloading?
Not directly within the tool. The HTML preview is read-only. Open the downloaded CSV in Excel, Google Sheets, or any text editor to make edits — that's typically faster than in-browser editing anyway.
Does it preserve number formatting?
Numbers are extracted as they appear in the PDF text. Currency symbols, thousands separators, and decimal points are preserved. The receiving application (Excel, Sheets) handles converting these strings to actual numbers based on its locale settings.
Are header rows detected automatically?
Not specifically — every row is extracted equally. The first row of the resulting CSV is usually the header row from your PDF table. Most apps (Excel, pandas) auto-detect the first row as headers when importing.
What browsers are supported?
All modern browsers — Chrome, Firefox, Safari, Edge, Opera, Brave. Internet Explorer is not supported. The tool uses standard web APIs (PDF.js, FileReader, JSZip) available since 2015.
Does it work on mobile?
Yes, fully responsive on iOS and Android browsers. For very large PDFs, a desktop browser is usually faster due to more available memory. Mobile works fine for typical documents.
Will the CSV open in Google Sheets?
Yes. Open Google Sheets → File → Import → Upload → drag the CSV → choose "Replace spreadsheet" or "Insert new sheet". Sheets auto-detects the delimiter and creates a clean tabular view.
Is there a watermark on the CSV?
No, never. Your CSV output is clean and complete with no watermarks, no extra rows, no branding. The file is yours, free and clear.
Can I use the CSV in Python pandas?
Absolutely. Just run pandas.read_csv('your-file.csv') and you get a DataFrame. For semicolon CSVs, add sep=';'. For TSV, use sep='\t' or pandas.read_csv('file.tsv', sep='\t').

Ready to Extract PDF Tables?

Scroll back to the top and drop your PDF into the upload zone. No signup, no software install, no waiting — just a clean CSV ready for Excel in seconds.

📊 Start Extracting Now