Recommended Specification 5 January 2017
The complete EPUB 3.1 specification is also available for download as an EPUB 3.0 and 3.1 Publication.
Copyright © 2010-2017 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.
This section describes the status of this document at the time of its publication. Other documents might 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 might be updated, replaced or obsoleted at any time. Its publication as a draft does not imply endorsement by IDPF membership or the IDPF Board. When citing this document, clearly refer to it 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.
This section is informative
This specification, EPUB 3.1, defines a distribution and interchange format for digital publications and documents. The EPUB® format provides a means of representing, packaging and encoding structured and semantically enhanced Web content — including HTML, CSS, SVG and other resources — for distribution in a single-file container.
EPUB has been widely adopted as the format for digital books (ebooks), and EPUB 3.1 continues to 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 the EPUB 3.1 format 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 are all a part of EPUB 3.1. An index to key concepts and definitions defined across these specifications is provided at the end of this specification.
The informative [EPUB3 Overview] provides a general introduction to EPUB 3.1. A list of technical changes from EPUB 3.0.1, the previous version of the standard, is also available in the informative [EPUB3 Changes].
The following terms are specific to EPUB 3.1. They are capitalized wherever used.
Only the first instance of a term in a section is linked to its definition.
The person(s) or organization responsible for the creation of an EPUB Publication. The Author is not necessarily the creator of the content.
The area within the Viewport dedicated to the display of EPUB Content Documents. The Content Display Area excludes any borders, margins, headers, footers or other decoration a EPUB Reading System might inject into the Viewport.
In the case of synthetic spreads, the Viewport contains two Content Display Areas.
A media type [RFC2046] that EPUB Reading Systems have to support. Refer to Publication Resources for more information.
A Publication Resource that has a Core Media Type so does not require the provision of a fallback (cf. Foreign Resource).
The ZIP-based packaging and distribution format for EPUB Publications defined in OCF ZIP Container [OCF 3.1].
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 Resource, so can be included in the EPUB Publication without the provision of fallbacks.
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 [Packages 3.1].
A logical document entity consisting of a set of interrelated resources representing one Rendition of an EPUB Publication, as defined by a Package Document.
A collection of one or more Renditions that conform 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.
A system that processes EPUB Publications for presentation to a user in a manner conformant with this specification.
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 [Packages 3.1].
The dimensions to use for rendering Fixed-Layout Documents are defined in Fixed Layouts [Content Docs 3.1].
A Publication Resource that is not a Core Media Type Resource. Foreign Resources are subject to the fallback requirements defined in Foreign Resources.
A resource that is located inside the EPUB Container.
Refer to Publication Resource Locations for media type specific rules for resource locations.
A list of all Publication Resources that constitute the given Rendition of a EPUB Publication.
Refer to manifest [Packages 3.1] for more information.
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 [Media Overlays 3.1].
A Publication Resource that describes one Rendition of an EPUB Publication, as defined in Package Document [Packages 3.1]. The Package Document carries meta information about the Rendition, provides a manifest of resources and defines the default reading order.
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 necessary to render a Rendition are listed in that Rendition's manifest [Packages 3.1] 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 [Packages 3.1] element and those identified in
outbound hyperlinks that resolve to Remote Resources (e.g.,
referenced from the href
attribute of an [HTML]
a
element).
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 [Packages 3.1] for more information.
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.
One rendering of the content of an EPUB Publication, as expressed by an EPUB Package.
An EPUB Content Document that includes scripting or an XHTML Content Document that contains [HTML] forms.
Refer to Scripting [Content Docs 3.1] for more information.
An ordered list of Publication Resources, typically EPUB Content Documents [Packages 3.1], representing the default reading order of the given Rendition of an EPUB Publication.
Refer to spine [Packages 3.1] for more information.
An EPUB Content Document that conforms to the constraints expressed in SVG Content Documents [Content Docs 3.1].
The rendering of two adjacent pages simultaneously on a device screen.
The rendering of the textual content of an EPUB Publication as artificial human speech using a synthesized voice.
An EPUB Content Document referenced from the spine, whether directly or via a fallback chain [Packages 3.1].
The Unique Identifier is the primary identifier for an EPUB Publication, as
identified by the unique-identifier
attribute [Packages 3.1]. 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.
The region of an EPUB Reading System in which an EPUB Publication is rendered visually to a user.
An EPUB Content Document that conforms to the profile of [HTML] defined in XHTML Content Documents [Content Docs 3.1].
XHTML Content Documents use the XHTML syntax defined in [HTML].
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 link
Links to markup and code definitions are in underlined red monospace font.
http://www.idpf.org/
URIs are in navy blue monospace font.
Hyperlinks are underlined and blue.
Normative and informative references are enclosed in square brackets.
Terms defined in the Terminology are in capital case.
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.
Informative notes are in green boxes with a "Note" header.
Informative cautionary notes are in red boxes with a "Caution" header.
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 and appendixes 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 appendixes applies to all child content and subsections they contain.
All examples in this specification are informative.
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).
The other specifications that comprise EPUB 3.1 are as follows:
EPUB Packages 3.1 [Packages 3.1] — defines requirements for each Rendition of the content.
EPUB Content Documents 3.1 [Content Docs 3.1] — defines profiles of XHTML, SVG and CSS for use in the context of EPUB Publications.
EPUB Media Overlays 3.1 [Media Overlays 3.1] — defines a format and a processing model for synchronization of text and audio.
EPUB Open Container Format (OCF) 3.1 [OCF 3.1] — defines a file format and processing model for encapsulating a set of related resources into a single-file (ZIP) EPUB Container.
EPUB Accessibility [EPUB Accessibility] — defines accessibility conformance and discovery metadata requirements for EPUB Publications.
Alternate Style Tags [Alt Style Tags] — defines a pattern for tagging alternate style sheets using microformats.
These specifications represent the formal list recognized as belonging to EPUB 3.1, and that contain functionality referenced as part of the standard.
The IDPF has also developed a set of specifications that complement the core functionality of EPUB 3.1, but whose support in Reading Systems and use in authoring is optional:
EPUB Canonical Fragment Identifiers [EPUB-CFI] — defines a standardized method for referencing arbitrary content within an EPUB Publication through the use of fragment identifiers.
EPUB Dictionaries and Glossaries [Dictionaries] — provides a framework for a rich user experience of dictionary publications.
EPUB Indexes [Indexes] — defines a consistent way of encoding the structure and content of indexes in EPUB Publications.
EPUB Multiple Renditions [Multiple Renditions] — defines the creation and rendering of EPUB Publications consisting of more than one Rendition.
EPUB Previews [Previews] — describes how preview content can be included in EPUB Publications.
EPUB Region-Based Navigation [Region Nav] — introduces conventions for region-based navigation through a visual rendition of an EPUB Publication based on regions of interest.
New functionality is also added periodically through the development of extension specifications. 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 Reading System developers (but are not stable until they reach the status of Recommended Specifications).
This section is informative
This section reviews the organization of the EPUB specifications through the central product they define: the EPUB Publication.
An EPUB Publication consists of one or more Renditions of its content, each of which is represented by what is called an EPUB Package. An EPUB Package consists of all the resources needed to render the content. The key file among these is the Package Document, which includes all the metadata used by Reading Systems to present the EPUB 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). It also provides a complete manifest of resources, and includes a spine that lists the sequence to render documents in as a user progresses through the content.
An EPUB Package also include another key file called the EPUB Navigation Document. This document provides critical navigation capabilities, such as the table of contents, that allow users to quickly and easily navigate the content.
The requirements for EPUB Packages are defined in [Packages 3.1].
The EPUB Publication's resources are bundled for distribution in 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 resources is the
container.xml
file, which directs Reading Systems to the available Package
Documents.
The container format is defined in [OCF 3.1].
The structure and containment of an EPUB Publication is only one half of the format, the other half being the content that gets presented to users. This content is built on the Open Web Platform and comes in two flavours: XHTML and SVG. Called EPUB Content Documents, these documents typically reference many additional resources required for their proper rendering, 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 [Content Docs 3.1], and accessibility requirements are defined in [EPUB Accessibility].
Media Overlay Documents complement EPUB Content Documents. They provide declarative markup for synchronizing the text in EPUB Content Documents with prerecorded audio. 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 [Media Overlays 3.1].
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 [EPUB3 Overview].
An EPUB Publication must meet all of the following criteria:
It must include one or more EPUB Packages, each of which must conform to the requirements defined in [Packages 3.1].
It should conform to the accessibility requirements defined in [EPUB Accessibility].
All Publication Resources must adhere to the constraints for Core Media Types and Foreign Resources and be located as per Publication Resource Locations.
It must be packaged in a EPUB Container as defined in [OCF 3.1].
An EPUB Reading System must meet all of the following criteria:
It must process the EPUB Container as defined in [OCF 3.1].
It must process EPUB Packages as defined in [Packages 3.1].
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 [Content Docs 3.1].
It must process SVG Content Documents as defined in SVG Content Documents — Reading System Conformance [Content Docs 3.1].
If it has a Viewport, it must support visual rendering of XHTML Content Documents as defined in CSS Style Sheets — Reading System Conformance [Content Docs 3.1].
If it has a Viewport, it must support the image Core Media Types [Core Media Types].
If it has the capability to render pre-recorded audio, it must support the audio Core Media Types [Core Media Types] and should support Media Overlays [Media Overlays 3.1].
If it supports Text-to-Speech (TTS) rendering, it should support Pronunciation Lexicons [Content Docs 3.1], [CSS3 Speech] and SSML attributes [Content Docs 3.1] in XHTML Content Documents.
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 might support other video codecs, or none 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 format, or both.
It should meet the accessibility requirements for Reading Systems in [EPUB Accessibility].
It must attempt to process
an EPUB Publication whose version is lower than "3.1
".
EPUB Publications with older version numbers will not always render exactly as intended unless processed according to their respective specifications. Reading Systems should support such EPUB Publications as defined by those specifications.
It should attempt to
process any given Rendition of an EPUB Publication whose Package Document
version
attribute designates a version higher than "3.1
".
It must be a conformant non-validating processor [XML].
It must be a conformant processor as defined in [XMLNS].
It must be a conformant application as defined by [XML Base].
A conforming Reading System is not necessarily a single dedicated program or device, but might exist as a distributed system.
Each Rendition of an EPUB Publication typically consists of many Publication Resources. These resources are divided into two categories: those that EPUB Reading Systems have to support (Core Media Type Resources) and those that they do 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.
Publication Resources that conform to a Core Media Type specification are Core Media Type Resources and can be included in an EPUB Publication without fallbacks.
Refer to [Core Media Types] for the current list of Core Media Types.
Foreign Resources may be
included in an EPUB Publication without a fallback provided they are not referenced from spine itemref
elements [Packages 3.1] or directly rendered in their native format in EPUB Content Documents (e.g., via
[HTML]
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 [HTML] and [SVG] specifications for the intrinsic fallback capabilities their elements provide.
manifest fallbacks [Packages 3.1] 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 [Packages 3.1] and when intrinsic
fallback capabilities are not available (e.g., for the [HTML]
img
element).
All Publication Resources must be located in the EPUB Container, with the following exceptions:
Audio resources [Core Media Types] may be located outside the EPUB Container.
Resources retrieved by scripts may be located outside the EPUB Container, but the [HTML] and [SVG]
script
elements must not reference Remote Resources to ensure availability at runtime (i.e.,
from their src
or href
attributes, respectively).
Font resources may be located outside the EPUB Container.
The following example shows a reference to an audio file in an XHTML Content Document that is located inside the EPUB Container.
<audio src="audio/ch01.mp4" controls="controls"/>
The following example shows a reference to an audio file in an XHTML Content Document that is located outside the EPUB Container.
<audio src="http://www.example.com/book/audio/ch01.mp4" controls="controls"/>
Authors are encouraged to locate audio, video and script resources inside the EPUB Container whenever feasible to allow users access to the entire presentation regardless of connectivity status.
The above rules for Publication Resource locations apply regardless of whether the given resource is a Core Media Type Resource or a Foreign Resource.
The inclusion of Remote Resources in an EPUB Publication is indicated via the remote-resources property
[Manifest Vocab] on the manifest
item
element [Packages 3.1].
Any Publication Resource that is an XML-Based Media Type must meet the following constraints:
It must be a conformant XML 1.0 Document as defined in Conformance of Documents [XMLNS].
External identifiers must not appear in the document type declaration [XML].
It must not make use of XInclude [XInclude].
It must be encoded in UTF-8 or UTF-16 [Unicode].
The above constraints apply regardless of whether the given Publication Resource is a Core Media Type Resource or a Foreign Resource.
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 or superseded as an early warning to the EPUB community. A deprecated feature is one that is in the process of being removed from the current version of the specification, while a superseded feature is one that is being retained only for authoring content compatible with an older version.
If a feature is marked as deprecated, the following hold true:
The feature will be removed in a future version of the specification. The feature is marked as deprecated in order to give Authors and EPUB Reading System developers time to prepare for removal.
It is strongly recommended that Authors discontinue use of the feature in their EPUB Publications.
Reading Systems must continue to support the feature as it is defined until it is formally removed.
Validation tools must alert Authors that inclusion of the feature is deprecated when encountered in an EPUB Publication. It is recommended that the alert be lower in severity than an error or warning.
If a feature is marked as superseded, the following hold true:
The superseded feature may be removed in a future version of the specification, but there is no definite timeline for removal.
Authors may include the superseded feature for compatibility with older versions of the specification.
Reading Systems must not support the superseded feature in content that conforms to the current version of the specification.
Validation tools must not alert Authors about the presence of the superseded feature in an EPUB Publication, as it is valid for backwards compatibility. Validation tools must alert Authors if the superseded feature is not conformant to its definition or otherwise breaks a usage requirement.
A feature that is superseded and marked for removal differs from a superseded feature in the following ways:
The feature will be removed in a future version of the specification.
Validation tools must alert Authors about the presence of superseded features that are marked for removal. It is recommended that the alert be given the same severity as deprecated features.
This index is informative
This index identifies where key concepts are defined in EPUB 3.1, including element, attribute and property definitions.
Media Overlays Documents [Media Overlays 3.1]
OCF abstract container [OCF 3.1]
media type identification (mimetype)
obfuscation (was font obfuscation)
Package Document [Packages 3.1]
fixed layout properties — see also fixed layouts
contexts (container-constrained and spine-level)
XHTML Content Documents [Content Docs 3.1]
discouraged constructs (rp
and
embed
)
RDFa and microdata (semantic enrichment)
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:
For more detailed acknowledgements and information about contributors to each version of EPUB, refer to Acknowledgements and Contributors [EPUB3 Overview].
[Alt Style Tags] Alternate Style Tags .
[CSS3 Speech] CSS3 Speech Module .
[Content Docs 3.1] EPUB Content Documents 3.1 .
[Core Media Types] EPUB 3 Core Media Types.
[Dictionaries] EPUB Dictionaries and Glossaries .
[EPUB 3.1] EPUB 3.1 .
[EPUB Accessibility] EPUB Accessibility .
[HTML] HTML .
[Indexes] EPUB Indexes .
[Manifest Vocab] EPUB Manifest Properties Vocabulary .
[Media Overlays 3.1] EPUB Media Overlays 3.1 .
[Multiple Renditions] EPUB Multiple Renditions .
[OCF 3.1] Open Container Format 3.1 .
[Packages 3.1] EPUB Packages 3.1 .
[Previews] EPUB Previews .
[RFC2046] Multipurpose Internet Mail Extensions (MIME) Part Two: Media Types (RFC 2046) . November 1996.
[RFC2119] Key words for use in RFCs to Indicate Requirement Levels (RFC 2119) . March 1997.
[SVG] Scalable Vector Graphics (SVG) .
[Unicode] The Unicode Consortium. The Unicode Standard..
[XInclude] XML Inclusions (XInclude) Version 1.0 (Second Edition) . 15 November 2006.
[XML] Extensible Markup Language (XML) 1.0 (Fifth Edition) . 26 November 2008.
[XML Base] XML Base (Second Edition) . 28 January 2009.
[XMLNS] Namespaces in XML (Third Edition) . 8 December 2009.
[EPUB3 Changes] EPUB 3.1 Differences from EPUB 3.0.1 .
[EPUB3 Overview] EPUB 3.1 Overview .
[H.264] H.264 : Advanced video coding for generic audiovisual services . 2016-02-13.
[VP8] VP8 Data Format and Decoding Guide (RFC 6386) . November 2011.