A standalone, single-file HTML ePub reader with a modern UI and smooth page-flipping animations.
- Single-file deployment — No build process, no dependencies beyond CDN libraries
- Two-column book layout — CSS multi-column layout displays content as a book spread
- Chapter-aware pagination — Chapters start on new columns
- Multiple navigation methods:
- Draggable progress slider
- Page number input with "Go" button
- Navigation buttons (◀ ▶)
- Keyboard shortcuts (Arrow keys, PageUp/PageDown)
- Touch swipe gestures
- Click on left/right edges of viewport
- Font size adjustment — Slider and keyboard shortcuts (+/-)
- Custom page-flipping animation — Smooth expand effect when turning pages
- Responsive design — Adapts to window resize
- Dark theme UI — Modern dark interface with light content area
- Open
ePubReader.htmlin a web browser - Click "Open" and select an
.epubfile - Navigate using any of the supported methods:
- Slider: Drag to jump to any page
- Page input: Enter page number and click "Go" or press Enter
- Nav buttons: Click ◀ / ▶ to turn pages
- Keyboard: Arrow keys or PageUp/PageDown
- Touch: Swipe left/right on mobile devices
- Click: Tap left/right 15% of viewport edges
- Adjust font size with the Font slider or A+/A- buttons
| Key | Action |
|---|---|
| → / PageDown | Next page |
| ← / PageUp | Previous page |
| + / = | Increase font size |
| - | Decrease font size |
| Ctrl + Wheel | Adjust font size |
- Libraries:
- JSZip — ePub parsing
- CSS Multi-column layout — Uses
column-count: 2with dynamiccolumn-widthcalculation - Pagination — Each column is treated as a "page" (left = page N, right = page N+1)
- Animation — Custom expand effect using cloned DOM elements with
scrollLeftnavigation
Works in modern browsers that support:
- CSS Multi-column layout
- ES6 JavaScript
- CSS Grid/Flexbox
MIT License
Created as a standalone ePub reader for personal use.