Convert Epub to Text

Extract plain text from EPUB eBooks - metadata, chapters, alt text. Free, offline (after first load), client-side, instant, secure. Supports EPUB2 and EPUB3.

Drop in a .epub file and get plain text out - book metadata (title, author, publisher), chapter markers, optional alt-text from images, paragraph preservation, whitespace cleanup. Up to 10 MB. Works for EPUB 2 and EPUB 3.

Drop EPUB file here or click to upload

Max 10 MB · .epub only

How to Use Convert Epub to Text

  1. Upload your EPUB. Click the drop zone or drag a .epub file onto it. The tool reads it locally - nothing is uploaded. Maximum size is 10 MB, which covers nearly all novels and non-fiction.
  2. Wait a moment. The tool unzips the EPUB (an EPUB is a ZIP of HTML files), parses each chapter listed in the spine, strips HTML/CSS/JS, and concatenates the text. A 2 MB book takes 1-3 seconds on a modern laptop.
  3. Read the metadata. Title, author, publisher, word count, character count, and chapter count appear. If the EPUB's content.opf doesn't declare a field, you'll see "Not available" - that's the EPUB's data, not a tool limitation.
  4. Adjust the options - they reprocess the same file, no re-upload needed:
    • Chapter markers - adds ## Chapter N above each spine item.
    • Preserve paragraph breaks - off ⇒ single space joins everything into one long line.
    • Remove extra whitespace - collapses runs of spaces/blank lines.
    • Include image alt text - splices [Image: alt text] at the position of each <img alt="…">.
  5. Copy or download. The Copy button writes to your clipboard. Download saves a UTF-8 .txt named after the book's title. Ctrl/Cmd + Enter also copies.

Frequently Asked Questions

Does the tool truly work offline?

Yes – but with a caveat. The tool depends on jszip.min.js from a CDN to unzip the EPUB. After the first online visit, the browser caches it and subsequent visits work fully offline. If you visit for the very first time while offline, the page can’t unzip and shows “JSZip library not loaded – reconnect and reload once”. The HTML, CSS, and the tool’s own JS are local; only JSZip is external.

What is EPUB format and how does it work?

EPUB (Electronic Publication) is an open eBook standard supported by most readers except Kindle. An EPUB file is literally a ZIP archive containing XHTML files (the book’s content), CSS stylesheets, images, and an XML manifest (content.opf) that lists everything and declares the reading order. EPUB 2 and EPUB 3 share the same skeleton; EPUB 3 adds multimedia and interactive features that this tool ignores.

Can I convert DRM-protected or encrypted EPUBs?

No. DRM-protected EPUBs (Adobe Digital Editions, Google Play Books, Kobo) are encrypted by the publisher – the ZIP looks valid but its contents are scrambled until decrypted by an authorized device. JSZip will appear to “open” them and the tool will return either gibberish or “no readable content”. Only DRM-free EPUBs (public domain, Creative Commons, DRM-free purchases like Standard Ebooks or Tor) can be extracted.

Does this tool preserve formatting, images, or styles?

No – the output is plain text. All HTML formatting (bold, italics, color, fonts), CSS, embedded images, charts, audio, and video are removed. If you enable “Include image alt text”, the tool splices each image’s alt attribute as [Image: alt text] at the position of the image – useful for accessibility but it’s still text, not the actual image.

How large can my EPUB file be?

10 MB is the hard cap. Most novels are 1-3 MB and process in under 3 seconds. Image-heavy or technical EPUBs hit 5-10 MB; those take 5-15 seconds because every image still goes through the unzip even though only the alt text is kept. For files over 10 MB use desktop software like Calibre.

Is my eBook data secure?

Yes. Once the page (and JSZip) are loaded, everything runs in your browser. No EPUB bytes, extracted text, or metadata leave the device – no fetch, no XHR, no analytics, no cookies. You can verify by opening the browser’s Network tab during processing; no requests should fire. The only network call ever is the initial JSZip download.

Does it support both EPUB 2 and EPUB 3?

Yes. Both formats use the same ZIP + content.opf + XHTML skeleton, so the spine-walking + HTML-to-text pipeline works identically. EPUB 3 features (audio, video, interactive scripting, MathML) are silently ignored – only the text and image alt strings survive.

What if my EPUB has no metadata (missing title or author)?

If the content.opf doesn’t declare a Dublin Core element (dc:title, dc:creator, etc.), the corresponding row shows “Not available”. The text extraction still runs fine. The downloaded filename falls back to extracted-text.txt if the title is missing.

Does the tool handle non-English EPUBs?

Yes. EPUBs are UTF-8 internally and JSZip + the browser’s DOMParser handle the full Unicode range – Arabic, Chinese, Japanese, Korean, Russian, Greek, Hebrew, accented Latin (é, ñ, ü, å), mathematical symbols. The downloaded .txt is also UTF-8 so modern text editors render it correctly.