Labs · TXT to EPUB

Your txt manuscript,
made into a real ebook.

Drop a txt: encoding detected, chapters recognized the way a production importer does it, table of contents built, cover attached — packaged as a standard EPUB that Kindle, Apple Books and Kobo all accept. The whole pipeline runs in your browser; the file never leaves your device.

FreePacks locally · nothing uploadsEPUB 3 · legacy TOC included

Drop a txt here, or click to choose

.txt (UTF-8 / GBK / UTF-16 auto-detected) · up to 64MB

The whole pipeline runs locally in your browser: parsing, chapter detection, packaging. Nothing uploads.

The parse report and chapter list appear here.

Where this tool comes from

Chapter detection is the same engine as our book checkup — a port of the recognition rules running in the app's txt importer, hardened against real library files: 第N章/volume families, prologue and side-story markers, Chapter N with Roman numerals, bare numeric headings, plus the defensive passes those files taught us (download-site tables of contents dropped as dense duplicate groups, resetting option-style numbering refused). Detection results are shown for confirmation before anything is packaged.

The EPUB itself is assembled byte by byte in the browser: a zip container laid out per the OCF spec (mimetype first, uncompressed, so the file identifies itself at byte 38), EPUB 3 nav plus a legacy NCX table of contents, and cover markers written both the EPUB 3 way and the EPUB 2 way. Output was validated with the official EPUBCheck 5.2: zero errors, zero warnings across four test shapes (well-chaptered, chapterless, special-character titles, and a real 172-chapter novel) as of 2026-07.

What it can't do

Rare heading styles it can't recognize: when not a single chapter is detected, the text is split evenly every ~8,000 characters and labeled as such — honest fallback, not fake detection. Section titles are editable here, but merging chapters or adding split points by hand belongs to the app. Plain text only: image links in the body stay as text, and illustrated chapters aren't possible from a txt source. The encoding chain covers UTF-8, GBK/GB18030 and UTF-16; Big5 and Western single-byte encodings aren't in it, and heavy mojibake triggers an explicit warning instead of a silent bad book. A few very old readers may not show the cover — an EPUB 2-era quirk; for old Kindle firmware, pass the output through Calibre.

FAQ

Will the EPUB work on Kindle?

Yes. Since 2022, Send to Kindle accepts EPUB directly — by email or from the share sheet. The output carries both the EPUB 3 nav and the legacy NCX table of contents, so chapter jumping works on older readers too. Only very old Kindle firmware needs azw3; for those, run this EPUB through Calibre once.

What if chapter detection gets it wrong?

Every detected chapter is listed before packaging: rename any title inline, untick rows that are ads or site headers to exclude them. If no chapter style is recognized at all, the text is split evenly every ~8,000 characters and the page says so plainly — it never pretends detection succeeded. Merging chapters or inserting split points by hand happens in the app's importer, not here.

Does my manuscript get uploaded?

No. Parsing, chapter detection and zip packaging all run inside your browser; this page has no upload endpoint. That is also why it can be free with no file limit up to 64MB — the work happens on your device, so we have no server bill to pass on.

Can I convert a book I downloaded from a website?

The tool is format-neutral, but make sure the source permits you to save and convert the text. This page is designed for your own writing: manuscripts, compiled notes, and texts you have the rights to.

Why is there no image support?

v1 is plain-text only. A txt file can't carry images, so picture links or placeholders in the body stay as ordinary text. Illustrated EPUB assembly (embedded images per chapter) is out of scope for this version.

Keep going

← All free tools

TXT to EPUB Converter — Free, In Your Browser, Nothing Uploads · Foreverse · Xinmeng