Your Valid EPUB Passes epubcheck — But Kobo Calls It 'Corrupted'. Here's Why.

Imagine this: you've spent hours formatting your EPUB. It passes epubcheck 3.3 with zero errors. It renders perfectly on Apple Books, on Thorium Reader, on your Kindle. But the moment someone opens it on a Kobo — "This book appears to be corrupted and cannot be opened."

This is not a hypothetical edge case. In June 2026, independent author André Klein published a detailed post about exactly this problem. His book was flawless by every standard validator. Yet Kobo users saw the dreaded "corrupted file" error. The culprit was a single CSS rule buried in his stylesheet.

This article breaks down what went wrong, why it's a wider industry problem, and — most importantly — how to make sure your EPUBs work on every device your readers use.


What Actually Happens When Your EPUB Hits a Kobo

Here's the chain of events when someone opens your EPUB on a Kobo e-reader:

  1. Kobo detects the file — the file extension is .epub, so Kobo routes it to its default EPUB renderer
  2. Adobe RMSDK takes over — Kobo's standard EPUB path uses Adobe's Rendering and Management Software Development Kit (RMSDK), the same engine that powers Adobe Digital Editions
  3. RMSDK parses your CSS — this is where things can break
  4. If RMSDK encounters a CSS property it doesn't understand, instead of silently ignoring the declaration (as the CSS specification requires), it throws a fatal parsing error
  5. The entire EPUB is rejected — the fatal error propagates up, and Kobo displays the generic "corrupted" message with zero diagnostic information

That last step is the heart of the problem. Your EPUB is not corrupted. Your CSS contains a property that Adobe RMSDK — a piece of software frozen in time — cannot parse.


The Root Cause: Adobe RMSDK Violates a 30-Year CSS Rule

This is the part that makes the whole situation infuriating for authors and publishers.

Since CSS Level 1 (1996), the W3C specification has required all CSS parsers to silently ignore unrecognized declarations. The spec states:

"Illegal values, or values with illegal parts, are treated as if the declaration weren't there at all."

This forward-compatibility rule is the single most important design principle in CSS. It's the reason you can use a CSS feature from 2026 on a browser from 2010 — the old browser simply skips the declaration it doesn't understand, and the page renders using what it does understand.

Adobe RMSDK does not implement this rule. Instead of gracefully skipping unknown CSS functions and properties, RMSDK's parser throws a fatal error that cascades into a complete EPUB rejection. As Hacker News commenter gsnedders put it: "Every single CSS standard ever has required that unrecognized declarations be ignored. A conforming implementation would ignore that property declaration, not raise an error."

RMSDK is not conforming to any version of CSS it claims to implement.


Which CSS Features Crash RMSDK?

RMSDK's CSS parser is effectively frozen at CSS 2.1 capability (circa 2011–2013). Any CSS feature from CSS3 or later — and even some widely supported modern CSS2 features — can trigger the fatal parsing error.

CSS Feature Status Example Trigger
min(), max(), clamp() FATAL width: min(100%, 600px)
calc() FATAL width: calc(100% - 40px)
Flexbox (display: flex) FATAL display: flex; gap: 1em
CSS Grid FATAL display: grid; grid-template-columns: 1fr 1fr
Custom Properties (CSS variables) FATAL --main-color: #333; color: var(--main-color)
CSS Level 4 selectors FATAL :is(p, li) { ... }
transform, transition FATAL transform: scale(1.1)
object-fit FATAL object-fit: cover
Viewport units (vw, vh) Unsafe max-width: 30vw
box-sizing: border-box Likely fatal box-sizing: border-box
float, text-align, margin Safe Basic CSS 2.1 features

The single line that broke André Klein's EPUB was: max-width: min(150px, 30vw). It's valid CSS. It works everywhere except RMSDK. And because RMSDK doesn't gracefully degrade, the entire book becomes unopenable on Kobo.


How to Diagnose If Your EPUB Will Fail on Kobo

epubcheck cannot catch this. No automated CSS validator exists that checks against RMSDK's capabilities specifically. But there is a reliable test method.

The Adobe Digital Editions Test (Gold Standard)

Adobe Digital Editions (ADE) uses the same RMSDK rendering engine as Kobo. If your EPUB opens with a white screen in ADE, it will fail on Kobo.

  1. Download Adobe Digital Editions (free from Adobe's website)
  2. Drag your EPUB file into ADE
  3. If you see a white screen — your CSS contains RMSDK-incompatible properties
  4. If you see your book content normally — your EPUB is likely safe for Kobo

The Binary Search Method

If ADE shows a white screen, isolate the culprit:

  1. Open your EPUB in Calibre's Edit Book tool (or a ZIP extractor)
  2. Remove half of your CSS declarations
  3. Test again in ADE
  4. If it now shows content, the problematic CSS was in the removed half
  5. Narrow down by repeating until you identify the single offending rule

In Klein's case, the culprit was the min() CSS math function — a feature that has been standard for years but was introduced after RMSDK's parser was last updated.


How to Fix Your EPUB for Kobo Compatibility

You have four options, from quickest to most robust.

Method 1: Replace Modern CSS with CSS 2.1 Equivalents

This is the safest approach for EPUB creators who want maximum compatibility. Replace modern properties with their older equivalents:

/* AVOID (crashes RMSDK): */
.copyright img {
    max-width: min(150px, 30vw);
}

.table-wrapper {
    display: flex;
    gap: 1em;
}

/* USE (safe, CSS 2.1): */
.copyright img {
    max-width: 150px;
}

.table-wrapper {
    overflow-x: auto;
}
.clearfix { clear: both; }

Safe CSS rules of thumb for Kobo EPUBs:

  • Use only fixed units (px, pt, em, %) — avoid vw, vh, min(), max(), clamp(), calc()
  • Use float instead of flexbox or grid for layout
  • Avoid CSS custom properties entirely
  • Keep @media queries simple (basic CSS 2.1 features only)
  • Test with Adobe Digital Editions before publishing

Method 2: Use Calibre's Modify EPUB Plugin

If you use Calibre for ebook management, the Modify EPUB plugin can help strip problematic CSS:

  1. Open your EPUB in Calibre
  2. Click Edit Book
  3. Use Tools → Remove unused CSS — this strips unknown or unused properties
  4. Alternatively, use Convert Books with output set to EPUB, then in Look & Feel → Filter style information, restrict to CSS 2.1 compatible properties

Method 3: Convert to KEPUB (Best Fix for Kobo Users)

Here's the secret: Kobo ships with two rendering engines:

  • Standard .epub files → routed to Adobe RMSDK (old, broken parser)
  • .kepub.epub files → routed to Kobo's WebKit-based renderer (actively maintained, modern CSS support)

The switch is determined by file extension alone. If you rename your EPUB or convert it to KEPUB format, Kobo uses its modern WebKit renderer, which handles modern CSS without issues.

Use kepubify (open-source, runs in your browser) or Calibre's KEPUB output plugin to convert. The process is:

  1. Download kepubify from pgaskin.net/kepubify/
  2. Run: kepubify your-book.epub
  3. Transfer the resulting .kepub.epub file to your Kobo

The Standard Ebooks project explicitly recommends this: "Download the KEPUB file for Kobo devices."

Method 4: Test with KOReader (Alternative Firmware)

Advanced users can install KOReader on their Kobo. KOReader uses the crengine rendering pipeline, which supports modern CSS and avoids RMSDK entirely. This sidesteps the issue at the device level rather than the file level.


Which E-Readers Are Affected?

Not all e-readers use RMSDK. Here's a compatibility table for the major platforms:

Device Rendering Engine Affected?
Kobo (.epub files) Adobe RMSDK Yes
Kobo (.kepub.epub files) WebKit (modern) No — use KEPUB format
Tolino Adobe RMSDK Yes — same issue as Kobo
PocketBook Crestome / INKBOOK No — uses its own engine
Amazon Kindle Kindle Format (KF8/KFX) No — doesn't use RMSDK
Apple Books WebKit-based No
Thorium Reader Readium (modern) No

If you publish EPUBs, the safe assumption is: test every EPUB in Adobe Digital Editions before release. This is the only reliable way to catch RMSDK-incompatible CSS before it reaches your readers' devices.


Frequently Asked Questions

Why does epubcheck not catch this issue?

epubcheck validates EPUB structure — OPF, NCX, manifest, XHTML conformance — and performs basic CSS syntax validation. It cannot validate CSS against the specific capabilities of a broken renderer. A CSS property that is syntactically valid but unsupported by RMSDK will pass epubcheck without warning. This is a tooling gap in the EPUB ecosystem.

Can I use CSS Grid or Flexbox in my EPUB?

You can, but your EPUB will be unreadable on Kobo and Tolino if you do. Adobe RMSDK does not support Flexbox or Grid — it was last meaningfully updated around 2013, before these layout modes were widely adopted. If you must use Flexbox or Grid, test thoroughly on every device, or advise Kobo users to download the KEPUB version of your book.

Is RMSDK still being developed?

Adobe has announced the end-of-life for Adobe Digital Editions and RMSDK. The technology has been sold to Wipro Engineering. As of 2026, there is no indication that the RMSDK CSS parser will receive updates to support modern CSS. This means the problem is permanent — not a bug waiting to be fixed. Publishers and authors must work around it.

What if I only publish on Amazon Kindle?

Kindle does not use RMSDK, so this specific issue does not affect Kindle readers. However, if you distribute the same EPUB through other channels (Kobo, library services, or your own website), the RMSDK issue applies. Many authors who publish on Amazon KDP also sell EPUBs on their own site or through Kobo — in that case, compatibility matters.

How can I check if my EPUB uses modern CSS?

Open your EPUB with a ZIP extractor, find your CSS files inside the EPUB archive, and search for these keywords: min(, max(, clamp(, calc(, flex, grid, var(--, transform, transition, object-fit, vw, vh. If any of these appear, you have RMSDK-incompatible CSS. Remove or replace them with CSS 2.1 equivalents.

Does converting EPUB to KEPUB lose any features?

Minimally. KEPUB is a superset of EPUB — it adds Kobo-specific metadata and enables the WebKit renderer. All standard EPUB content (CSS, images, hyperlinks, table of contents) works identically. KEPUB also adds benefits like per-chapter progress tracking and faster page turns on Kobo devices. There is no downside to using KEPUB on Kobo.


Conclusion

The Kobo / Adobe RMSDK CSS issue is a rare example of a software problem that violates a fundamental principle of the web. For 30 years, CSS has been designed so that old parsers gracefully ignore new features. Adobe RMSDK breaks this contract — and because Kobo uses RMSDK for standard EPUB files, thousands of valid, well-formatted books are rejected with a misleading "corrupted" error.

The fix is straightforward once you know what to look for:

  • Test with Adobe Digital Editions before distributing — a white screen means RMSDK-incompatible CSS
  • Avoid modern CSS features in your EPUB stylesheets if you target Kobo or Tolino readers
  • Offer a KEPUB version for Kobo users, which routes to Kobo's modern WebKit renderer
  • Keep your master copy in standard EPUB format — EPUB is the most widely supported format across devices and platforms

If you need to convert, reformat, or test your EPUBs, converter-epub.com handles all major formats with no server uploads and complete privacy. Your files stay in your browser, so you can test your CSS fixes without exposing your work to third-party servers.