Editor's Draft 30 January 2016
The complete EPUB 3.1 specification is also available for download as an EPUB 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.
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.
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].
The person(s) or organization responsible for the creation of an EPUB Publication. The Author is not necessarily the creator of the content.
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 .
A media type [RFC2046] that EPUB Reading Systems have to support. Refer to Publication Resources for more information.
A Publication Resource that is a Core Media Type so does not require the provision of a fallback (cf. Foreign Resource).
The Rendition listed in the first rootfile
element in the container.xml [OCF31]
file.
The ZIP-based packaging and distribution format for EPUB Publications defined in OCF ZIP Container [OCF31].
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.
A specialization of the HTML 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].
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 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.
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 [Packages31].
The dimensions to use for rendering Fixed-Layout Documents are defined in Fixed Layouts [ContentDocs31].
A Publication Resource that is not a Core Media Type. Foreign Resource are subject to the fallback requirements defined in Foreign Resources.
An EPUB Content Document conforming to the profile of [HTML5] defined in HTML Content Documents [ContentDocs31].
HTML Content Documents use either the HTML or XHTML syntax defined in [HTML5].
A list of all Publication Resources that constitute the given Rendition of a EPUB Publication.
Refer to manifest [Packages31] for more information.
An XML document that associates the HTML Content Document with pre-recorded audio narration in order to provide a synchronized playback experience, as defined in [MediaOverlays31].
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.
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).
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.
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.
One rendering of the content of an EPUB Publication, as expressed by an EPUB Package.
An EPUB Content Document that includes scripting or an HTML Content Document that contains HTML5 forms elements.
Refer to Scripting [ContentDocs31] for more information.
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.
An EPUB Content Document conforming to the constraints expressed in SVG Content Documents [ContentDocs31].
A Viewport capable of displaying SVG images.
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 [Packages31].
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.
An individual that consumes an EPUB Publication using an EPUB Reading System.
A client or application that consumes generic HTML (e.g., Web browser, screen readers)
The region of an EPUB Reading System in which the content of an EPUB Publication is rendered visually to a User.
The following typographic conventions are used in this specification:
markup
All markup (elements, attributes, properties), code (JavaScript, pseudo-code), machine processable 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.
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 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.
Features defined in this specification and its siblings are occasionally removed if they become obsolete and/or if they are replaced by newer features. Sometimes such obsolete features will be removed outright during a revision, but more often a phased removal will occur. In these cases, the features will either be marked as deprecated or superseded prior to removal. The meaning of these labels is defined as follows.
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 this specification, but there is no definite timeline for removal.
Authors may include the superseded feature for compatibility with older versions of this specification, but must use the replacement feature for conformance with this specification.
Reading Systems must not support the superseded feature in content that conforms to this 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.
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:
EPUB Packages 3.1 [Packages31], which defines the requirements for each Rendition of the content.
EPUB Content Documents 3.1 [ContentDocs31], which defines profiles of XHTML, SVG and CSS for use in the context of EPUB Publications.
EPUB Media Overlays 3.1 [MediaOverlays31], which defines a format and a processing model for synchronization of text and audio.
EPUB Open Container Format (OCF) 3.1 [OCF31], which defines a file format and processing model for encapsulating a set of related resources into a single-file (ZIP) EPUB Container.
Alternate Style Tags [AltStyleTags], which 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, but new functionality is also added periodically through the development of extension specifications.
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.
A list of current and recently-completed activities is maintained at http://www.idpf.org/ongoing.
This section is informative
This roadmap was previously in the Overview, but was moved to the new top-level specification to give more context. It may be returned to the Overview if it is not seen as helpful.
The roadmap is outdated at this time. It will be updated in a later draft once the outcomes of the revision stabilize.
The centerpiece of the EPUB standard is the EPUB Publication. This section provides a brief introduction to the different aspects that go into creating EPUB Publications. More information is available from the referenced specifications, and a more general introduction to the features of EPUB 3.1 is provided in the informative [EPUB3Overview].
An EPUB Publication, at its most basic level, is a bundled collection of resources that can be reliably and predictably ingested by an EPUB Reading System in order to render its contents to a User. Each EPUB Publication consists of one or renderings of its content, called Renditions.
Some of the resources in the EPUB Container facilitate the discovery and processing of the Renditions, while others make up the content of the source publication. The latter, EPUB Content Documents, are defined in [ContentDocs31].
An 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 is defined in
[OCF31].
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 root files of the available
Renditions of the EPUB Publication (their Package Documents).
The Package Document is itself a kind of centralized information source for a given Rendition, storing metadata about the specific work expressed by the Rendition, providing an exhaustive list of resources and defining a default reading order. The Package Document is defined in Package Document [Packages31].
Media Overlay Documents define a means of synchronizing text and audio playback for a given Rendition. The Overlay Document is defined in [MediaOverlays31].
The following example shows the resources a minimal single-Rendition "Hello World" EPUB Publication might contain:
mimetype META-INF/container.xml Content/HelloWorld.opf Content/HelloWorld.xhtml
While conceptually simple, an EPUB Publication is more than just a collection of HTML pages and dependent assets in a ZIP package as represented in this example. The following sections of this document delve into more detail about the primary features and functionality that EPUB Publications provide to enhance the reading experience.
An EPUB Publication must meet all of the following criteria:
It must include at least one Rendition of the content that conforms to the requirements for EPUB Packages defined in [Packages31].
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 [OCF31].
The working group is currently considering an alternative unpackaged manifestation of an EPUB Publication to standardize and simplify access to the contents by browser-based reading systems. This manifestation will not replace by the Open Container Format, and it is expected that round-tripping between the two will be possible. For more information, refer to the Server/Browser Friendly Manifestations document.
An EPUB Reading System must meet all of the following criteria:
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 HTML Content Document as defined in HTML 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 HTML 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 HTML 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 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.
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.
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 support
xml-stylesheet
processing instructions [ASSOCSS],
and may support additional processing instructions.
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 may 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 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.
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 the EPUB 3.1 Core Media Type. When a Publication Resource conforms to a Core Media Type specification, it is a Core Media Type Resource and can be included in the EPUB Publication without the provision of fallbacks (refer to Foreign Resources for more information).
The columns in the table represent the following information:
The MIME media type [RFC2046] used to represent the given Publication Resource in the manifest [Packages31].
The specification to which the given Core Media Type Resource must conform.
The Publication Resource type(s) that the Media Type and Content Type Definition applies to.
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
|
HTML Content Documents [ContentDocs31] | HTML Content Documents that use the XHTML syntax [HTML5]. |
application/font-sfnt
|
[OpenType] [TrueType] | OpenType and TrueType fonts |
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
|
HTML Content Documents [ContentDocs31] | HTML 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 |
The application/font-sfnt
media type supersedes
application/vnd.ms-opentype
.
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).
In the case of a Foreign Resource that serves as an input to a script, the script should use the data such that it is presented as a Core Media Type (e.g.,
used to draw in an [HTML5]
canvas
element or injected into the HTML or SVG DOM as native markup);
otherwise, the script must include a Core Media Type fallback (e.g., if
writing the data to an [HTML5]
embedded content
element
, include an intrinsic fallback alternative).
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.
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.
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
[PackageVocab] on the manifest
item [Packages31]
element.
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.
This index is informative
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.
content documents
package metadata
Media Overlays Documents [MediaOverlays31]
content documents
interaction
playback
semantic inflection (epub:type)
identification (mimetype)
Dublin Core Metadata
location of [EPUB31] (inside or outside the container)
obfuscation [OCF31] (was font obfuscation)
vocabularies
HTML Content Documents [ContentDocs31]
epub:type attribute (semantic inflection)
RDFa and microdata (semantic enrichment)
SSML
encoding in UTF-8 or UTF-16
external identifiers (forbidden in DOCTYPE)
version
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 [EPUB3Overview].
[AAC LC] ISO/IEC 14496-3:2009 - Information technology -- Coding of audio-visual objects -- Part 3: Audio .
[ASSOCSS] Associating Style Sheets with XML documents 1.0 (Second Edition) . 28 October 2010.
[AltStyleTags] Alternate Style Tags .
[ContentDocs301] EPUB Content Documents 3.0.1 .
[ContentDocs31] EPUB Content Documents 3.1 .
[EPUB31] EPUB 3.1 .
[MediaOverlays31] EPUB Media Overlays 3.1 .
[OCF2] Open Container Format 2.0.1 .
[OCF301] Open Container Format 3.0.1 .
[OCF31] Open Container Format 3.1 .
[OPF2] Open Packaging Format 2.0.1 .
[OPS2] Open Publication Structure 2.0.1 .
[OpenType] ISO/IEC 14496-22:2009 - Information technology -- Coding of audio-visual objects -- Part 22: Open Font Format .
[PLS] Pronunciation Lexicon Specification 1.0 (PLS) . 14 October 2008.
[PNG] Portable Network Graphics (PNG) Specification (Second Edition) . 10 November 2003.
[PackageVocab] EPUB 3.1 Package Metadata Vocabulary .
[Packages31] EPUB Packages 3.1 .
[Publications301] EPUB Publications 3.0.1 .
[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) 1.1 (Second Edition) . 09 June 2011.
[TrueType] Apple TrueType Reference manual . Apple 2002.
[Unicode] The Unicode Consortium. The Unicode Standard..
[WOFF] WOFF File Format 1.0 .
[WOFF2] WOFF File Format 2.0 .
[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.
[EPUB3Changes] EPUB 3.0.1 Differences from EPUB 3.0 .
[EPUB3Overview] EPUB 3.1 Overview .
[RFC4329] Scripting Media Types . April 2006.