Free PDF to Text Extractor
Pull the text out of a PDF — for quoting, editing, translating or searching — without uploading the file anywhere.
Drop your PDF file here
or click to browse · text is extracted locally, never uploaded
Something not working?
Tell us what went wrong — it helps us fix the tool. Only what you type below is sent; your files never leave your device.
Need more power? Meet PDF to Text Pro
One-time payment. Yours forever. No subscription.
| Feature | Free | Pro |
|---|---|---|
| Extract selectable text, page markers, line breaks | Yes | Yes |
| Copy text / download .txt | Yes | Yes |
| File size | Up to 20 MB | Unlimited |
| Batch: extract several PDFs in one run | — | Yes |
| Ads | Shown on page | Ad-free |
| Updates | — | Lifetime free updates |
Frequently asked questions
Is my PDF uploaded anywhere?
No. Text is extracted entirely inside your browser using the open-source pdf.js engine (Apache-2.0). The engine's library files load from a public CDN (cdnjs), but your PDF bytes themselves are never uploaded anywhere.
Why did a page come out empty?
Some PDFs are scanned images with no text layer — the words you see are pixels, not selectable text. This tool extracts the text layer only; scanned pages need OCR (optical character recognition), which this tool does not do. If text is selectable in your PDF reader but still comes out empty here, tell us via the feedback form above.
Will the formatting and layout be preserved?
Only loosely. You get clean plain text with line breaks and optional page markers — good for quoting, editing and searching. Tables, columns and exact spacing are not reconstructed; for a visual copy of a page, use our PDF to PNG Converter instead.
Can I extract only some pages?
Yes — enter a range like "1-3, 5" or leave "all". Page markers keep the extracted text aligned with the original page numbers.
What if the engine cannot load?
The pdf.js engine loads from a CDN. If an ad blocker or firewall blocks third-party scripts — or you are offline — the engine cannot start. Allow scripts from cdnjs.cloudflare.com for this page, or check your connection and reload.