Skip to content
UniKit

EPUB to plain text

Walk the EPUB spine in order, strip the XHTML tags, resolve entities and keep paragraph breaks, producing copy-ready plain text. Extraction runs in Rust-compiled WebAssembly and the file never leaves your browser.

Runs in your browserEvery computation happens in your browser — your data never leaves this device.

EPUB base64

Plain text

Joined in spine order with a blank line between paragraphs.

Loading the ebook module…

Paste the EPUB base64 to extract the text

Chapters: 0 · Characters: 0

What this tool does

  • Turn a book body into plain text for notes.
  • Check whether the spine order matches the table of contents.
  • Feed text-only tools that cannot read EPUB.

Example

Input

UEsDBAoAAAAAAAAAIQBvYassFAAAABQAAAAIAAAAbWltZXR5cGVhcHBsaWNhdGlvbi9lcHViK3ppcFBLAwQUAAAACAAAACEA0NIsiakAAAD0AAAAFgAAAE1FVEEtSU5GL2NvbnRhaW5lci54bWxdjkEOgjAQRfecgszWQHVnGgqJiW41UQ9Qy4CNZaahxejtrS4IcTeL/96bqnkNLn/iGCyTgk25hhzJcGupV3C9HIotNHVWGaaoLeH4t000BQXTSJJ1sEGSHjDIaCR7pJbNNCBF+ZvJWQLJODLHzjoMizvvJucKr+NdwXG/O53FF0mCkn0H+YCt1UV8e1SgvXfW6JheEYw3HxJmHrrHVWqBSFKxLIi5XWcfUEsDBBQAAAAIAAAAIQDQkr6aTAEAAMcCAAARAAAAT0VCUFMvY29udGVudC5vcGaVkkFugzAQRfc5BfK2AidsWqFA1DP0BI49gBWwXTMu9PYdDIFUalV15/F8vz9/5PNl6rvkA/ygrSnZKTuyBIy0SpumZAHr9IVdqsPZCXkTDSSkNkPJWkRXcD6OY6aVqzPrG54fj8/cupolwej3AKlWYFDXGnzJrtbetGK7U05OxO0BhRIoFnCh5MZ2wXeRqySHDnpiDfyUnThbtWT1xyDEV7JAjR1Ub8aOZ76VsSM9CLQ+IW3hbQclEwFZ9apEVK7tRdsJ0wTaQAUmNrc6dveoiVZb2ip4U4SgVRFuKcyX8ekupsf8voF5GcLoGgako0boI8rIiSWtB8qKVmax7EFpkeKnmyd2rtNSIC2VT6nCKymeaEGMP1Jke7pT6JhNLZLid87c/gmS75D8fxD+kG1w2kBCaZZ0qwVxyeU+4ub87TpfWBEwH9ZfWR2+AFBLAwQUAAAACAAAACEAn8xoLsIAAAAZAQAADwAAAE9FQlBTL2NoMS54aHRtbG2PMW/CMBCFd37F1XtzRV2aKglSaaVuMLAwmviIIyVnyz4w/HscAhvT07373jtdtbqMA5wpxN5xrZbFhwLi1pmeu1qd5Pj+pVbNonr73ax3++0fWBmHPE8COcqxVlbEfyOmlIr0WbjQ4bIsS7xMjJpY0ibLSKKhtTpEkmc1Zl96GahZW+2FAmyY4Ie6nmOF82ZR4aPh4Mw1i4d20DEfbueMehn2E9n8EzhPTAbEEhjnAmg2EHW6G5FdKmYWH+04f3gDUEsDBBQAAAAIAAAAIQCPHFiBtgAAAAgBAAAPAAAAT0VCUFMvY2gyLnhodG1sbY+9DsIwDIR3nsJkpwaxUNSfoTCDRBfG0JqmUptUiSHl7UnVsjGdfL7vLCf52HfwJutao1Oxi7YCSFembnWTihc/NweRZ6tkfboU5f16BsV9F+ZJIKDapUIxD0dE733k95GxDe7iOMZxyogpS7IO0hNLqJS0jvhXjcHnljvKCiUHJgulN3DTxic4+6sEF/5h6k+QAapOunC2mgnxBx2mXFYqAt/qGhpLHhxboxuy0bzGpQ7nh75QSwMEFAAAAAgAAAAhABr4/00qAQAAagIAAA0AAABPRUJQUy90b2MubmN4fZJRb4IwEIDf/RVN36XAssURwGS+btNk/oFCb9AIV1IOwf36lemYRt1T2+t3910vjZdDXbE92FYbTHjg+ZwB5kZpLBLe0ed8wZfpLMZ8YI7ENuElURMJ0fe9p6RuD56xhfh6eF48idD3H4VDBf8rOcbmAXc1SpDKLTWQZChrSLiiLOq04iw3SIDkjBajzoWibjeHzJgdF9cpChoqz5KCWxAZktVGFrAyHdIZ7d+iazmM7HtXZ2CvYHFqXZl8q6mCNCYYKP1A08fiZxuL6c4NS+7fZHPcbIxGYlol3B0CzppKHtZWgR3bPiKvMoPqVHJVyobAsjUCe4FCYzsJJnIWn9pjrc0TnpeBN5RUV8dWf5039OGFPvxHv+0Nu3jdfXl4Ry6mKYw/Ip19A1BLAQIKAwoAAAAAAAAAIQBvYassFAAAABQAAAAIAAAAAAAAAAAAAACkgQAAAABtaW1ldHlwZVBLAQIUAxQAAAAIAAAAIQDQ0iyJqQAAAPQAAAAWAAAAAAAAAAAAAACkgToAAABNRVRBLUlORi9jb250YWluZXIueG1sUEsBAhQDFAAAAAgAAAAhANCSvppMAQAAxwIAABEAAAAAAAAAAAAAAKSBFwEAAE9FQlBTL2NvbnRlbnQub3BmUEsBAhQDFAAAAAgAAAAhAJ/MaC7CAAAAGQEAAA8AAAAAAAAAAAAAAKSBkgIAAE9FQlBTL2NoMS54aHRtbFBLAQIUAxQAAAAIAAAAIQCPHFiBtgAAAAgBAAAPAAAAAAAAAAAAAACkgYEDAABPRUJQUy9jaDIueGh0bWxQSwECFAMUAAAACAAAACEAGvj/TSoBAABqAgAADQAAAAAAAAAAAAAApIFkBAAAT0VCUFMvdG9jLm5jeFBLBQYAAAAABgAGAG4BAAC5BQAAAAA=

Output

Chapter One Begins

He opened the door and saw the snow.

Chapter Two Snow

The wind grew stronger.

Paragraphs keep a blank line between them; script, style and head content is dropped.

Frequently asked questions

What happens to images and tables?

Images are ignored; table cells are treated as block elements and each gets its own line.

Are entities like   resolved?

Yes. Common HTML entities and numeric character references are restored.

Why is a chapter empty?

A spine entry whose file is missing produces empty text and the path is listed in stats.missing.

Can I limit the chapter count?

Yes, maxChapters only reads the first N spine documents.

Keywords:epub转文本电子书epub to txtoffline

Related tools