Converting a PDF to a plain text file on macOS takes only a few clicks in a modern browser: Safari or Chrome loads the PDF locally, reads its selectable text layer, and assembles a UTF-8 .txt file you can copy or download — no upload, no account, and no retyping. This is the fastest way to convert PDF text to a TXT file when you want to quote a document, paste into TextEdit, search the content in Spotlight, or move clean page text into another editor. It preserves the document's text content while giving you full control over what to do with it next. The catch is that this method reads the PDF's embedded text layer — it does not perform optical character recognition. Digitally created PDFs work well; image-only scans do not. Knowing the difference before you start will save you time and help you pick the right tool for the job.

how to convert pdf to text file on mac
how to convert pdf to text file on mac

Why Mac Users Often Need to Extract Text From a PDF

macOS already includes Preview, which is enough for quick viewing and light markup. When the goal is plain text, though, Preview's "Copy" option delivers whatever the text layer exposes, and the result often arrives in an arbitrary reading order, with extra spaces, broken lines, or merged words. Pasting that into TextEdit or Pages usually requires manual cleanup before it is usable.

For many everyday tasks, that cleanup is exactly what you are trying to avoid:

  • Quoting a passage from a research paper in an email or message
  • Pasting a contract clause into a note or chat thread
  • Running Spotlight search across a folder of PDFs converted to text
  • Feeding a chapter into a translation, summarization, or notes tool
  • Pulling text from a multi-page invoice or report into a spreadsheet

Preview can also be limiting for managing the PDF itself. If your goal is trimming pages out before extraction, the Preview workflow for deleting PDF pages on Mac is a useful companion step. Once the PDF is trimmed to the pages you actually need, you can convert it to text without dragging irrelevant pages along with it.

What the Browser-Based Converter Actually Does

The PDF to Text Converter extracts the selectable text content that PDF.js can read from each page and assembles it into a UTF-8 plain-text document. PDF.js is Mozilla's open-source PDF renderer; you can read about the underlying text-content API in the PDF.js project on GitHub. The converter loads your PDF only after you press the button, runs entirely in your current tab, and never sends the document to a server.

What it produces for you:

  • One preview of the assembled plain text, rendered as inert text — no scripts run on it, no links are followed, and the content is not interpreted as HTML.
  • A page count and a total character count so you can see at a glance whether the extraction produced something useful.
  • A Copy action that puts the same preview on your clipboard.
  • A Download action that saves the result as a UTF-8 text file using a deterministic filename derived from the source PDF. The download uses a Blob, which is how browsers package binary or text data for download — see the MDN documentation for the Blob API.

What it deliberately does not do: it does not perform OCR, it does not bypass PDF passwords, and it does not repair, validate, or sign PDFs. The original PDF is never modified — you always keep the source file untouched.

How to Convert a PDF to a Text File on Mac

The full workflow on macOS takes under a minute once the file is ready. Open Safari or Chrome, then follow these steps:

  1. Open the PDF to Text Converter page in your browser. You do not need to install anything — the tool runs in the current tab.
  2. Click the file chooser and select one non-empty PDF from your Mac. The file must be 25 MiB or smaller and have at least one page with a usable text layer. Image-only scans will not produce text through this tool.
  3. Click Convert to Text. The browser loads PDF.js, opens the PDF locally, and walks through each page reading the bounded text items in page order.
  4. Wait for the preview to appear. The interface shows the page count and a character count so you can sanity-check the result.
  5. Review the preview for the content you need. Page separators mark each boundary, which keeps a footer from one page and a heading from the next from running together.
  6. Click Copy to put the assembled text on your clipboard, or click Download to save a UTF-8 .txt file to your Downloads folder.
  7. Open the downloaded .txt file in TextEdit, or paste the copied text into any macOS app that accepts plain text.

If you need to start over with a different file, choose a new PDF. Changing the input clears the stale output, so the displayed counts always describe the current extraction rather than a previous one.

What the TXT Output Looks Like

The output file is plain text encoded as UTF-8, which means it opens cleanly in TextEdit, BBEdit, VS Code, and any other macOS editor. Each page is separated by an explicit separator line, so page boundaries stay visible even when a footer or repeated header would otherwise merge with the next page's content. Empty pages are still represented, which keeps the page count in the report aligned with the source PDF.

The text inside the file follows the order PDF.js exposes for each page. In most cases this is the natural reading order — top to bottom, line by line. In documents with sidebars, multi-column layouts, tables, or text drawn one glyph at a time, the order may not match the visual layout. The converter honors explicit end-of-line markers from the PDF and adds conservative spaces between adjacent items so words do not fuse together; it does not invent paragraph breaks or rebuild columns.

Here is a quick reference for what you can expect from common PDF types:

PDF type Has selectable text Typical converter output
Digitally created report, single column Yes Clean, top-to-bottom reading order
Digitally created with multi-column layout Yes Text follows PDF.js item order, not visual columns
Form with fillable fields Yes Plain text only
Image-only scan (no text layer) No Empty or near-empty preview; needs a separate OCR workflow
Encrypted PDF with unknown password N/A Error message; the tool does not bypass passwords

If your file looks empty in the preview, the most likely reason is that the source is an image-only scan. Use an OCR-based tool for scans and return to the PDF to Text Converter for files with real selectable text.

When the Converter Cannot Help

Knowing the tool's limits saves you from chasing a result the PDF cannot give you. The converter reads the PDF text layer — it does not perform optical character recognition. If you open a file in Preview and cannot highlight individual words with the text tool, the document is image-only and this converter will return little or no text.

Reading order is another place expectations can fail. PDF stores positioned glyphs rather than paragraphs in the way a word processor does, so the output follows PDF.js item order rather than reconstructing the visual layout. Multi-column scientific papers, magazines, sidebars, and tables will often come out as a flat stream of text in document order, not as neatly separated columns. Headers, footers, and hidden text may appear or repeat depending on how the PDF itself encodes them — the converter preserves what the document exposes.

Other cases the converter does not handle:

  • Password-protected PDFs without the password: the tool cannot bypass passwords.
  • Damaged, malformed, or unsupported PDFs: the tool returns an error rather than a partial result that looks complete.
  • Documents whose content you need to keep visually faithful: use a PDF page image tool instead, since this converter outputs plain text without formatting.
  • Image-only scans that need a transcript: route them through an OCR workflow first, then return to this converter if you still need a clean TXT.

For contracts, tables, scientific notation, and multi-column documents, always review the assembled text against the source before relying on it.

Limits and Error Messages

The converter enforces several hard limits to keep the browser tab responsive and protect you from runaway output:

  • One PDF per run, up to 25 MiB in size.
  • A maximum of 40 pages per document.
  • Bounded text items per page, total text items, individual item length, and total output characters.

If any of these limits is exceeded, the tool returns an error rather than a partial success. A document that hits the character ceiling does not silently truncate — it fails, so you can adjust and retry. The same rule applies to encrypted, malformed, unsupported, or damaged files: the converter fails honestly instead of producing output that looks finished but is incomplete.

Because processing is bounded and runs in stream chunks, the tab does not freeze on large files. Loading tasks, temporary download URLs, and result state are released as soon as you replace the input, cancel, or close the page, which keeps memory usage predictable.

Local Processing and Privacy

Every step of the conversion runs inside your current browser tab on your Mac. The PDF is not uploaded to a remote service, the extracted text is not sent anywhere, and Lizely does not receive a copy of your document. The only network requests are for the initial page bundle and, after you press Convert to Text, the PDF.js library and its shared worker — the same fixed worker URL used by other PDF.js tools on the site, so it benefits from cache reuse on subsequent conversions.

That makes the workflow safe to use for documents you would not upload to an online converter: internal reports, drafts under NDA, financial statements, and personal records. The trade-off is that everything stays on your machine — if you clear your tab, the assembled text is gone unless you copied or downloaded it.