📋
PDF/PDF Text Extractor

PDF Text Extractor

Pull all text content out of any PDF — view page by page, copy, or download as .txt

100% LOCALPer-page textCopy to clipboardDownload .txt100% local
📋
Drop a PDF file here or click to upload
Text is extracted page by page. All processing happens in your browser.
Data Source & Legal Disclaimer
Effective: 2026Last updated: 2 months agoUpdate: Manual review
Sources: pdfjs-dist

Text extraction works on PDFs with embedded text. Scanned PDFs (image-only) require OCR and may not produce text. All processing happens in your browser — your file never leaves your device.

See all data sources & update policy →

How PDF text extraction works — illustrated

A PDF does not store paragraphs as strings. Each page carries a content stream of drawing operators such as Tj (show a string) and TJ (show a kerning array), and the characters inside them are glyph character codes, not Unicode text. Extraction parses that stream, resolves each code through the font's glyph-to-Unicode mapping (a ToUnicode CMap), and reassembles the strings in reading order — page by page. This is why scanned, image-only PDFs yield no text: there are no operators to parse, only pixels.

Content stream → text operators → glyph-to-unicode
1 · CONTENT STREAM2 · TEXT OPERATORS3 · GLYPH → UNICODEBT/F1 12 Tf(Purchase) Tj[(Or) 5 (der)] TJETpage /Contents streamTj — show stringTJ — kerning arrayTf — set font/sizeArguments are glyphcodes — not text.Parser executes ops.in reading order0x50 → “P”0x75 → “u”0x72 → “r”via the font'sToUnicode CMap(or built-in encoding)Text item:str: “Purchase order”

The text layer is rebuilt from drawing instructions. A font without a ToUnicode CMap falls back to the PDF's built-in encoding, which is why extracted text can look garbled in unusual fonts.

Extracting text from a 3-page invoice PDF

An invoice exported from accounting software contains real, selectable text. Here is what the extractor walks through on each page.

  1. Page 1 — parse the stream:The operators /F1 12 Tf + (Invoice #1042) Tj render the heading; the parser captures it as one text item
  2. Join kerning arrays:A TJ array [(ACME) -18 ( Corp)] is joined into “ACME Corp”, with the -18 gap discarded
  3. Resolve glyph → Unicode:Each character code maps through the font ToUnicode CMap, so “#1042” reads as digits, not glyph names
  4. Collect page by page:Pages 1–3 yield about 1,240 characters total, ready to copy or download as invoice.txt
↩ Back to calculator

About this tool

What is this tool?

Pull all text from a PDF, per page, copy or download instantly. 100% in-browser.

Per-page textCopy to clipboardDownload .txt100% local

What Is PDF Text Extractor?

PDF Text Extractor is a free browser tool that reads the embedded text layer of any PDF and presents it as selectable, copyable plain text. It parses the PDF structure locally using pdf.js — no server round-trip required. The tool displays text page by page with page numbers, so you can grab a single paragraph or the entire document. A one-click "Copy All" button places the full text on your clipboard, and "Download .txt" exports a clean plain-text file. Formatting artifacts like headers, footers, and page numbers are preserved so you can clean them in your editor of choice.

Who Should Use PDF Text Extractor?

Researchers use this tool to pull quotes and data from journal articles without retyping. Legal assistants extract clause text from contracts for comparison in a diff tool. Students copy lecture slides into note-taking apps. Developers grab error messages or configuration snippets from technical PDFs. Journalists extract statements from public records released as PDFs. It is also the fastest way to feed PDF content into AI tools, translation services, or text-analysis pipelines — copy the text, paste it into your workflow, and you are done. No OCR subscription, no per-page charges.

How to Use PDF Text Extractor

Upload a PDF by clicking "Choose File" or dragging it onto the drop zone. The tool renders each page and extracts the text layer instantly. Navigate between pages using the page selector. Click "Copy Page" to grab a single page or "Copy All" for the entire document. Alternatively, click "Download .txt" to save the full text as a plain-text file. For scanned PDFs (image-only, no text layer), the tool will report zero extractable characters — in that case, use an OCR tool first to create a searchable PDF, then return here to extract the text.

Frequently Asked Questions

Can I extract text from a scanned or image-based PDF?

This tool extracts embedded text layers from digitally created PDFs page by page. For scanned documents without a text layer, you would first need OCR. Extracted text can be copied to your clipboard or downloaded as a plain .txt file for use in other applications.

How fast is text extraction for large documents?

A 200-page PDF typically extracts in under 2 seconds because parsing happens locally in your browser with no network round-trip. Output is organized page-by-page with page numbers, so you can locate specific passages quickly without re-opening the original document.

Related tools

Joke of the Day
Sep 6

What do you call a crab that plays baseball?

100% Free, Forever

Keep Tools Free for Everyone

No paywalls, no signups, no data sold. Built by a solo developer who believes useful tools should be accessible to everyone.

Support me on Ko-fi— keep tools free

100% of proceeds go towards hosting & building more free tools.