How to extract text from a PDF

  1. Add the PDF. Tap Choose PDF or drop the file onto the page. If it is password-protected, type the password and tap Open.
  2. Let it read the pages. Each page's text items are read and rebuilt into lines from their positions. A progress bar shows the page it is on.
  3. Adjust the output. Tick One page per section to get a header above every page, and Strip hyphenation to join words broken at line ends. The box updates immediately.
  4. Copy or download. Tap Copy text to put it on the clipboard, or Download .txt to save a plain-text file named after the PDF.

What it does

  • Extracts the full text layer of a PDF, keeping line breaks and paragraph gaps as they appear on the page
  • One page per section: adds a ‘Page 3 of 12’ header above each page's text
  • Strip hyphenation: joins words broken at a line end (docu- / ment → document)
  • Copy to the clipboard in one tap, or download as a UTF-8 .txt file
  • Tells you when a PDF has no text layer (a scan) and links the OCR tool instead of returning an empty file
  • Runs entirely on your device — the only network request fetches the open-source PDF.js library

What does the tool extract?

A PDF page is a list of drawing instructions. When the file was made from a digital document — a Word file, a web page, an e-mail — those instructions include a text layer: the characters themselves plus where each piece sits on the page. PDF.js reads that layer and reports it as positioned text items (its getTextContent API). This tool rebuilds readable lines from those items and gives you the result as plain text. If the PDF is a scan, there is no text layer and nothing to extract; the tool says so and sends you to OCR instead of handing you an empty file.

How are lines rebuilt?

RuleWhat it doesWhy
Same baseline → same lineText items whose vertical position differs by less than half the glyph height are joined into one line, left to rightPDF writers split a line into many items (per word, per font change, per kerning pair)
Gap → spaceA horizontal gap wider than a quarter of the glyph height between two items becomes a single spaceMany PDFs never store space characters; the gap is the only evidence
Big vertical gap → blank lineA gap of more than 1.6 line heights between lines inserts an empty lineKeeps paragraphs and headings visibly separate
One page per section (option)Adds a ===== Page n of N ===== header before each page, empty pages includedLets you find a passage in the original
Strip hyphenation (option)Joins docu- + line break + ment into document when both sides are lowercase letters; removes soft hyphens at a line endJustified text is full of end-of-line hyphens that are not part of the word

When is plain text the right output?

  • Pasting a contract clause, a letter or a citation into an e-mail, a note or a search box.
  • Feeding a document to a translation tool, a screen reader or a text-analysis script.
  • Keeping a searchable copy of a document next to the original, or checking what a scanner's OCR actually recognised.
  • Counting and quoting: the PDF word counter gives the numbers; this tool gives the words.

If you need the layout, use the PDF itself or convert pages to images with PDF to JPG. If you need to remove something before sharing, Redact PDF deletes the text underneath, not just the ink.

What are the limits?

  • Text layer only. A scan without OCR yields nothing; a scan with OCR yields the OCR's output, errors included.
  • Reading order is geometric: top to bottom, left to right. Multi-column pages and tables can interleave.
  • Form field values, comments, annotations, bookmarks and attached files are not part of the page text and are not extracted.
  • Fonts with broken or missing Unicode mappings (some old PDF generators, some symbol fonts) come out as garbage characters; that is a defect of the file, and a PDF viewer's copy command shows the same thing.
  • No formatting survives: bold, italics, colours, links and images are dropped.