|Internet media type||
|Magic number||PK 0x03 0x04|
|Developed by||International Digital Publishing Forum (IDPF)|
|Initial release||September 2007|
(January 5, 2017)
|Type of format||e-book file format|
|Contained by||OEBPS Container Format (OCF; Zip)|
|Extended from||Open eBook, XHTML, CSS, DTBook|
|Standard||ISO/IEC TS 30135|
EPUB is an e-book file format with the extension
.epub that can be downloaded and read on devices like smartphones, tablets, computers, or e-readers. It is a technical standard published by the International Digital Publishing Forum (IDPF). The term is short for electronic publication and is sometimes styled ePub. EPUB became an official standard of the IDPF in September 2007, superseding the older Open eBook standard. The Book Industry Study Group endorses EPUB 3 as the format of choice for packaging content and has stated that the global book publishing industry should rally around a single standard. EPUB is the most widely supported vendor-independent XML-based (as opposed to PDF) e-book format; that is, it is supported by the largest number of hardware readers.
|This section needs expansion with: What came before 2.0? How was it founded?. You can help by adding to it. (February 2017)|
EPUB 2.0 was approved in October 2007, with a maintenance update (2.0.1) approved in September 2010. The EPUB 3.0 specification became effective in October 2011, superseded by a minor maintenance update (3.0.1) in June 2014. New major features include support for precise layout or specialized formatting (Fixed Layout Documents), such as for comic books, and MathML support. The current version of EPUB is 3.1, effective January 5, 2017. The (text of) format specification underwent reorganization and clean-up; format supports remotely-hosted resources and new font formats (WOFF 2.0 and SFNT) and uses more pure HTML and CSS.
The format and many readers support the following:
The EPUB specification does not enforce or suggest a particular DRM scheme. This could affect the level of support for various DRM systems on devices and the portability of purchased e-books. Consequently, such DRM incompatibility may segment the EPUB format along the lines of DRM systems, undermining the advantages of a single standard format and confusing the consumer.
It is also widely used on many software readers such as iBooks on iOS and Google Books on Android, but notably not by the Amazon Kindle e-readers. iBooks also supports the proprietary iBook format, which is based on the EPUB format but depends upon code from the iBooks app to function.
An EPUB file is a ZIP archive that contains, in effect, a website—including HTML files, images, CSS style sheets, and other assets. It also contains metadata. EPUB 3 is the latest version. By using HTML5, publications can contain video, audio, and interactivity, just like websites in web browsers.
An ePub publication is delivered as a single file. This file is an unencrypted zipped archive containing a set of interrelated resources.
An OCF Abstract Container defines a file system model for the contents of the container. The file system model uses a single common root directory for all contents in the container. All (non-remote) resources for publications are in the directory tree headed by the container's root directory, though EPUB mandates no specific file system structure for this. The file system model includes a mandatory directory named META-INF that is a direct child of the container's root directory. META-INF stores container.xml.
The first file in the archive must be the mimetype file. It must be uncompressed so that non-ZIP utilities can read the mimetype. The mimetype file must be an ASCII file that contains the string application/epub+zip. It must be unencrypted, and the first file in the ZIP archive. This file provides a more reliable way for applications to identify the mimetype of the file than just the .epub extension.
An example file structure:
--ZIP Container-- mimetype META-INF/ container.xml OEBPS/ content.opf chapter1.xhtml ch1-pic.png css/ style.css myfont.otf toc.ncx
There must be a META-INF directory containing container.xml. This file points to the file defining the contents of the book, the OPF file, though additional alternative rootfile elements are allowed. Apart from mimetype and META-INF/container.xml, the other files (OPF, NCX, XHTML, CSS and images files) are traditionally put in a directory named OEBPS. An example container.xml:
<?xml version="1.0" encoding="UTF-8" ?> <container version="1.0" xmlns="urn:oasis:names:tc:opendocument:xmlns:container"> <rootfiles> <rootfile full-path="OEBPS/content.opf" media-type="application/oebps-package+xml"/> </rootfiles> </container>
The ePUB container must contain:
The ePUB container may contain:
Content documents include: HTML 5 content, navigation documents, SVG documents, scripted content documents, and fixed layout documents. Contents also include CSS and PLS documents. Navigation documents supersedes the NCX grammar used in EPUB 2.
Books with synchronized audio narration are created in EPUB 3 by using media overlay documents to describe the timing for the pre-recorded audio narration and how it relates to the EPUB Content Document markup. The file format for Media Overlays is defined as a subset of SMIL.
Many editors exist including calibre, Sigil, LaTeX, and Genebook. An open source tool, called epubcheck, can be used for validating and detecting errors in the structural markup (OCF, OPF, OPS), image, and XHTML files; the tool can either be run from the command line or used in applications or webapps as a library; it is also available on EPUB Validator. Readers exist for all major hardware platforms with the exception of Amazon Kindle, including Google Play Books (Android and iOS) and Apple iBooks (MacOS and iOS).