Skip to main content

Jebonso: Convert TXT to EPUB in Your Browser

BROWSER TOOLS

Jebonso: Convert TXT to EPUB in Your Browser

Open Source Factory · Jul 30, 2026 · 5 min read

A text file needs structure before it becomes a comfortable EPUB: chapter boundaries, metadata and a usable reading order. Jebonso handles those steps in the browser. The two-chapter export check below looks inside the resulting file rather than treating a successful download as proof of reader compatibility.

In this article
  1. Conversion tasks
  2. Recognized chapter headings
  3. Conversion steps
  4. Supported inputs and outputs
  5. Interface design
  6. Worked example and conversion limits
  7. Linked source documents
  8. A two-chapter export, checked inside the file
Single HTML file
Free · No install · No server

A plain-text manuscript needs chapter structure and book metadata to become a useful EPUB. Jebonso adds those steps in the browser. The two-chapter export check below shows what was verified and which reader-compatibility questions remain open.

  • Installers, or a paywall
  • Korean encoding (EUC-KR) mangled into gibberish
  • Manually splitting chapters by hand
  • Uploading files to a server you don't trust

Conversion tasks

1

TXT → EPUB binding

MAIN MENU

Import a copy of the TXT, inspect the detected chapters and metadata, then export. If detection is wrong, correct the source or settings before relying on the generated book.

πŸ“‘ Auto chapter detection

Heading lines like "제1μž₯", "Chapter 1", "Prologue" or "Epilogue" are recognized automatically and split into chapters.

πŸ”€ Encoding auto-detection

EUC-KR or UTF-8 — doesn't matter. Old files go in as-is.

✂️ Split mode

Auto split by chapter headings, or manual split every N characters (e.g. every 50,000).

πŸ–Ό️ Cover insertion

Drop a JPG/PNG cover photo and it's registered as the EPUB cover automatically.

2

Replacing an EPUB cover

SIDE MENU

Already have an EPUB but want a different cover? Drop the EPUB, add a new cover photo, done. The existing cover metadata is located automatically and swapped out cleanly. The text stays untouched — only the cover gets a new outfit.

Recognized chapter headings

Heading patterns the detection engine understands. If your manuscript has lines like these, chapters are split automatically.

제1μž₯ · 제 2 ν™” · Chapter 3 · Part 4
ν”„λ‘€λ‘œκ·Έ · μ—ν•„λ‘œκ·Έ · μ™Έμ „ · λ²ˆμ™Έ · 맺음말 · Prologue · Epilogue
1. Title · II. · IV.  ← Roman numerals work too

If fewer than two heading lines are found, it falls back to a character-based split — so check the generated chapter boundaries before reading.

Conversion steps

1
Double-click index.html — it opens in your browser. No installation.
2
Drag and drop your TXT file — or click to select. Multiple files at once work too.
3
Enter the book title and author — optional. Add a cover photo while you're at it.
4
πŸ“• Start binding — a moment later the EPUB downloads automatically.

For cover replacement, use the [EPUB cover swap] tab and drop in the EPUB plus a new cover photo.

Supported inputs and outputs

Item Detail
FormSingle HTML file — no installation
Runs inModern browsers (Chrome · Edge · Firefox · Safari)
Server trafficNone — all processing happens in your browser
EncodingsUTF-8 · EUC-KR auto-detected
EPUB specEPUB 3 (OPF · spine · cover-image)
PriceFree

Interface design

A retro print shop concept. Paper texture background, crop marks, printing registration marks, letterpress-style typography. I wanted to prove a converter can be beautiful too.

TYPE — Black Han Sans (signboard) · IBM Plex Sans KR (body) · IBM Plex Mono (labels)

πŸ“•

Jebonso is a single HTML file, so you can copy it anywhere and use it.
Carry it on a USB stick, or park it on your NAS.

Questions or improvement ideas? Drop them in the comments — they go into the next version. πŸ™

— Jebonso · TXT → EPUB · MADE WITH ❤ IN BROWSER —

Worked example and conversion limits

For a short practice manuscript, put “Chapter 1” and “Chapter 2” on separate heading lines with text beneath each. Use automatic splitting, then open the downloaded EPUB in your reader and check the table of contents, the chapter order and the first paragraph of each chapter. These are example inputs to inspect, not a claim that every manuscript is detected correctly.

If headings are inconsistent, switch to character-based splitting. The current source sets 15,000 characters by default and permits 3,000–60,000; characters are not pages. Keep the original TXT and EPUB, especially before replacing a cover. A custom EPUB may use metadata or paths this converter does not handle; inspect the result rather than assuming compatibility with every reader.

The source first checks a UTF-8 byte-order marker and valid UTF-8, then tries EUC-KR. Automatic detection is not proof that damaged or mixed-encoding text is recoverable. If the preview contains broken characters, fix a copy of the source encoding before converting.

Your manuscript is processed by the browser. However, the HTML loads Google Fonts and the JSZip library from a CDN. “Local processing” does not mean zero network requests or guaranteed offline startup. The current source includes a built-in ZIP writer fallback for TXT export, while existing-EPUB parsing and cover replacement still depend on JSZip. No EPUB-validator or cross-device reader test was performed for this update.

Linked source documents

For a cover image, see DARKROOM’s resize and format guide. For another browser utility, read Naver Cafe Board Filter. The reading guide explains the tool collection.

A two-chapter export, checked inside the file

Open the live Jebonso converter to use the tool directly. The source repository remains available for inspecting or downloading the code.

On October 9, 2026, an automated browser check in Chromium 154.0.8037.98 on Windows imported a 77-byte UTF-8 TXT fixture. It contained the headings Chapter 1 and Chapter 2, each followed by a short paragraph. Automatic chapter detection was selected, the book language was set to en, and no cover photo was supplied.

The download was a 4,060-byte EPUB. Opening its ZIP container found OEBPS/chapter_001.xhtml and OEBPS/chapter_002.xhtml, plus the package document, navigation, NCX and generated cover. Both sample paragraphs appeared in the corresponding chapter files. The XHTML, package and navigation documents parsed as XML. This checks the small file's structure and text preservation; it is not an EPUBCheck pass or a compatibility result for Apple Books, Kindle or every reader.

To repeat the test, put each chapter heading on its own line and separate paragraphs with blank lines. Import the TXT, keep automatic splitting, build, and download. Open a copy of the EPUB as a ZIP to inspect chapter contents, then check it in the reader you intend to use. The current source includes a built-in ZIP writer fallback for TXT exports; parsing an existing EPUB for cover replacement still uses JSZip. External fonts and dependencies mean that browser-local processing is not a blanket guarantee of offline startup.