Why Reflowable ePub Outperforms Proprietary eBook Formats

Your EPUB Is Fine. Kobo Disagrees. Blame Adobe

We've spent the last few years rushing toward proprietary formats and interactive PDFs, pretending that "rich media" is what makes a document better. It isn't. Most of the time, it just makes a file harder to open and impossible to read on a phone. We've forgotten that a reflowable, open standard is actually what a reader wants.

I've spent a lot of time fighting with fixed-layout documents. There is nothing more frustrating than pinching and zooming on a mobile screen just to read a single paragraph of text. It's a lazy way to handle design that puts the burden on the user instead of the author.

The industry seems to think that adding a few embedded videos or fancy animations justifies locking content into a closed ecosystem. But the real win isn't in the bells and whistles. It's in the ability for text to adapt to whatever screen it happens to be on.

The question is why we're moving backward when the tools to do this right already exist.

The Reflowable Advantage

Fixed-layout files are a mistake for reading because they treat a screen like a piece of paper. When you use a PDF, you're just looking at a digital snapshot of a page. If the font is too small, you're stuck zooming and panning horizontally, which is a tedious way to consume a book. ePubs solve this by using reflowable content. The text isn't tied to a coordinate on a page; it's a stream of HTML and CSS that adapts to the container.

This creates a psychological shift. You aren't "reading a document" where the layout is a constraint; you're reading a book where the content is the only thing that matters. You can change the serif, bump the font size to 18pt, or switch to a dark theme without breaking the layout. It's the difference between looking at a photo of a painting and having the painting resize itself to fit your wall.

The technical side is essentially a zipped website. An ePub is a collection of XHTML files and a CSS stylesheet. If you want to change how a book looks across different devices, you don't edit the text; you edit the CSS.

/* Basic reflowable styles for an ePub */
body {
  font-family: Georgia, serif;
  line-height: 1.5;
  margin: 5%; /* Ensures text doesn't hit the screen edge */
}

p {
  text-indent: 1.5em;
  margin-bottom: 0;
}

This part is genuinely confusing for some because "reflowable" sounds like it would mess up the formatting. It does, if you're trying to build a complex magazine layout with overlapping images. But for a novel or a technical manual, the flexibility is the entire point. You trade pixel-perfect control for actual readability.

Common Misconceptions about ePub

The common complaint that ePubs "look different on every device" isn't a failure of the format; it's the point. An ePub is essentially a zipped website—HTML and CSS—designed to be reflowable. This means the content adapts to the screen size and the user's font preferences. If a book looked identical on a Kindle Paperwhite and an iPad Pro, the text would either be microscopic or absurdly large.

The actual problem is that e-reader software interprets CSS inconsistently. Some readers ignore specific margins or handle float properties poorly. This part is genuinely confusing because there's no single "browser" for ePubs. You're writing for a fragmented ecosystem where Adobe Digital Editions, Apple Books, and Amazon's conversion engine all have different ideas about how to render a page.

Most modern readers support CSS3, but you have to keep your stylesheets lean. If you try to use complex Grid layouts or heavy JavaScript, the file will likely break on older devices. Stick to basic positioning and typography.

/* Basic ePub styling for maximum compatibility */
body {
  margin: 5%;
  text-align: justify;
}

h1 {
  text-align: center;
  font-family: serif;
  margin-bottom: 1em;
}

.indent {
  text-indent: 1.5em;
  margin: 0;
}

You can't force a perfect layout, but you can control the basics. Focus on the hierarchy of the text rather than the exact pixel coordinates. If you try to fight the reflowable nature of the format, you'll spend weeks tweaking CSS only for a user to change the font to OpenDyslexic and blow up your layout anyway.

Practical Implementation

Pandoc is the most reliable tool for this. It's a command-line utility that handles the heavy lifting of converting Markdown to the ePub format without requiring a complex build pipeline. You don't need a fancy GUI; a single command handles the conversion and the metadata mapping.

pandoc book.md -o book.epub --metadata-file=meta.yaml

An ePub file is just a zipped archive of specific files. If you rename the .epub extension to .zip and unzip it, you'll find a folder structure containing HTML files for the content, CSS for the styling, and an .opf (Open Packaging Format) file. The OPF file is the brain of the package; it defines the metadata and the linear reading order of the content. This part is genuinely confusing because the OPF uses a rigid XML schema that doesn't forgive typos. If your manifest lists a file that doesn't exist in the archive, the e-reader will likely crash or skip the chapter.

To ensure the file actually works across different devices, use the EpubCheck tool. It's the industry standard for validation. If EpubCheck gives you a green light, the file will likely work on everything from a Kindle to an Apple Books app.

  • HTML/CSS: The actual text and layout.
  • OPF: The manifest and metadata.
  • NCX: The table of contents for older readers.
  • mimetype: A plain text file that identifies the file as an ePub.

I've found that relying on automated converters often leads to sloppy CSS that looks terrible on smaller screens. It's usually better to write a minimal CSS file and tell Pandoc to use it.

/* Simple ePub styling to avoid reader defaults */
body {
  margin: 5%;
  line-height: 1.5;
  font-family: serif;
}

The Open Standard vs. The Walled Garden

The community is currently arguing about whether the EPUB standard is actually a standard or just a loose suggestion that everyone implements differently. I agree with the critics who point out that backward compatibility is a mess here. If you look at PDFs or even old Adobe formats, they prioritized the "frozen" state of the document. EPUB tries to be a living web document, but that means your layout is at the mercy of whatever rendering engine the e-reader manufacturer decided to use.

I think the friction around CSS validation is where this really falls apart. It's frustrating to write code that is technically valid but looks broken on a Kindle or a Kobo. This isn't a failure of the specification as much as it is a failure of the ecosystem to agree on a baseline. We're seeing a tension between the desire for an open, flexible format and the reality that publishers just want the page to look the same for every reader.

The real question is whether we've reached the limit of what a "reflowable" standard can do. I'm not convinced that more updates to the spec will fix the fragmentation. We might just be waiting for a shift back toward fixed-layout formats that don't pretend to be websites.

Conclusion

The reality is that most people treat ePub as a legacy format because they’ve only ever used it through a restrictive reader. But when you actually control the implementation, the reflowable nature of the format is the only way to handle the chaos of different screen sizes without losing your mind.

I'm still not convinced that the "walled garden" approach will ever truly provide a better user experience than a clean, open standard. It usually just ends up being a way to lock users into a specific ecosystem.

If you're still building fixed-layout PDFs for digital distribution, try converting one project to ePub. See if the flexibility actually solves your layout problems or if it just creates new ones you weren't prepared for.