Fixed-Layout EPUB (FXL): When to Use It and How It Works
Most EPUBs are reflowable — text reflows to fit the screen. But some content requires a fixed layout: picture books, comics, graphic novels, magazines, and heavily designed non-fiction. Fixed-layout EPUB (FXL) gives you pixel-precise control over every page, like a PDF, while staying in the EPUB ecosystem.
Reflowable vs Fixed-Layout EPUB
| Aspect | Reflowable EPUB | Fixed-Layout EPUB |
|---|---|---|
| Text size | User-controlled | Fixed (author-set) |
| Page count | Dynamic | Fixed |
| Images with text overlay | Difficult | Precise positioning |
| Accessibility | Excellent | Requires extra work |
| Best for | Novels, textbooks, articles | Comics, picture books, magazines |
| E-ink readability | Excellent | Poor (text too small) |
| Tablet readability | Good | Excellent |
Declaring Fixed-Layout in the OPF
Add rendition properties to content.opf to enable fixed layout globally:
<metadata>
<!-- Global fixed-layout declaration -->
<meta property="rendition:layout">pre-paginated</meta>
<meta property="rendition:orientation">auto</meta>
<meta property="rendition:spread">auto</meta>
</metadata>
Per-item overrides are possible in the spine — useful for mixing fixed and reflowable content:
<spine>
<!-- Fixed-layout page -->
<itemref idref="page01" properties="rendition:layout-pre-paginated"/>
<!-- Reflowable page (override) -->
<itemref idref="intro" properties="rendition:layout-reflowable"/>
</spine>
Setting Page Dimensions
Each fixed-layout XHTML page declares its viewport size — equivalent to setting the canvas size for a print page:
<!-- In the head of each fixed-layout XHTML file -->
<meta name="viewport" content="width=1200, height=1600"/>
<style>
html, body {
width: 1200px;
height: 1600px;
margin: 0;
padding: 0;
overflow: hidden;
}
</style>
Common dimensions: 1200×1600 (portrait), 1600×1200 (landscape). Reading systems scale the page to fit the screen while maintaining the aspect ratio.
Two-Page Spreads
For content designed as facing pages (comics, art books), declare spread behaviour:
<!-- In content.opf metadata -->
<meta property="rendition:spread">landscape</meta>
<!-- Per-item spread override in spine -->
<itemref idref="spread01"
properties="rendition:page-spread-left"/>
<itemref idref="spread02"
properties="rendition:page-spread-right"/>
Fixed-Layout Accessibility Challenges
Fixed-layout EPUBs are harder to make accessible:
- Text as image — if text is baked into images, it's not selectable or screen-reader accessible. Overlay real text on top of the image instead.
- Reading order — CSS positioning breaks document order; add a logical reading order in the HTML even if it's hidden visually.
- No text reflow — users can't increase text size. WCAG 1.4.4 (Resize Text) fails for fixed-layout by design — document this in your accessibility summary.
<!-- Real text overlay on image background -->
<div style="position:absolute; top:120px; left:80px;
font-size:24px; color:#fff;">
Chapter title text here
</div>
Reader Support for Fixed-Layout EPUB
- Apple Books — excellent FXL support, two-page spreads, smooth zoom
- Kindle — FXL supported via KFX format; Amazon converts FXL EPUBs automatically for Kindle
- Kobo — good FXL support on tablets; limited on e-ink devices
- Thorium Reader — EPUB 3 FXL supported
When to Choose Fixed-Layout vs Reflowable
Use fixed-layout when: page layout is part of the content (manga, comics, children's picture books, art catalogues). Use reflowable for everything else — novels, textbooks, articles, and any content where accessibility and multi-device readability matter more than layout precision.
Note: PDF-to-EPUB conversion always produces reflowable EPUB. Fixed-layout EPUBs are typically authored from scratch in InDesign, Affinity Publisher, or Sigil.
Convert PDF to reflowable EPUB free →