# PDF to table — turn PDF text into CSV rows, no upload

> Extract text lines from a PDF into CSV rows, detecting delimited tables when present, using pdf.js in your browser. No upload.

Extract the text of a PDF's pages into CSV rows, detecting delimited tables when they're present, using pdf.js in your browser. The PDF is read on your device with no upload.

Data trapped in a PDF report is painful to reuse. This tool pulls the text into rows so you can get it into a spreadsheet or SQL, detecting simple tables where the layout allows.

Only PDFs that already contain selectable text extract cleanly, so send scans through OCR beforehand. Once extracted, clean and reshape the rows with the other Data Zone tools like Filter and Dedupe.

## How to

1. **Add a PDF.** Drop a text-based PDF (not a scan).
2. **Extract.** Text pages are parsed into lines and, where possible, columns.
3. **Use the rows.** Add the result to your Data Zone queue for cleanup and export.

## FAQ

### Does it work on scanned PDFs?

It extracts real text, so scans need OCR first. For text-based PDFs it pulls the content directly into rows.

### Will it detect tables?

It detects delimited (for example pipe-separated) tables when present; otherwise you get text lines you can split further in the Data Zone.

### Is my PDF uploaded to extract it?

No. Text extraction runs with pdf.js in your browser, so the document stays on your device.


## Related tools

- [OCR](https://www.safepaper.app/docs/ocr)
- [Format swap](https://www.safepaper.app/data/csv-to-json)
- [Filter rows](https://www.safepaper.app/data/filter)
- [Regex extractor](https://www.safepaper.app/data/regex-extract)

---

Canonical HTML: https://www.safepaper.app/data/from-pdf
Markdown: https://www.safepaper.app/data/from-pdf.md

There is no upload endpoint — your files are processed in this browser tab. Open your network tab and check.
