Plain text to EPUB
Split plain text into chapters by blank lines or chapter headings and build a standard EPUB2 (per-chapter XHTML + OPF + NCX + mimetype). The result can be read back immediately by the EPUB tools here, and the conversion runs in Rust-compiled WebAssembly.
Runs in your browserEvery computation happens in your browser — your data never leaves this device.
New EPUB
The output is EPUB base64 and can be pasted into the EPUB reader tools.
Loading the ebook module…
Paste plain text to build the EPUB
Chapters: 0 · Paragraphs: 0 · EPUB bytes: 0
What this tool does
- Package your own manuscript as an EPUB.
- Turn cleaned plain text into a page-turning ebook.
- Auto-generate a table of contents from headings.
Example
Input
Chapter One Begins He opened the door and saw the snow. Chapter Two Snow The wind grew stronger.
Output
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
The input is raw text (no base64 needed); paragraph mode splits on blank lines and headings such as "Chapter N".
Frequently asked questions
How are chapters split?
paragraph (default) makes paragraphs on blank lines and starts a new chapter at headings; heading splits only at headings; none keeps one chapter.
What counts as a chapter heading?
A line of at most 40 characters that does not end in sentence punctuation and matches "第X章", "卷…", 序/楔子/前言/后记/尾声/番外, or English "Chapter N".
Is the produced EPUB valid?
mimetype comes first and is stored uncompressed, OPF2 and NCX are included, and the EPUB metadata and text tools here can read it back.
What are the metadata defaults?
Title Untitled, creator UniKit, language en, identifier urn:uuid:uk-ebook.
Keywords:txtepub电子书制作txt to epuboffline