Skip to the tool

Convert PDF to text.

The words out of any digital PDF — extracted on-device.

No uploads — 100% local No ads Free & open source

Drop PDF files here

or browse your files

Files never leave your device. Everything runs in your browser, nothing touches a server — tools you've used even work offline.

Pull all text out of a PDF into a plain .txt file — extracted from the digital text layer, entirely in your browser. Reports, e-books, contracts and exports become raw text for editing, searching, quoting or feeding to other tools.

How it works

  1. Drop files anywhere on the page, click to browse, or paste with ⌘V.
  2. Pick a quality or preset — or set an exact target size and let the tool find it.
  3. Compress, compare before/after, and download — individually or as a ZIP.

Digital PDFs only — scans need OCR

This tool reads the text layer a digital PDF already carries. Scanned documents are photographs of paper — they have no text layer, and the honest result here is a clear error, not silent emptiness. For scans, OCR PDF recognizes the text on your device and can make the PDF itself searchable; its sibling Image to Text does the same for photos and screenshots.

Frequently asked questions

Why did I get an error about a missing text layer?

Your PDF is a scan — pictures of pages, with no digital text inside. Run it through the OCR PDF tool instead; that recognizes the text locally.

Is the layout preserved?

No — the output is plain text, page by page. Columns, tables and formatting flatten into reading order, which suits quoting and processing, not reprinting.

How large can the PDF be?

Hundreds of pages are fine — extraction is fast and runs entirely on your device, so there is no upload cap and no queue.

Is it private?

Yes. The document never leaves your browser — nothing is uploaded, and the server only delivers this page. That makes it safe for contracts, invoices, medical records — anything you would not email to a stranger. Want proof? Run one file through, switch your connection off, and run another — it still works.