EPUB 3.1

Editor's Draft 26 April 2016

This version
http://www.idpf.org/epub/31/spec/epub-spec-20160426.html
Latest version
http://www.idpf.org/epub3/latest
Previous version
http://www.idpf.org/epub/31/spec/epub-spec-20160130.html
Previous recommendation
http://www.idpf.org/epub/301/spec/epub-publications-20140626.html
Document history

Editors

Markus Gylling, International Digital Publishing Forum (IDPF)

Tzviya Siegman, John Wiley & Sons

Matt Garrish, Invited Expert

The complete EPUB 3.1 specification is also available for download as an EPUB 3.0 and 3.1 Publication.

Copyright © 2010-2016 International Digital Publishing Forum™

All rights reserved. This work is protected under Title 17 of the United States Code. Reproduction and dissemination of this work with changes is prohibited except with the written permission of the International Digital Publishing Forum (IDPF).

EPUB is a registered trademark of the International Digital Publishing Forum.

Status of this Document

This section describes the status of this document at the time of its publication. Other documents may supersede this document.

This document is a draft produced by the EPUB Working Group under the EPUB Working Group Charter approved on 8 July 2015.

This document is not considered stable and may be updated, replaced or obsoleted at any time. Its publication as a draft does not imply endorsement by IDPF membership or the IDPF Board. The document should only be cited as a work in progress.

Feedback on this document can be provided to the EPUB Working Group's mailing list or issue tracker.

This document is governed by the IDPF Policies and Procedures.

  1 Overview

  1.1 Purpose and Scope

This section is informative

This specification, EPUB 3.1, defines a distribution and interchange format standard for digital publications and documents. EPUB® defines a means of representing, packaging and encoding structured and semantically enhanced Web content — including HTML5, CSS, SVG and other resources — for distribution in a single-file format.

EPUB has been widely adopted as the format for digital books (eBooks), and these specifications significantly increase the format's capabilities in order to better support a wider range of publication requirements, including complex layouts, rich media and interactivity, and global typography features. The expectation is that EPUB 3.1 will be utilized for a broad range of content, including books, magazines and educational, professional and scientific publications.

EPUB 3.1 is modular in nature: it consists of a family of specifications that define the core features and functionality of the standard. This specification represents the primary entry point to standard, but the specifications listed in Specifications all belong the standard. An index to key concepts and definitions defined across these specifications is provided in Index.

The informative [EPUB3Overview] provides a general introduction to the standard. A list of technical changes from EPUB 3.0.1, the previous version of the standard, is also available in the informative [EPUB3Changes].

  1.2 Terminology

Author

The person(s) or organization responsible for the creation of an EPUB Publication. The Author is not necessarily the creator of the content.

Content Provider

A publisher, author, individual, or other information source that provides EPUB Publications to distribution or sales channels, or directly to one or more Reading Systems .

Core Media Type

A media type [RFC2046] that EPUB Reading Systems have to support. Refer to Publication Resources for more information.

Core Media Type Resource

A Publication Resource that is a Core Media Type so does not require the provision of a fallback (cf. Foreign Resource).

Default Rendition

The Rendition listed in the first rootfile element in the container.xml [OCF31] file.

EPUB Container (or Container)

The ZIP-based packaging and distribution format for EPUB Publications defined in OCF ZIP Container [OCF31].

EPUB Content Document

A Publication Resource that conforms to one of the EPUB Content Document definitions (HTML or SVG).

An EPUB Content Document is a Core Media Type, and may therefore be included in the EPUB Publication without the provision of fallbacks.

EPUB Navigation Document

A specialization of the XHTML Content Document that contains human- and machine-readable global navigation information. The EPUB Navigation Document conforms to the constraints expressed in EPUB Navigation Document [Packages31].

EPUB Package (or Package)

A logical document entity consisting of a set of interrelated resources representing one Rendition of an EPUB Publication, as defined by a Package Document.

EPUB Publication

A collection of one or more Renditions conforming to this specification, packaged in an EPUB Container.

An EPUB Publication typically represents a single intellectual or artistic work, but this specification does not circumscribe the nature of the content.

EPUB Reading System (or Reading System)

A system that processes EPUB Publications for presentation to a User in a manner conformant with this specification.

Fixed-Layout Document

An EPUB Content Document directly referenced from the spine that has been designated pre-paginated in the Package Document, as defined in The rendition:layout Property [Packages31].

The dimensions to use for rendering Fixed-Layout Documents are defined in Fixed Layouts [ContentDocs31].

Foreign Resource

A Publication Resource that is not a Core Media Type. Foreign Resource are subject to the fallback requirements defined in Foreign Resources.

XHTML Content Document

An EPUB Content Document conforming to the profile of [HTML5] defined in XHTML Content Documents [ContentDocs31].

XHTML Content Documents use either the HTML or XHTML syntax defined in [HTML5].

Manifest

A list of all Publication Resources that constitute the given Rendition of a EPUB Publication.

Refer to manifest [Packages31] for more information.

Media Overlay Document

An XML document that associates the XHTML Content Document with pre-recorded audio narration in order to provide a synchronized playback experience, as defined in [MediaOverlays31].

Package Document

A Publication Resource that describes one Rendition of an EPUB Publication, as defined in Package Document [Packages31]. The Package Document carries meta information about the Rendition, provides a manifest of resources and defines the default reading order.

Publication Resource

A resource that contains content or instructions that contribute to the logic and rendering of at least one Rendition of an EPUB Publication. In the absence of this resource, the EPUB Publication might not render as intended by the Author. Examples of Publication Resources include a Rendition's Package Document, EPUB Content Document, CSS Style Sheets, audio, video, images, embedded fonts and scripts.

With the exception of the Package Document itself, the Publication Resources required to render a Rendition are listed in that Rendition's manifest [Packages31] and bundled in the EPUB Container file (unless specified otherwise in Publication Resource Locations).

Examples of resources that are not Publication Resources include those identified by the Package Document link [Packages31] element and those identified in outbound hyperlinks that resolve outside the EPUB Container (e.g., referenced from the href attribute of an [HTML5] a element).

Remote Resource

A resource that is located outside of the EPUB Container, typically but not necessarily online.

Refer to Publication Resource Locations for media type specific rules for resource locations.

Release Identifier

The Release Identifier allows any instance of an EPUB Publication to be compared against another to determine if they are identical, different versions, or unrelated.

Refer to Release Identifier [Packages31] for more information.

Rendition

One rendering of the content of an EPUB Publication, as expressed by an EPUB Package.

Scripted Content Document

An EPUB Content Document that includes scripting or an XHTML Content Document that contains HTML5 forms elements.

Refer to Scripting [ContentDocs31] for more information.

Spine

An ordered list of Publication Resources, typically [Packages31] EPUB Content Documents, representing the default reading order of the given Rendition of an EPUB Publication.

Refer to spine [Packages31] for more information.

SVG Content Document

An EPUB Content Document conforming to the constraints expressed in SVG Content Documents [ContentDocs31].

SVG Viewport

A Viewport capable of displaying SVG images.

Synthetic Spread

The rendering of two adjacent pages simultaneously on a device screen.

Text-to-Speech (TTS)

The rendering of the textual content of an EPUB Publication as artificial human speech using a synthesized voice.

Top-level Content Document

An EPUB Content Document referenced from the spine, whether directly or via a fallback chain [Packages31].

Unique Identifier

The Unique Identifier is the primary identifier for an EPUB Publication, as identified by the unique-identifier [Packages31] attribute. The Unique Identifier can be shared by one or more Renditions of the same EPUB Publication.

Significant revision, abridgement, etc. of the content requires a new Unique Identifier.

User

An individual that consumes an EPUB Publication using an EPUB Reading System.

User Agent

A client or application that consumes generic HTML (e.g., Web browser, screen readers)

Viewport

The region of an EPUB Reading System in which the content of an EPUB Publication is rendered visually to a User.

  1.3 Typographic Conventions

The following typographic conventions are used in this specification:

markup

All markup (elements, attributes, properties), code (JavaScript, pseudo-code), machine-readable values (string, characters, media types) and file names are in red monospace font.

markup

Links to markup and code definitions are in underlined red monospace font.

http://www.idpf.org/

URIs are in navy blue monospace font.

hyperlink

Hyperlinks are underlined and blue.

[reference]

Normative and informative references are enclosed in square brackets.

Term

Terms defined in the Terminology are in capital case.

Term

Links to term definitions have a dotted blue underline.

Normative element, attribute and property definitions are in blue boxes.

Informative markup examples are in light gray boxes.

note

Informative notes are in green boxes with a "Note" header.

caution

Informative cautionary notes are in red boxes with a "Caution" header.

  1.4 Conformance Statements

The keywords MUST, MUST NOT, REQUIRED, SHALL, SHALL NOT, SHOULD, SHOULD NOT, RECOMMENDED, MAY, and OPTIONAL in this document are to be interpreted as described in [RFC2119].

All sections of this specification are normative except where identified by the informative status label "This section is informative". The application of informative status to sections and appendices applies to all child content and subsections they may contain.

All examples in this specification are informative.

  2 Organization

  2.1 Specifications

The EPUB 3.1 standard is modular in nature, with core features and functionality defined across a family of sub-specifications.

This specification represents the top-most specification in the family. It includes the conformance requirements for both EPUB Publications, the product of the standard, and EPUB Reading Systems, the applications that consume EPUB Publications and present their content to Users (see EPUB Publication Conformance and EPUB Reading System Conformance, respectively).

The other specifications that comprise EPUB 3.1 are as follows:

These specifications represent the formal list recognized as belonging to EPUB 3.1, and that contain functionality referenced as part of the standard, but new functionality is also added periodically through the development of extension specifications.

OPEN ISSUE 1

A number of recently completed modules and works in progress are under consideration for consolidation/inclusion in the core standard. The consensus of the working group on the 2015-12-15 conference call was not to consider these modules at this time due to lack of proven implementations. Their inclusion might, however, be reconsidered for a future draft. See issue 635 in the tracker for the list of modules.

Features and functionality defined outside of core revisions to the standard, while not formally recognized in this specification, are nonetheless available for use by Authors and developers once they are recognized as Recommended Specifications.

note

A list of current and recently-completed activities is maintained at http://www.idpf.org/ongoing.

  2.2 Road Map

This section is informative

This section looks at the organization of the EPUB specifications through the central product they define: the EPUB Publication.

The easiest way to think of an EPUB Publication is as a packaged set of Web content that provides Users with a digital reading experience. At the heart of the EPUB Publication is content built on the Open Web Platform. Called EPUB Content Documents, this content comes in two flavours: XHTML and SVG. These documents typically reference many additional resources, such as images, audio and video clips, scripts and style sheets.

Detailed information about the rules and requirements for the production of EPUB Content Documents is provided in [ContentDocs31].

Media Overlay Documents complement EPUB Content Documents providing declarative markup for synchronizing the text in EPUB Content Documents with audio content. The result is the ability to create a read aloud experience where text is highlighted as it is narrated. Media Overlay Documents are defined in [MediaOverlays31].

Moving a layer up from the content, the Package Document is a special file gives order to the EPUB Content Documents. The spine lists the sequence to render documents in as a User progresses through the publication, making the transition from one document to the next seamless. The Package Document also includes all the metadata used by Reading Systems to present the publication to the User (e.g., the title and author for display in a bookshelf, as well rendering metadata such as whether content has a fixed layout or can be reflowed).

The Pacakge Document also contains a complete manifest of resources used in the rendering of the content, which also identifies key resources such as the EPUB Navigation Document. The EPUB Navigation Document provides critical navigation capabilities that allow Users to quickly and easily navigate the content, such as the table of contents.

The Package Document and EPUB Navigation Document are defined in Package Document [Packages31].

The EPUB Publication's resources are typically bundled for distribution as a ZIP-based archive with the file extension .epub. As conformant ZIP archives, EPUB Publications can be unzipped by many software programs, simplifying both their production and consumption.

The container format not only provides a means of determining that the zipped content represents an EPUB Publication (the mimetype file), but also provides a universally-named directory of informative resources (/META-INF). Key among these is the container.xml file, which directs Reading Systems to the Package Document.

The container format is defined in [OCF31].

While conceptually simple, an EPUB Publication is more than just a collection of HTML pages and dependent assets in a ZIP package as presented here. Additional information about the primary features and functionality that EPUB Publications provide to enhance the reading experience is available from the referenced specifications, and a more general introduction to the features of EPUB 3.1 is provided in the informative [EPUB3Overview].

  3 Conformance

  3.1 EPUB Publications

An EPUB Publication must meet all of the following criteria:

Packages

  It must include at least one Rendition of the content that conforms to the requirements for EPUB Packages defined in [Packages31].

Accessibility

  It should conform to the accessibility requirements defined in [EPUBAccessibility].

Publication Resources

  All Publication Resources must adhere to the constraints for Core Media Types and Foreign Resources and be located as per Publication Resource Locations.

Container

  It must be packaged in a EPUB Container as defined in [OCF31].

  3.2 EPUB Reading Systems

An EPUB Reading System must meet all of the following criteria:

EPUB 3.1 Processing

  It must process the EPUB Container as defined in [OCF31].

  It must process EPUB Packages as defined in [Packages31].

  It must not fail catastrophically if it encounters two distinct EPUB Packages with the same Unique Identifier.

  Unless specified as conditional behavior in this section, it must support all Core Media Type Resources.

  It may support an arbitrary set of Foreign Resource types, and must process fallbacks for unsupported Foreign Resources as defined in Foreign Resources if not.

  It must process XHTML Content Document as defined in XHTML Content Documents — Reading System Conformance [ContentDocs31].

  It must process SVG Content Documents as defined in SVG Content Documents — Reading System Conformance [ContentDocs31].

  If it has a Viewport, it must support visual rendering of XHTML Content Documents as defined in CSS Style Sheets—Reading System Conformance [ContentDocs31].

  If it has the capability to render raster images, it must support the raster image Core Media Types.

  If it has the capability to render vector images, it must support the vector image Core Media Types.

  If it has the capability to render pre-recorded audio, it must support the MP3 audio Core Media Type, should support the MP4 audio Core Media Type and should support Media Overlays [MediaOverlays31].

  If it supports Text-to-Speech (TTS) rendering, it should support Pronunciation Lexicons [ContentDocs31], the CSS3 Speech features of the EPUB CSS Profile [ContentDocs31] and SSML attributes [ContentDocs31] in XHTML Content Documents.

note

It is recommended that Reading Systems support at least one of the [H.264] and [VP8] video codecs, but this is not a conformance requirement: a Reading System could support no video codecs at all. Authors and Reading System developers need to take into consideration factors such as breadth of adoption, video playback quality, and technology usage royalty requirements when making a choice to include or implement video in either (or potentially, both) formats.

Accessibility

  It should meet the accessibility requirements for Reading Systems in [EPUBAccessibility].

Backward Compatibility

  It should process EPUB version "2.0" Publications as defined in [OPF2], [OPS2] and [OCF2].

  It should process EPUB version "3.0" Publications as defined in [Publications301], [ContentDocs301] and [OCF301].

  It must attempt to process any given Rendition of an EPUB Publication whose Package Document version attribute designates a version lower than "3.1" or which omits the version attribute.

Forward Compatibility

  It should attempt to process any given Rendition of an EPUB Publication whose Package Document version attribute designates a version higher than "3.1".

XML Processing

  It must be a conformant non-validating processor [XML].

   It must be a conformant processor as defined in [XMLNS].

  It must support xml-stylesheet processing instructions [ASSOCSS], and may support additional processing instructions.

  It must be a conformant application as defined by [XML Base].

note

A conforming Reading System is not necessarily a single dedicated program or device, but may exist as a distributed system.

  4 Publication Resources

  4.1 Core Media Types

  4.1.1 Introduction

Each Rendition of an EPUB Publication typically consists of many Publication Resources. These resources are divided into two categories: those that EPUB Reading Systems are required to support (Core Media Type Resources) and those that they are not (Foreign Resources).

Authors are free to use both types of resources to construct their EPUB Publications, but need to be aware that some Reading Systems might not render the Foreign Resources they use.

As EPUB Publications are designed to be fully consumable on any compliant Reading System, a system of fallbacks is therefore necessary to ensure that the use of Foreign Resources does not impact on the ability of the User to consume the content. This section lays out the set of Core Media Types that are supported across Reading Systems and identifies fallback mechanisms that can be used to satisfy the consumability requirement.

  4.1.2 Supported Media Types

OPEN ISSUE 2

The working group is currently considering adding the Opus audio codec as a core media type. See issue #645 for more information.

The following table lists EPUB 3.1 Core Media Types. Publication Resources that conform to a Core Media Type specification are Core Media Type Resources and can be included in the EPUB Publications without fallbacks. Refer to Foreign Resources for more information.

The columns in the table represent the following information:

Media Type

The MIME media type [RFC2046] used to represent the given Publication Resource in the manifest [Packages31].

Content Type Definition

The specification to which the given Core Media Type Resource must conform.

Applies to

The Publication Resource type(s) that the Media Type and Content Type Definition applies to.

EPUB Core Media Types
Media Type Content Type Definition Applies to
Image Types
image/gif [GIF] GIF Images
image/jpeg [JPEG] JPEG Images
image/png [PNG] PNG Images
image/svg+xml SVG Content Documents [ContentDocs31] SVG documents
Application Types
application/xhtml+xml XHTML Content Documents [ContentDocs31] XHTML Content Documents that use the XHTML syntax [HTML5].
application/font-sfnt [OpenType] [TrueType] OpenType and TrueType fonts. Supersedes application/vnd.ms-opentype.
application/font-woff [WOFF] WOFF fonts
application/smil+xml [MediaOverlays31] EPUB Media Overlay documents
application/pls+xml [PLS] Text-to-Speech (TTS) Pronunciation lexicons
Audio Types
audio/mpeg [MP3] MP3 audio
audio/mp4 [AAC LC], [MP4] AAC LC audio using MP4 container
Video Types
This specification does not currently define any video codecs as Core Media Types. Refer to the note in Reading System Conformance above for informative recommendations on support for video codecs in EPUB Publications.
Text Types
text/html XHTML Content Documents [ContentDocs31] XHTML Content Documents that use the HTML syntax [HTML5].
text/css CSS Style Sheets [ContentDocs31] CSS Style Sheets.
text/javascript [RFC4329] Scripts
Font Types
font/woff2 [WOFF2] WOFF2 fonts

  4.1.3 Foreign Resources

Foreign Resources may be included in a Rendition without a fallback provided they are not referenced from spine itemref elements [Packages31] or directly rendered in their native format in EPUB Content Documents (e.g., via [HTML5] embedded content and [SVG] image and foreignObject elements).

When a Foreign Resource is included in the spine or directly rendered in its native format in an EPUB Content Document, a Core Media Type fallback must be included. Fallbacks take one of the two following forms:

  • intrinsic fallback mechanisms provided by the format (e.g., ability to provide more than one media type or to display an alternate embedded message when a media type cannot be rendered). Refer to the [HTML5] and [SVG] specifications for the intrinsic fallback capabilities their elements provide.

  • manifest fallbacks [Packages31] are a feature of the Package Document that create a fallback chain to a Core Media Type Resources. They are used to create fallbacks for Foreign Resources in the spine [Packages31] and when intrinsic fallback capabilities are not available (e.g., for the [HTML5] img element).

If a Foreign Resource is data for a script, the script should present the data as a Core Media Type (e.g., use it to draw in an [HTML5] canvas element or inject it into the HTML or SVG DOM as native markup). Otherwise, the scripted content must include a Core Media Type fallback (e.g., if writing the data to an [HTML5] embedded content element, include an intrinsic fallback alternative).

  4.2 Resource Locations

All Publication Resources must be located in the EPUB Container, with the following exceptions:

  • Audio resources may be located in the Container or remotely.

  • Video resources may be located in the Container or remotely.

OPEN ISSUE 3

The working group is currently considering whether other resources, such as fonts and data sets, can be hosted outside the container, as well as whether resources within the container can be marked as available for download by users. For more information, refer to the External Resources document.

Authors should prefer locating audio and video resources in the Container to allow the user access to the entire presentation regardless of connectivity status.

note

The above rules for Publication Resource locations apply regardless of whether the given resource is a Core Media Type Resource or a Foreign Resource.

note

The inclusion of remote resources in an EPUB Publication is indicated via the remote-resources property [PackageVocab] on the manifest item [Packages31] element.

  4.3 XML Conformance

Any Publication Resource that is an XML-Based Media Type must meet the following constraints:

The above constraints apply regardless of whether the given Publication Resource is a Core Media Type Resource or a Foreign Resource.

  Appendix A. Unstable Features

Features defined in this specification and its siblings are occasionally removed if they are no longer needed or have been replaced by another feature. Prior to removal, the features are marked as deprecated, superseded or obsolete as an early warning to the EPUB community. The meaning of these labels are defined as follows.

If a feature is marked as deprecated, the following hold true:

If a feature is marked as superseded, the following hold true:

An obsolete feature shares the same characteristics of a superseded feature, but with the following differences:

  Index

This index is informative

OPEN ISSUE 4

The following index is not complete, but is provided as a placeholder for evaluation of its utility navigating the EPUB 3.1 family of specifications for information. The index will be fleshed out in a later draft once the EPUB 3.1 revision stabilizes.

This index identifies where key concepts are defined in EPUB 3.1, including element, attribute and property definitions.

  Acknowledgements and Contributors

This section is informative

EPUB has been developed by the International Digital Publishing Forum in a cooperative effort, bringing together publishers, vendors, software developers, and experts in the relevant standards.

The EPUB 3.1 specifications were prepared by the International Digital Publishing Forum’s EPUB Maintenance Working Group, operating under a charter approved by the membership in July 2015, under the leadership of:

Active members of the working group included:

IDPF Members

Invited Experts/Observers

For more detailed acknowledgements and information about contributors to each version of EPUB, refer to Acknowledgements and Contributors [EPUB3Overview].

  References

Normative References

[ASSOCSS] Associating Style Sheets with XML documents 1.0 (Second Edition) . James Clark, et al. 28 October 2010.

[AltStyleTags] Alternate Style Tags . Elika J. Etemad.

[ContentDocs301] EPUB Content Documents 3.0.1 .

[ContentDocs31] EPUB Content Documents 3.1 .

[EPUB31] EPUB 3.1 .

[EPUBAccessibility] EPUB Accessibility .

[MediaOverlays31] EPUB Media Overlays 3.1 .

[PLS] Pronunciation Lexicon Specification 1.0 (PLS) . Paolo Baggia. 14 October 2008.

[Packages31] EPUB Packages 3.1 .

[Publications301] EPUB Publications 3.0.1 .

[RFC2046] Multipurpose Internet Mail Extensions (MIME) Part Two: Media Types (RFC 2046) . N. Freed, N. Borenstein. November 1996.

[SVG] Scalable Vector Graphics (SVG) 1.1 (Second Edition) . Erik Dahlström, et al. 09 June 2011.

[TrueType] Apple TrueType Reference manual . Apple 2002.

[Unicode] The Unicode Consortium. The Unicode Standard..

[WOFF] WOFF File Format 1.0 . Jonathan Kew, et al.

[WOFF2] WOFF File Format 2.0 . Vladimir Levantovsky, et al.

[XInclude] XML Inclusions (XInclude) Version 1.0 (Second Edition) . J. Marsh, et al. 15 November 2006.

[XML] Extensible Markup Language (XML) 1.0 (Fifth Edition) . T. Bray, et al. 26 November 2008.

[XML Base] XML Base (Second Edition) . Jonathan Marsh, et al. 28 January 2009.

[XMLNS] Namespaces in XML (Third Edition) . T. Bray, D. Hollander, A. Layman, R. Tobin. W3C. 8 December 2009.

Informative References

[EPUB3Changes] EPUB 3.0.1 Differences from EPUB 3.0 . Markus Gylling, et al.

[EPUB3Overview] EPUB 3.1 Overview . Garth Conboy, et al.

[RFC4329] Scripting Media Types . B. Höhrmann. April 2006.

[VP8] VP8 Data Format and Decoding Guide . J. Bankoski, et al.