tuliq
Runs in your browser

PDF Text Extractor

Extract the actual selectable text from a PDF using pdf.js, page by page, in reading order, with page breaks preserved as blank lines. This reads a PDF's real text layer rather than performing OCR — a scanned document with no embedded text correctly reports finding none. Copy the result or download it as a .txt file. Runs entirely client-side — nothing is uploaded.

About this tool

This tool pulls the actual selectable text out of a PDF using pdf.js — the same rendering engine behind Firefox's built-in PDF viewer — rather than attempting OCR. That distinction matters: a PDF exported from a word processor or generated programmatically has a real text layer this tool reads directly and accurately, while a PDF that's really just a scanned image (a photo or scan saved as PDF) has no text layer at all, and this tool will correctly report finding none rather than guessing at what the image might say. Extracted text is stitched together in reading order, using pdf.js's own line-break detection to preserve line structure. It runs entirely client-side — nothing you upload is ever sent anywhere.

What you can do

  • Extract all selectable text from a PDF, page by page
  • Copy the result, or download it as a plain .txt file
  • Works on multi-page documents — every page is included
  • Nothing is uploaded — extraction happens locally in your browser

How to use

Step 1

Upload a PDF

Every page's text is extracted immediately.

Step 2

Review the result

Text from each page appears in reading order, with a blank line marking page breaks.

Step 3

Copy or download

Copy the text directly, or download it as a .txt file.

Example

A 2-page PDF with real text content:

Output

Page 1's text content here.
Second line of page 1.

Page 2's text content here.

extracts with a blank line separating the two pages, and line breaks preserved within each page.

How your data is handled

This tool is labeled 🟢 Browser: your PDF's text is extracted directly in your browser using the pdf.js library — nothing is uploaded to a server, and nothing about it is retained once you leave the page.

Frequently asked questions

Why does it say no text was found?+

The PDF likely has no real text layer — this happens with scanned documents saved as PDF, where each page is really just an image. This tool extracts existing text rather than performing OCR (recognizing text from a scanned image), so a fully image-based PDF genuinely has nothing to extract.

Does the extracted text preserve formatting like tables or columns?+

Not reliably — text is extracted in the order it's stored in the PDF, which for tables and multi-column layouts doesn't always match the visual reading order. Simple single-column documents extract most accurately.

How are pages separated in the output?+

With a blank line between each page's text, so you can still tell where one page ends and the next begins even after copying the result elsewhere.

Can this read password-protected PDFs?+

No — this tool doesn't handle encrypted PDFs. Remove the password with a dedicated tool first if the file is protected.

Is my PDF uploaded anywhere?+

No — its text is extracted directly in your browser using the pdf.js library. Nothing here ever leaves your device.

Related tools