b2KIT

EPUB eBook Viewer

Read EPUB eBooks in your browser with adjustable fonts, themes, and bookmarks.

Tested tool guide Tested browser tools Checked August 16, 2026

What EPUB eBook Viewer does, with a checked example

Drop an .epub file onto the page and the reader unpacks it entirely in the browser, then renders the book as paginated, reflowable text you can adjust with font, theme, and bookmark controls. An EPUB is a ZIP archive of HTML and CSS pages, and the reader follows the package document's spine - the declared reading order - to move chapter by chapter. Nothing is uploaded; the file never leaves your machine. The common surprise: EPUBs purchased from bookstores are usually DRM-encrypted and will not open, and fixed-layout books (comics, spreads, wide tables) refuse to reflow cleanly into a single reading column.

Worked example

A concrete input and expected output from the current implementation.

Input

A minimal EPUB with two files in the archive:
META-INF/container.xml: <container version="1.0" xmlns="urn:oasis:names:tc:opendocument:xmlns:container"><rootfiles><rootfile full-path="OEBPS/content.opf" media-type="application/oebps-package+xml"/></rootfiles></container>
OEBPS/content.opf: a package document whose manifest lists chapter1.xhtml and whose spine contains one itemref, idref="c1", pointing at it

Expected output

The reader opens at page 1 showing chapter1.xhtml: its title and body text rendered with the current font size and theme. The page, bookmark, and chapter controls now act on that single chapter, and no other content is shown because the spine declares nothing else.

The reader starts from container.xml, follows the rootfile path to the package document, then renders the spine's first itemref. That resolution chain decides everything displayed, which is why a corrupt or missing container.xml produces an immediate error with no partial page.

How the result is produced

1

Resolving the archive

An EPUB is a ZIP container. Reading starts at META-INF/container.xml, whose rootfile entry points to the package document, content.opf. That file's manifest names every resource in the book and its spine lists the content documents in reading order. The reader renders the spine's first document first; malformed archives fail at this resolution step, before any page is drawn.

2

Paginating and remembering position

Each content document is laid out to the current viewport and split into pages; changing font size or theme re-paginates the whole book, so the page count shifts. A bookmark stores the chapter and the position inside it, and bookmarks and settings persist in browser storage, so a later visit restores your place without re-finding it.

Good uses

  • Reading on a machine with no eBook app - a work PC, a public terminal, or a device where installing software is blocked.
  • Checking a freshly converted or hand-built EPUB - confirming the spine is in the right order, images resolve, and no chapter is missing before you distribute or sideload it.
  • Comfort reading with accessibility adjustments - forcing a large font, generous line height, or a dark high-contrast theme onto any book regardless of its own styling.

Limits and checks

  • DRM-encrypted files: store-purchased EPUBs are scrambled with an account key. An error or an empty reader here is encryption, not a broken file; only a DRM-free copy will open.
  • Fixed layouts: books declared precomposed (comics, picture books, PDF-style layouts) are designed for exact positioning. Forced into reflow, spreads split across screens and wide content gets clipped.
  • Page numbers are the reader's, not the publisher's: pagination depends on window width, font size, and theme, so the count changes between devices and settings. Bookmarks survive those changes, but page numbers printed in the book itself will not line up.

Common questions

Why won't my purchased EPUB open?

The most common cause is DRM. Many stores ship EPUBs encrypted to your account, and a browser reader has no way to decrypt them. Try a DRM-free copy - many publishers offer one, and files you export from editing tools always open - and if that works, the file itself was fine.

Will my bookmarks still be there when I come back?

Yes, if you return to the same site in the same browser. Bookmarks and settings live in the browser's local storage, not on a server, so a later session restores them. Clearing site data, private browsing, or switching browsers loses them, so do that only when you are ready to start over.

References and verification

The example and behavioral notes were checked against the browser implementation. Standards and primary references below define the relevant format, formula, or platform behavior.

Related Tools