EPUB Viewer, Metadata & Text Extractor
An .epub is a ZIP with a strict layout, which is why a book can look fine and still be refused by a reader with no explanation. This viewer opens one and tells you what is in it: title, authors, language, publisher, date, identifier and subjects, the reading order with a word count per chapter, and the plain text of any chapter or the whole book. It also runs the structural checks that decide whether a reader will open the file at all. The mimetype entry has to be first in the archive and stored uncompressed — readers identify a book by reading those bytes straight out of the file without unpacking anything, so a book whose mimetype was deflated, or written last, fails at the first step while remaining a perfectly valid ZIP. On top of that: the container has to name a package file that exists, every entry in the reading order has to resolve to something in the manifest, every manifest file has to actually be in the archive, and a table of contents has to be present. The word counts are useful on their own — how long is this book really, and where is the padding — and the extracted text gives you something to search, diff or paste elsewhere. Everything happens in your browser; the book is never uploaded.
Drop an .epub file to read it.
How to use
- Drop an .epub file, or click to choose one.
- Read the metadata block: title, authors, language, publisher, identifier and subjects.
- Check the structure list — a red mark is the reason a reader refuses the book.
- Scan the contents table for the reading order and per-chapter word counts.
- Pick a chapter, or the whole book, then copy or download the plain text.
Frequently asked questions
- Why must the mimetype file come first and be uncompressed?
- So a reader can identify the file by reading a fixed number of bytes at a known position, before unpacking anything. The rule comes from the OCF container spec. A book that breaks it is still a valid ZIP, which is why the failure looks so mysterious — the reader simply refuses it.
- My book opens in one app but not another. Why?
- Readers differ in how much they forgive. The checks here are the ones strict readers apply, so a red mark usually explains the difference: a missing file the manifest promises, a reading-order entry pointing at nothing, or a mimetype written the wrong way.
- How are the word counts calculated?
- Markup, scripts and styles are stripped from each chapter, then the remaining text is split on whitespace. Character counts are also shown, which is the more meaningful figure for Chinese, Japanese and Korean, where words are not separated by spaces.
- Does it show the images and formatting?
- No — this is a viewer for what the file contains, not a reading app. It extracts text so you can search, count, diff or paste it. Images and layout stay in the file.
- Does it work with DRM-protected books?
- No. A book from a store with DRM has its content encrypted, and nothing in the browser can read it. Files exported without DRM open normally.
- Is my book uploaded anywhere?
- No. The file is unzipped and parsed in your browser, and nothing is sent to a server.
Related tools
PNG Chunk Inspector
Drop a `.png` file and see every chunk it contains — IHDR, IDAT, tEXt metadata, IEND — with sizes, CRCs, and the critical/ancillary/safe-to-copy flags.
Character & Word Counter
Count characters, words, sentences, lines, and bytes in real time.
Word Frequency Counter
Count how often each word appears in your text — with stopword filtering, minimum length, and CSV export.
MP3 Tag (ID3) Viewer & Cover Art Extractor
Drop an MP3 and read its ID3 tags, bitrate and duration, and pull out the embedded cover art — all in your browser.
Text Diff Viewer
Compare two pieces of text and see line-by-line or word-by-word additions and removals.
Excel (XLSX) to CSV, JSON & Markdown
Open an .xlsx workbook in the browser and export any sheet as CSV, JSON or a Markdown table — the file never leaves your device.