Backwards Compatibility

Some popular reading systems such as the Barnes & Noble Nook and Adobe Digital Editions do not currently have native support for EPUB 3 files. As a result, we recommend that you include the following features to ensure that your EPUB 3 file is backwards compatible with these and other EPUB 2-only reading systems.

Cover images

Include the properties="cover-image" attribute for EPUB 3:

<manifest>
    ...
    <item id="cover" href="images/cover.jpg" media-type="image/jpeg" properties="cover-image"/>
    ...
</manifest>

and the <meta> tag for EPUB 2 (pointing to the id of the same item in the manifest):

<metadata>
    ...
    <meta name="cover" content="cover" />
    ...
</metadata>

Table of Contents

Include an NCX file in addition to your HTML Nav doc. Also, include the properties="nav" for EPUB 3:

<manifest>
    ...
    <item id="nav" href="toc.xhtml" media-type="application/xhtml+xml" properties="nav"/>
    <item id="toc" href="toc.ncx" media-type="application/x-dtbncx+xml"/>
    ...
</manifest>

Place the toc="toc" attribute in the <spine> element for EPUB 2

<spine toc="toc">

In your CSS, you can use the following code to ensure that the hidden PageList and Landmarks nav elements will be invisible in most EPUB 2 reading systems, as well.

nav[epub\:type~='landmarks'], nav[epub\:type~='page-list'] {
    display: none;
    visibility: hidden;
}

If you prefer, you can just include a class name in the <nav> elements and assign a display:none; style to them in your CSS.

Guide/Landmarks

Include both the landmarks section for EPUB 3, and the <guide> section for EPUB 2.

Other issues

In addition, we highly recommend that you test your EPUB file in all of your targeted reading systems, paying special attention for problems related to: