Amazon Kindle Publishing Guidelines
Amazon Kindle Publishing Guidelines
Amazon Kindle Publishing Guidelines
Publishing Guidelines
How to make books available for Kindle
devices and applications
version 2019.2
This document describes the primary ways publishers, authors, and conversion houses can
make their content available for Amazon Kindle devices and applications. This document
includes guidelines and suggestions to ensure a smooth conversion and publication process.
Revision History
Revision Revision Notes
Number
Table of Contents
PART I. GETTING STARTED ................................................................................................... 8
1 Introduction ..................................................................................................................................................... 8
8 Accessibility Guidelines.............................................................................................................................. 23
9 QA Standards ................................................................................................................................................ 23
Testing Kindle Books .....................................................................................................................................24
For self-publishers or authors who would like to take advantage of Amazon’s self-service tools to
create Kindle books and sell them on Amazon, see section 2.1, Amazon’s Kindle Direct
Publishing Platform.
For publishers with many titles to convert and the expertise to create Kindle books in-house using
Kindle Publisher Tools software, see section 2.2, Creating Kindle Books In-House Using Kindle
Publisher Tools.
For publishers who do not wish to convert titles in-house or do not have the technical expertise to
do so, outsourcing to a conversion house is described in section 2.3, Third-Party Conversion
Services.
If you have a text-heavy book, your .doc(x) file is converted into a "reflowable" eBook. Reflowable
eBooks allow the reader to resize text and are available on all Kindle devices and free Kindle
reading applications. Reflowable books can be consumed using a screen reader or refreshable
braille display when supported by the device or reading application.
If you have a comic book or graphic novel, your PDF is converted into a comic eBook. Comic
eBooks include Guided View, which animates panel-to-panel movement with each swipe to give a
clear indication of how the story progresses across each page. Comic eBooks do not currently
provide support for reading with a screen reader.
If you have a book with lots of images and complex formatting, your PDF is converted into a Print
Replica eBook. Print Replica eBooks maintain the look of their print editions and offer many of the
advantages of standard Kindle eBooks, but they do not allow the reader to resize text and are
only available on certain devices. They are also not accessible to readers using screen readers or
refreshable braille displays.
Kindle Create works with .doc and .docx files exported from any source, including Microsoft Word, Apple
Pages, Google Docs, and other applications. It also supports importing PDF files for creating interactive
textbooks with embedded audio and video.
Kindle Create supports eBooks in Dutch, English, French, German, Gujarati, Hindi, Italian, Malayalam,
Marathi, Portuguese, Spanish, and Tamil. Kindle Create is available for PC (Windows 7 or later) and Mac
OS (10.9 or later). Download the most recent version of Kindle Create.
2.2.1 KindleGen
KindleGen is a command line tool that can be used for validating your files for publishing errors.
KindleGen accepts source content in HTML, XHTML, or EPUB-compliant files. (IDPF’s EPUB spec is
available at http://idpf.org/EPUB/30/spec/EPUB30-overview.html). The most recent version of KindleGen
can be downloaded for free from www.amazon.com/kindleformat/kindlegen. The instructions for installing
KindleGen can be found in the KindleGen ReadMe file in the downloaded file folder.
Amazon strongly recommends fixing all KindleGen warnings and errors to ensure successful publishing of
the book to the Kindle store, and to ensure that there is no impact to the readability of the book on Kindle
devices and applications.
Kindle Previewer 3 supports previewing your book with the latest typographic and layout improvements
that come with Enhanced Typesetting, and provides a better reflection of how your book is delivered to
customers’ devices. You can get a bird’s-eye view of your book to quickly validate the overall layout, and
selectively preview key aspects such as images, tables, drop caps, links, and lists.
Kindle Previewer is available for the Windows and Mac OS X platforms. Download the most recent
version of Kindle Previewer.
Kindle Comic Creator accepts single or multi-page source files in .pdf, .jpg/.jpeg, .tif/.tiff, .ppm, or .png
formats, so authors are free to create artwork using their preferred design tools. More detailed guidance
for graphic novels/manga/comics can be found in section 12.
Kindle Comic Creator is available for the Windows and Mac OS X platforms. The most recent version can
be downloaded for free from www.amazon.com/kc2.
Kindle Kids’ Book Creator accepts source files in .jpg/.jpeg, .tif/.tiff, .png, and .ppm formats, so authors
are free to create artwork using their preferred design tools. More detailed guidance for children’s books
can be found in section 11.
Kindle Kids’ Book is available for the Windows and Mac OS X platforms. Download the most recent
version for free.
Conversion houses can be of service in helping publishers supply eBook retailers with metadata.
3 Comparing Formats
To determine how to convert a print book for the best Kindle experience, key elements in the source are
identified and evaluated against the different conversion formats. Some formats are specifically designed
for certain types of books (e.g., panel view for comics), but more complex books must be analyzed to
determine the best fit for the title. Only one format can be used for each Kindle book.
If the marketing cover image size is smaller than the 2560 x 1600 recommendation, a reminder message
is displayed at time of upload. Covers with less than 500 pixels on the shortest side are not displayed on
the website.
If your cover image is smaller than the recommended size, Amazon strongly recommends that you create
a new image that meets the size requirements. Do not stretch the image to meet the size requirements,
because this may lower the image quality.
Note: This cover image guidance doesn’t apply to KDP eBooks. If using KDP, follow the KDP guidelines
for cover images.
Do not add an HTML cover page to the content in addition to the cover image. This may result in the
cover appearing twice in the book or cause the book to fail conversion.
Define covers in the OPF file using either of the following methods (underlined elements are mandatory):
Method 1 (preferred):
<manifest>
...
...
</manifest>
Method 2:
<metadata>
...
...
</metadata>
...
<manifest>
...
...
</manifest>
This syntax is not part of the IDPF standard. However, it was designed with help from the IDPF and will
validate in an IDPF validator.
Note: This cover image guidance doesn’t apply to KDP eBooks. If you’re using KDP, follow the KDP
guidelines for cover images.
5 Navigation Guidelines
Amazon strongly recommends the use of an HTML table of contents (TOC) for all books that would
benefit from this navigation feature. This applies to most books, but is optional for most fixed-layout
children's books (see section 11) and fixed-layout graphic novels/manga/comics (see section 12).
Amazon requires that all Kindle books include a logical TOC. The logical TOC is very important for a good
reading experience, because it allows a reader to navigate between chapters easily. Users expect to see
an HTML TOC when paging through a book from the beginning, while the logical TOC is an additional
way for users to navigate books. The inclusion of a logical TOC is especially important for books that are
longer than 20 pages.
The entries in the TOC must be HTML links so that users can click to go to a specific location. A
table of contents that is not made of links is not useful on Kindle.
Do not create a TOC using HTML <table> tags. Tables are for tabular data only, not for layout.
Do not use page numbers in the TOC. Kindle books do not always map directly to page numbers
in physical editions of the book.
If you are importing the document from Word, use the “Heading” styles and the "Table of
Contents" feature of Microsoft Word. The TOC created by Word will be imported correctly and will
convert to a TOC that follows these guidelines.
For bundled editions containing more than one individual book, include an overarching TOC at
the beginning of the file.
If your TOC includes a List of Maps or Illustrations, provide an HTML link to each map or
illustration.
<div>Section 1</div>
<div style="margin-left:2%;">Chapter 1</div>
<div style="margin-left:2%;">Chapter 2</div>
<div style="margin-left:2%;">Chapter 3</div>
<div style="margin-left:4%;">Subchapter 1</div>
<div style="margin-left:4%;">Subchapter 2</div>
<div style="margin-left:2%;">Chapter 4</div>
<div style="margin-left:4%;">Subchapter 1</div>
<div>Section 2</div>
...
<style>
div.chapter { margin-left: 1em}
div.subchapter { margin-left: 2em}
</style>
<div>Section 1</div>
<div class="chapter">Chapter 1</div>
<div class="chapter">Chapter 2</div>
<div class="chapter">Chapter 3</div>
<div class="subchapter">Subchapter 1</div>
<div class="subchapter">Subchapter 2</div>
<div class="chapter">Chapter 4</div>
<div class="subchapter">Subchapter 1</div>
<div>Section 2</div>
...
NCX Guidelines
Logical TOCs are generated using toc nav elements or a navigational control file for XML application
(NCX). Creating a logical TOC exposes the hierarchical structure of a Kindle book and allows the user to
navigate through it using the Kindle menu. The inclusion of a logical TOC is especially important for
books that are longer than 20 pages.
In logical TOC-enabled books, users can see where they are in the book because the part, chapter, or
section is exposed. This progress indicator also shows relative progress through the book.
For guidance on creating a logical TOC using a toc nav element, see section 5.2.1.
For guidance on creating a logical TOC using NCX, see section 5.2.2.
Creating a toc nav element provides both a logical TOC and an HTML TOC. The toc nav element
should be a separate HTML document from the HTML TOC.
Example:
<nav epub:type="toc">
<ol>
<ol>
</ol>
</li>
</ol>
</nav>
AUTHOR'S NOTE
PART ONE
THE HOUSES, 1969
ROCK AND ROLL, 1962
THE EMPRESS, 1928–1947
This excerpt from the OPF (publication header file) shows how to declare the toc nav element in the
<manifest>:
Example:
<manifest>
Example:
<spine>
<itemref idref="toc"/>
NCX Example:
<navMap>
<navLabel><text>AUTHOR'S NOTE</text></navLabel>
</navPoint>
<navLabel><text>PART ONE</text></navLabel>
</navPoint>
</navPoint>
</navPoint>
</navPoint>
</navMap>
AUTHOR'S NOTE
PART ONE
THE HOUSES, 1969
ROCK AND ROLL, 1962
THE EMPRESS, 1928–1947
Amazon requires that the NCX elements follow the same order as the book. (For example, the link for
Chapter 2 should not precede the link for Chapter 1.) This excerpt from the OPF (publication header file)
shows how to add an NCX table of contents to a book.
<manifest>
href="toc.ncx"/>
<spine toc="toc">
Guide Items
Guide items are an optional feature in the EPUB format but are highly recommended. Kindle provides
support for the cover, TOC, and start reading location (”Go to Beginning”) guide items. You can define
guide items for the cover and TOC as described in section 5.3.1. The start reading location is defined by
Amazon. If you choose not to include guide items for the cover and TOC, these list items will still appear
in the Kindle menus, but will be grayed out and not selectable.
The landmarks nav elements are part of the IDPF 3.0 specification and are described at:
http://idpf.org/epub/30/spec/epub30-contentdocs-20111011.html#sec-xhtml-nav-def-model and
http://idpf.org/epub/30/spec/epub30-contentdocs-20111011.html#sec-xhtml-nav-def-types-landmarks.
Here is an example of a guide item for a TOC (underlined elements are mandatory):
Here is an example of a landmarks nav element for a TOC (underlined elements are mandatory):
<nav epub:type="landmarks">
</nav>
When creating source HTML or XHTML for the Kindle, refer to one of the following resources as a primer
on constructing well-formed HTML documents:
International Digital Publishing Forum (IDPF) EPUB Standards: http://idpf.org/epub
World Wide Web Consortium (W3C) Standards: https://www.w3.org/standards/
World Wide Web Consortium (W3C) HTML and CSS Guidelines:
https://www.w3.org/standards/webdesign/htmlcss
To ensure your HTML or XHTML documents are well formatted for accessibility, we recommend they
adhere to the following document accessibility standards:
The W3C Web Content Accessibility Guidelines
The International Digital Publishing Forum’s EPUB 3 Accessibility Standards
Do not use negative values for the line-height attribute. They aren’t supported.
To indicate a file in a directory, use “/” characters and not “\” characters. (Example:
“multimedia/ThisFile.mp4” is valid, but “multimedia\ThisFile.mp4” is not.)
Amazon recommends specifying the encoding of the HTML by using the <meta> tag in the <head>
section or an XML declaration.
Method 1:
<html>
<head>
Method 2:
XML entities are strictly required for "<" (<), ">" (>), and "&" (&).
The only supported spaces are the normal space, the non-breaking space ( ), and the zero-width
non-joiner (‌). Use of any other space can break the selection, dictionary lookup, and line-wrap
algorithms.
experience rather than fixating on duplicating the print experience on a device. Using fixed-layout format
just to replicate print layout is not allowed in Kindle books because customers report this as a bad user
experience.
7 Hyperlink Guidelines
Internal Link Guidelines
Internal links can be used to link separate content within the book. Some examples of this include:
Links from the book-level table of contents to each individual chapter (see sections 5.1 and 5.1.1)
Links from a chapter-level table of contents to subchapters or chapter sections
Links to an appendix or glossary
Footnotes (see section 10.3.11)
Amazon requires formatting footnotes with bi-directional hyperlinks (the text is linked to the footnote and
the footnote is linked back to the text). This makes it easier for customers to return to the text after
viewing the footnote. On some devices, the footnote is displayed in a pop-up window.
To avoid unintended footnote pop-ups, internal links that are not footnotes should not be formatted with
bi-directional hyperlinks (A links to B and B links to A). Non-footnote links should use the format A links to
B and B links to C instead. For example, links from a chapter-level table of contents to a chapter section
should link back to the chapter heading.
Internal hyperlinks are not currently supported on E-reader devices in fixed-layout books.
Links to web forms that request customer information (e.g., email address, physical address or
similar)
Links to illegal, harmful, infringing, or offensive content
Links that are malicious in intent (e.g., virus, phishing, or similar)
External hyperlinks are not currently supported on E-reader devices in fixed-layout books. Amazon
reserves the right to remove links in its sole discretion.
Deactivate external hyperlinks that are broken due to forces outside of your control and add text such as
“(URL inactive)” after the link text..
8 Accessibility Guidelines
To ensure that your book is accessible to all readers, including those who are blind, have moderate to
severe vision impairments, or have reading disabilities such as dyslexia, Amazon recommends the
following best practices:
1. Define the primary language of the book and any language changes within the content.
2. Create well-structured content (see section 6.1) using HTML, EPUB, or .doc(x) formats (Note:
.doc(x) is for KDP only):
a. Use hierarchical headings to organize chapters, sections, and subsections.
b. Use ordered and unordered lists to group items and provide structure.
c. Include captions, row headings, and column headings for all tables (see section10.5).
Avoid using an image of a table.
3. Ensure all meaningful images have text alternatives or are described by the surrounding text.
Set the alt attribute of decorative images to null and avoid using images of text.
4. Add self-describing titles to all links and avoid the use of repetitive links on the same page.
5. Ensure text has sufficient contrast with the background colors (see section 10.3.2). Avoid using
thin, light-colored fonts.
6. Consider the reading order of content elements in fixed-format books.
7. Use MathML markup to present mathematical content or other equations (see section 10.6).
9 QA Standards
Amazon strongly recommends that you verify your exported content before converting it into a Kindle
book because some content creation tools format content differently when exporting to HTML.
o Font size: Change the font size; the book font should change accordingly. Regular text
should not be bold or italicized.
o Typeface: Change the typeface; the book font should change accordingly. If you have
designed your book to use only a specific font file, make sure that you have followed the
guidelines in section 10.3.8 Using Embedded Fonts. Not following these guidelines could
lead to the Kindle settings reverting to the customer's preferred reading font.
4. Go back to the first page and flip through every page of the book.
o Images: Images should not be too small. Make sure that all text in images is legible.
Large pictures should be scaled to fit the page and display in their entirety on one screen.
o Tables: Tables should appear correctly. Make sure that all text in tables is legible.
o Material only included with physical book: There should not be any references to
material (such as a CD or DVD) that is only included with the physical book.
o Background settings (reflowable eBooks only): Confirm that your text is legible in all
background color modes (white, black, mint, and sepia).
o Magnification (fixed-layout only): Activate pop-ups/panel view and check that all text
content and/or panels have corresponding magnification, no content is overflowing the
edge of the screen, and magnified reading order is correct.
5. To ensure a high-quality experience for all readers, Amazon recommends testing the accessibility
of your book. Tools for checking content accessibility will vary based on your book format.
o Word – Use the built-in Accessibility Checker within Microsoft Word
o PDF – Use the built-in Accessibility Checker within Adobe Acrobat Pro
o EPUB – Use the ACE Accessibility Checker from the DAISY Consortium
o HTML – Convert your HTML file to Word and review content accessibility with the
Microsoft Accessibility Checker.
Amazon recommends resolving all accessibility errors before uploading your manuscript to
Kindle.
The reflowable format supports Enhanced Typesetting, as well as a number of features that allow readers
to interact with and customize the way the text appears on their devices. These features include
dictionary, X-Ray (when available), text-to-speech (when available), Word Wise (when available), Kindle
Real Page Numbers (when available), and the ability to change text and formatting settings.
Metadata Guidelines
eBooks are reflowable by default. Reflowable eBooks don’t need to specify meta name="book-type"
in the OPF file, but <dc:language> and <dc:title> are required.
If the page propagation direction is not left-to-right, page propagation direction should be provided either
in the metadata or the spine. (Example: <meta name="primary-writing-mode"
content="horizontal-rl"/>)
Layout Guidelines
Create the content using single column layout. Do not use the CSS position: property for alignments.
Text Guidelines
10.3.1 Specify Heading Alignment and Justification
Because text in reflowable eBooks is fully justified by default (i.e., text-align: justify;), Amazon
strongly recommends specifying the appropriate CSS alignment for all headings to prevent excessive
spaces between words (i.e., text-align: left; text-align: right; text-align:
center;).
reason for this is that any styling on body text in the HTML will override the user’s preferred default
reading settings. Users report such behavior as a poor reading experience. Here are the most important
points:
The body text font should be set in the CSS using the font-family attribute. Body text must
use the default font size (1em) and line height. Body text should not use the <font size="…">
tag or the font-size and line-height attributes in CSS.
Body text should not be primarily bold or italicized. Selected parts of the text can be bold or
italicized for emphasis. This guideline only prohibits a book from being entirely bold, for example.
Body text should not have an imposed font color throughout the book. If you prefer to use
imposed font color in some sections of your book, do not use too light or too dark a color. Light
colors will not display with enough contrast on devices set to white backgrounds or on E-reader
devices. Dark colors will not display well on devices set to black backgrounds. See the W3C
recommendation for maintaining a readable contrast ratio between text and background colors.
For grays, use colors within the hex value range of #666 to #999.
o To determine if a color falls within this range, convert your color to RGB values using a
tool such as http://www.w3schools.com/colors/colors_converter.asp. Plug the resulting
three numbers into the following formula: 𝑌 = (0.2126 ∗ 𝑅) + (0.7152 ∗ 𝐺) + (0.0722 ∗ 𝐵).
If the value of Y falls within a range of 102 and 153, this color will create a good customer
experience across Kindle devices and applications.
In a book with Enhanced Typesetting enabled, Kindle readers can be sure that any text of any color
that appears above any background color will be legible. Font colors will adapt automatically to
provide sufficient contrast with either the device color theme chosen by the reader or to the
background color of any element. In the below example, the same colors (“yellow”, “black”, and
“orange”) were applied to both the font and their background container; notice how the font color
changes to provide readable contrast with the background. To learn more about Enhanced
Typesetting, see section 15.
Body text must not have a black or white background color. Customers report this as a bad user
experience because it can create an awkward, boxy reading experience when the device
background is set to a different color and because the text can become invisible when a user
changes the background color setting on their device and the font color automatically inverts.
Body text should not have a forced font face. Make sure that you have followed guidelines in
section 10.3.8 Using Embedded Fonts. Not following these guidelines could lead to customers
not having the ability to change their preferred reading font.
Body text must not use non-breaking spaces in place of normal spaces in between words in
paragraphs.
Body text must not have an imposed left/right margin or padding throughout the book. If there are
paragraphs that do require left/right margin to differentiate them visually from body text, such as a
recipe list or a block quote, margins applied to these sections should be specified as percentages
rather than ems or point values.
The following font fixes will be applied in during the upload process:
o The font size used in the majority of the content will be normalized to 1em.
o The font-family used in the majority of the content will be moved to the root tag (body
text).
o Forced font colors used in body text will be removed so the user may change the color of
the text.
10.3.3 Formatting Paragraphs
For body text, either indents or extra line spacing must be used to distinguish paragraphs for customers.
Amazon recommends using the text-indent attribute in the CSS to set indent values of no more than
4 ems for body paragraphs.
To change the space before or after each paragraph, use the margin-top or margin-bottom styles
respectively in the CSS. We recommend using em values for these attributes.
Never use the height property to control the size of elements containing text or instances of overlapping
text may occur in your book. The height property should only ever be applied to images in reflowable
books.
Example:
p.para {
font-size: 1em;
margin-bottom: 0;
margin-top: 0;
text-align: justify;
text-indent: 0;
}
@media amzn-kf8
{
span.dropcaps
{
font-weight:normal;
font-size:320%;
float:left;
margin-top:-0.3225em;
margin-bottom:-0.3245em;
}
}
@media amzn-mobi
{
span.dropcaps
{
font-size:3em;
font-weight: bold;
}
}
<p class="para"><span class="dropcaps">T</span>his is a sample
To verify that the drop caps display as intended, test the book as described in section 9.1, Testing Kindle
Books. The following is an example of a drop cap formatted using this method in a book with Enhanced
Typesetting enabled (to learn more about Enhanced Typesetting, see section 15):
It is the responsibility of the publisher to secure the appropriate license rights for fonts. Unless embedded
fonts are necessary to convey intent, Amazon recommends using the default set of fonts installed on
Kindle devices and applications because they have been tuned for high quality rendering.
When choosing a font, consider usability for readers with moderate vision impairments. Choose a simple,
clear font which will contrast well against all tablet and E-reader backgrounds.
Accessibility tip: Thin fonts are harder to read and can impact the perceived contrast of the text with the
background. Amazon recommends avoiding thin fonts for the body text of your manuscript.
Kindle also supports a monospaced font. Content in the following tags will be rendered in monospaced
font: <pre>, <code>, <samp>, <kbd>, <tt>, <font face="courier">, <font
face="monospace">.
With the exception of <pre>, the tags listed above do not change the text alignment. If the content in
these tags should be right-aligned, wrap the tags listed above in a <div> styled with CSS using text-
align:right.
<html> <html>
<body> <body style="font-family:PrimaryFont">
</body>
</html>
The same behavior can be achieved by using CSS classes as shown below.
body{ body {
font-size: asize; font-family: PrimaryFont;
} font-size: asize;
}
.indent {
font-size: asize;
.indent {
font-family: PrimaryFont;
font-size: asize;
}
}
.sidebar-text {
font-family: SecondaryFont; .sidebar-text {
font-weight: bold; font-family: SecondaryFont;
} weight: bold;
}
When coding fonts, make sure that HTML tags are closed correctly to avoid an override conflict. When
there is an override conflict, the font files within the book will be intentionally removed to provide Kindle
customers with the best possible reading experience when they select the font settings.
For example:
<html> <html>
text-indent:0; text-indent:0;
text-align:center; text-align:center;
font-family:'PrimaryFont'; font-family:’PrimaryFont’;
} }
h3.title { h3.title {
font-family:'SecondaryFont'; text-indent:0;
font-size:2em; text-align:center;
font-weight:bold; font-size:2em;
} font-weight:bold;
font-family:’SecondaryFont’;
Publishers should map the Real Page Numbers in the eBook to the print edition (hardcover, paperback,
etc.) that most closely matches the eBook and provide that ISBN in metadata as described in
Additional notes:
Only use Roman or Arabic numerals for adding page numbers. (Example: i, ii, iii, etc. and/or 1, 2,
3, 4, etc.)
Do not add additional text such as “Page” in the name attribute of the pages tags (Example:
“Page 1”, “Page 2”). Kindle adds the word “Page” in front of the page number attribute by default.
Make sure there are no duplicate HTML locations referenced as different pages.
Make sure there are no duplicate page labels referenced as different HTML locations.
Make sure there are no empty page labels (even for blank pages).
Make sure there are no anchors without proper targets.
Make sure that all paths to the HTML pages are relative.
Regardless of whether the aside element is used, Amazon requires formatting footnotes with bi-
directional hyperlinks (the text is linked to the footnote and the footnote is linked back to the text). This
makes it easier for customers to return to the text after viewing the footnote. On some Kindle devices,
such as Kindle Paperwhite, footnotes with bi-directional hyperlinks are displayed in a pop-up.
For a better reading experience, Amazon strongly recommends placing the footnote text at the end of the
chapter or book.
Method 1 (preferred):
<p>This footnote example uses the aside element with the epub:type attribute and bi-directional
hyperlinks.<sup><a id="source" href="#ft-1-1" epub:type="noteref">1</a></sup></p>
...
<p><a epub:type="noteref" href="#source">1.</a> This is the footnote text, which should be placed at
the end of the chapter or book.</p>
</aside>
Method 2:
...
<p id="fn1"><a href="chapter01.html#r1">2.</a> This is the footnote text, which should be placed at the
end of the chapter or book.</p>
If your book includes footnotes or endnotes without numbers or symbols, Amazon recommends creating
a single link from the note to the relevant text in the book.
Example:
...
<p><a href="chapter01.html#fn1">event that happened</a> This is the endnote text, which provides a
reference for the details of the event.</p>
Image Guidelines
These guidelines apply to reflowable fiction and non-fiction books, but are not applicable to image-
intensive fixed-layout children's books (see section 11) and fixed-layout graphic novels/manga/comics
(see section 12). For cover image guidelines, see section 4.
KF8 supports GIF, BMP, JPEG, PNG, and Scalable Vector Graphics (SVG) images.
Enhanced Typesetting supports GIF, JPEG, and PNG. Enhanced Typesetting does not support
SVG images, but SVG rasterization is partially supported.
When using images for schemas, charts, tables, maps, or anything that includes text, pay special
attention to the legibility of the final image.
Add images to the source using the standard HTML <img> tag. If the image is meaningful to the content,
use the alt attribute to provide text that conveys that meaning to customers who use assistive
technology. The alt text should be less than 140 characters and should describe the image and its
meaning. If the image is decorative and not meaningful to the content, or if the surrounding text on the
page provides enough context for the image, set the alt attribute to null with alt ="" so that it can be
ignored by assistive technology.
Important: Use RGB as the color profile when saving your files. Kindle does not support sRGB or CMYK.
Images must meet the minimum quality standard of 300 ppi for the intended display size. The minimum
standard for a full-page image in a book after allowing for margins, running heads, page numbers, and
captions is an image size of 4" x 6". At 300 ppi, this image must be a minimum of 1200 x 1800 pixels. The
following terms will define specific use cases and provide examples of how to meet this standard.
Important/Not Important Images: Images are considered important if they are meaningful to the
content. Examples of important images include images with captions, maps, tables, equations,
line art, illustrations, and photographs. All important images must meet the minimum 300 ppi
standard.
Images are considered not important if they are only for decorative purposes or do not add value
to the content. Examples of non-important images include the back covers, fleurons, logos, and
social media icons.
Cover Images: Cover images should always have a full page layout and be at least 1200 pixels
in width or 1800 pixels in height.
Block Images: Amazon recommends using high resolution images and the largest layout
available. Amazon measures 300 ppi on a 4" x 6" canonical device (translating to 1200 pixels x
1800 pixels). To calculate the largest possible layout for an image, divide either the pixel width or
height of the image by the 4" x 6" screen, i.e., 1200 (width) x 1800 (height). Providing the % width
or % height of an image in the image tag is required to calculate how much of the screen the
image should occupy. Refer to the following chart for the minimum pixel requirements to meet
Amazon’s 300 ppi requirement.
Image Layout Width or Height Minimum Pixel Width Minimum Pixel Height
Required Required
Note: Amazon does not recommend laying out important images at less than 40%.
Width or height can be provided directly in the image tag (see bold text).
Example:
Width or height can be provided in the parent div tag (see bold text).
Example:
<div style="width:50%">
</div>
The maximum file size of an EPUB is 650 MB. KindleGen performs automatic image conversions to
optimize the content for Kindle.
See section 10.4.5 regarding exceptions for images that are only available in low-resolution such as
historical photographs.
Inline images should be sized in em units so that they scale in relation to the text around them when
users adjust the font size of their reading system.
Even in marketplaces where only E-reader devices are currently available, use color images when
possible for future compatibility.
Photographs of less than 300 x 400 pixels will be scaled based on the device resolution and may become
blurry as a result. To display a smaller image provide a larger image and use CSS to shrink to the desired
size.
Amazon recommends that images display clearly at 2X magnification across devices. This means that if
an image is intended to display at full width on device, its width should be captured at 3200 px (this is
twice the width of our highest resolution device, the Kindle Fire HDX 8.9”). Smaller images can be resized
accordingly.
If the photographs are in GIF format or are too small, converting them to JPEG or artificially increasing the
size does not improve the quality. Go back to the original source to create a JPEG image with sufficient
resolution.
Some images, such as historical photographs, may not be available at 300 ppi or greater. In these
situations, provide the best image quality possible. Amazon strongly recommends images meet a
minimum of 300 ppi. Any images below 72 ppi will cause the book to fail conversion.
Line-art should be in GIF or PNG format. The JPEG algorithm tries to blend parts of the image together,
and blurs the sharp edges of the line-art, causing the image (and any text it contains) to be blurry.
Optimize line-art GIFs before submitting them to KindleGen. Resizing or JPEG compression introduces
blurriness or unwanted artifacts in line-art images, which is why Amazon insists on GIF or PNG file
formats for line-art.
To optimize GIFs and PNGs and make them fit the image size limit, try the following tips:
Try reducing the number of colors used. This can often be done without altering the quality of the
image. Line-art images that appear to be black and white might actually be in color because of
certain anti-aliasing algorithms. Here is an example (notice the shades of red and blue around the
“A” in the left picture):
Remove white margins around the image, if any exist. When cropping, consider how the image
will look on devices set to white, sepia, mint, and black backgrounds.
Resize the image, if necessary, but pay close attention to the legibility of text. (see section 10.4.7,
Image and Font Size Requirements for Line-Art and Text).
10.4.7 Image and Font Size Requirements for Line-Art and Text
An image containing text should not be significantly larger than a Kindle screen. The Kindle E-reader
devices offer the possibility to rotate an image to use more screen real estate. The Fire tablets and the
Kindle for iPhone application allow zooming and panning.
The MINIMUM size of text is 6 pixels for the height of a lowercase “a.” The image itself will need
to be larger than 6 pixels in height if there is any extra space above or below the “a.” For an
image that contains only a single line of text, such as the example below, the image should be at
least 45 pixels in height so that it displays proportional to surrounding text content.
Accessibility tip: Text within images cannot be read using a screen reader or refreshable braille display.
If the image contains nothing but text, Amazon recommends using HTML instead of an image to render
the text. This applies to simple and text-heavy images. (See section 10.4.8, Prefer HTML to Images.)
Note: The image would be shrunk to fit the screen and become unreadable, while an HTML version
would be paginated.
Example:
Mandatory:
viewBox is mandatory and it must have four values (min x, min y, width, height). All four values
must be integers and the first two values must be 0.
Provide width and height in percentages (preferred) or integers.
Provide meaningful alternative text with the <alt=> attribute on SVG images where
appropriate (see section 10.4.1 for details).
Supported:
Open the HTML page with an SVG image in a browser. If it is not visible in the browser, then that
SVG image is not supported in Enhanced Typesetting.
eBooks with more than 25 SVG images are not supported in Enhanced Typesetting.
Table Guidelines
10.5.1 Avoid Large Tables
Amazon recommends using HTML <table> layouts for tabular content and not rendering tables as
images.
A table rendered as an image can’t be paginated because the entire image is displayed on one screen.
Tables displayed as images cannot be read by customers using assistive technology. If the table is
rendered using HTML <table> tags, pagination is available and the content of the table can be made
available to screen readers and refreshable braille displays. Readers will also be able to navigate through
the cells in the table. If the table is significantly wider than the screen and forces panning, it creates a
poor user experience.
For the best user experience, tables should not contain whole paragraphs of text or large pictures in a
cell.
If a table is too large or contains too much text in its cells, consider reformatting it in a way that optimizes
for readability. Single columns of HTML text provide the best reading experience for customers using a
variety of font sizes. Amazon recommends keeping tables below 100 rows and 10 columns for devices of
all sizes.
If the table must be rendered as an image, refer to section 10.4 Image Guidelines and section 10.5.3 Split
Tables as Needed.
Colspan and rowspan attributes should be less than or equal to the total number of columns or rows (as
appropriate) in the table.
Avoid negative margins in the table content for better readability. Enhanced Typesetting does not support
negative margins.
To ensure content in tables can be efficiently consumed by customers using assistive technology, include
column and row headings and table captions. Screen reader support for table navigation isn’t currently
available on all devices or reading applications. We recommend creating accessible HTML tables for
future compatibility.
Example: Split the image in half horizontally 60% of the way down the image, then split the header, copy
it to the bottom half of the image, and stitch these into a new image. The final two images should then be
the same size, with table headers.
Revise the source image, not the converted GIF; otherwise, the image will be converted into GIF format
twice, which might result in lower quality.
Customers can interact with a table that may have spanned multiple pages in a single view inside
the Enhanced Typesetting viewer with panning, zooming, text highlights, and text lookup
available.
Best practices for utilizing Enhanced Typesetting with tables:
Use a table structure of <thead>, <tbody>, <tfoot>.
Example:
<thead>
<tr>
</tr>
</thead>
<tbody>
<tr>
<td><b>amet</b> amerit</td>
<td><b>amat</b> amerat</td>
</tr>
...
</tbody>
<tfoot>
<tr>
<td><b>sedi</b> sed</td>
<td><b>seda</b> sad</td>
</tr>
</tfoot>
</table>
Enhanced Typesetting will utilize the space on the page to avoid wrapping text and display a clear
readable table.
MathML Support
Enhanced Typesetting supports MathML.
Supported Tags:
maligngroup mrow
malignmark ms
math mspace
menclose msqrt
mfenced mstyle
mfrac msub
mi msubsup
mlabeledtr msup
mmultiscripts mtable
mn mtd
mo mtext
mover mtr
mpadded munder
mphantom munderover
mroot
Unsupported Tags:
annotation
maction
mglyph
mlongdiv
msgroup
mstack
semantics
Troubleshooting:
Open the HTML page with MathJax. If MathML is displayed without any issues, then it will be supported
in Enhanced Typesetting.
Fixed-layout books do not support reflowable text and should only be used when the entire book is well-
suited to a fixed-layout format; books cannot be partially reflowable or partially fixed-layout. For details on
creating this type of eBook with Kindle Kid’s Book Creator, see section 2.2.4.
Important: Nested anchor tags are not supported in fixed-layout books. Fixed-layout books with nested
anchor tags will be suppressed.
Metadata Guidelines
The OPF file specifies metadata necessary for fixed-layout books. While similar, the various types of
fixed-layout formats have key differences. Unless explicitly stated, guidance for fixed-layout books with
text pop-ups should not be applied to any other format, such as fixed layout books with image pop-ups or
Virtual Panels.
Metadata Description
Layout can be specified using one of the following Required. Identifies the book as having a fixed
metadata fields: layout.
Metadata Description
Text Guidelines
11.3.1 Minimum Text Size
Capital letters in pop-ups must be at least 4mm high for children’s content, or 2mm high for other content,
when viewed on a 7" device. If the base text outside of pop-ups meets this rule, pop-ups may not be
necessary. See section 11.4.2, Requirement #2: Using Region Magnification (Pop-Ups), for details on
using pop-ups.
Example:
@font-face {
Accessibility Tip: Thin fonts are harder to read and can impact the perceived contrast of the text with the
background. Amazon recommends avoiding thin fonts for the body text of your manuscript.
Content Requirements
11.4.1 Requirement #1: Using HTML File Structure
Fixed-layout content must have a single HTML file for each page represented on a Kindle device. This
can be accomplished by using one image in the HTML file or by using the HTML file to stitch two images
together to be viewed as one page when orientation-lock is set to landscape.
Example:
Example:
The user activates Region Magnification by double tapping an “active area” on touch screen devices. (On
non-touch screen devices, clicking the up arrow on the 5-way controller selects the region and clicking the
center button activates Kindle Text Pop-Up or Kindle Panel View.) During Region Magnification, the
active area (source element) is hidden and the magnification area (target element) is displayed. When an
eBook is set up to support Region Magnification, KindleGen automatically detects the Region
Magnification code and sets the Region Magnification metadata value in the OPF file to "true".
1. Set the active area by creating a well-defined HTML anchor (<a>)element around the text to be
enlarged. The anchor must specify the app-amzn-magnify class. The anchor should also have
the following attributes stored in a JSON object (http://www.w3schools.com/json/json_syntax.asp)
as part of the data-app-amzn-magnify value:
a. "targetId":"<string:elementId>" = unique element id of the magnification area
(position and font size are set in CSS file)
b. "sourceId":"<string:elementId>" = unique element id of the source that will be
magnified
c. "ordinal":<integer:reading order> = reading order of the magnification areas (the
order in which panels appear as part of the reading flow). This is required for all text that uses
Region Magnification.
2. When magnification is activated, the source text is no longer displayed. Create a target <div>
element that is aligned to completely cover the text being magnified and positioned to minimize
covering the background art of the page. This ensures that when a user activates Region
Magnification, the source text will not disappear from the page view. It is also important to not
position a pop-up directly abutting the right or bottom edges of the screen. Differences between
device types can create content overflow error if pop-ups are too close to these edges. Check
content on as many different kinds of devices as possible before publishing.
3. The font size of text in the Region Magnification <div> should be set to 150% of the regular font
size on the page. There are several exceptions to this:
One exception is when the text on the page is so large that magnifying it to 150% would
make it harder to read instead of improving readability. Region Magnification is not necessary
for text with a height of at least 4mm in children’s content or a height of at least 2mm in non-
children’s content on a 7" device.
Another exception is when the text on the page needs to be increased by more than 150% to
improve readability in the Region Magnification <div>. For example, if the font size of the
text on the page is 45%, the font size of the text in the Region Magnification <div> may need
to be magnified to 225% to be readable.
Example:
For the best user experience, Amazon strongly encourages publishers to design fixed-layout content to
maximize the available space of the screen dimensions. If the content has a different aspect ratio or size,
the Kindle devices and applications display it scaled to fit the screen, centered, and surrounded by a
white margin (letterbox).
Fixed-layout and other image-heavy content is more likely to be magnified because customers prefer to
read with Kindle Panel View or on devices with large screens. The best practice is to use the highest
resolution images possible. Amazon recommends submitting images scaled to support at least 2X
magnification with high quality. For example, if planning for the 2013 Kindle Fire HD 8.9", the image pixel
dimensions should be at least 3840 x 2400 (this matches the aspect ratio and would support 2X zoom).
Always use Kindle Previewer to validate the quality of the content.
11.5.4 Using Large Region Magnification Tap Targets in Fixed-Layout Books with Text Pop-Ups
The primary purpose of Region Magnification is to aid accessibility and is more effective when the tap
target is larger than the area being magnified. To enable a larger area, consider adding a padding of 20 to
40 pixels to the app-amzn-magnify anchor elements, but do not let the tap targets overlap.
In the example below, the landscape spread is 1024 x 600 pixels, which is full-screen resolution for the
Kindle Fire (1st generation). The images for each page should have dimensions exactly half the width of
the full screen: 512 x 600 pixels. The unique parts of each element are labeled using CSS IDs; the
common parts use CSS classes. The left image displays on the left side of the spread. The right image is
shifted to the right side of the page by defining a margin-left style set to the width of the left side
image.
The end result is two pages stitched together to make a single image to be viewed in landscape mode.
This differs from a synthetic spread, where one page is visible in portrait mode and two side-by-side
pages are visible in landscape mode, which is unique to the comic book-type. Guidance on synthetic
spreads can be found in section 12.4.1.
HTML:
<div class="fs">
<div id="fs9-img" class="lPage"></div>
<div id="fs10-img" class="rPage"></div>
</div>
CSS:
#fs9-img {
background-image: url("../images/005a.jpg");
background-size:100% 100%;
#fs10-img {
background-image: url("../images/005b.jpg");
background-size:100% 100%;
div.fs {
height: 600px;
position: relative;
div.lPage {
position: absolute;
background-repeat: no-repeat;
height: 600px;
div.rPage {
position: absolute;
background-repeat: no-repeat;
height: 600px;
margin-left: 512px; /* this value equals the value of the left side image width */
The example in section 11.4.2, Requirement #2: Using Region Magnification (Pop-Ups), expands on the
two-page image example and illustrates how to place text on top of a background image: text is
positioned within a fixed spread block, uses percentages for the margin attribute, and is aligned and
spaced via CSS. Text pop-ups should be positioned so that they cover the corresponding text in the
background.
Never use non-breaking space ( ) characters for text alignment. Instead, use CSS top, right,
bottom and left to position <div> elements that contain absolutely positioned text. Use two adjacent
sides to position each <div> element. For example, top and left but never top, left, and bottom. CSS
text-indent and line-height are useful in aligning text within HTML block elements.
Graphic novels include a large amount of detail in images that displays on a 1920 x 1200 screen. To
overcome this and other accessibility concerns, Amazon encourages the use of customized content and
our Kindle Panel View feature, which optimizes the content for a high-resolution reading experience. For
more details on Kindle Comic Creator, see section 2.2.3.
This format supports Enhanced Typesetting, provided that there is no hybrid text in the eBook (see
section 11.6).
Important: Nested anchor tags are not supported in fixed-layout books. Fixed-layout books with nested
anchor tags will be suppressed.
Metadata Guidelines
The OPF file specifies metadata necessary for fixed-layout books. For a demonstration, see the graphic
novel example at www.amazon.com/kindleformat (under the KindleGen Examples heading in the
sidebar).
While similar, the various types of fixed-layout formats have key differences. Unless explicitly stated,
guidance for fixed layout books with image pop-ups or Virtual Panels should not be applied to any other
format, such as fixed-layout books with text pop-ups.
Metadata Description
Layout can be specified using one of the following Required. Identifies the book as having a fixed
metadata fields: layout.
Metadata Description
<meta name="book-type" Required for all graphic novels; optional for other
content="comic"/> fixed-layout books. Removes reader functionality
(e.g., share) which may not be relevant for certain
books such as children’s. Valid values are
children or comic.
Image Guidelines
When optimized for the 2013 Kindle Fire HD 8.9”, graphic novels should maintain a 1920 x 1200 aspect
ratio. The image resolution will differ depending on the zoom factor required for Kindle Panel View.
However, Amazon recommends planning for a high quality reading experience at 2X magnification.
Images must be in the JPEG format. Amazon recommends using an image resolution of at least 300 ppi.
100% Avoid using this zoom factor. It offers no magnification and poses an 1920 x 1200
accessibility challenge for users. pixels
125% Only use this zoom factor when it is absolutely necessary to enlarge a very 2400 x 1500
large panel. This allows the user to see a large action scene, but with the pixels
downside of limited enlargement.
150% This is the default and preferred zoom factor. Use this zoom factor 2880 x 1800
whenever possible. pixels
200% Use this zoom factor for small text. 3840 x 2400
pixels
250% Only use this zoom factor when two physical pages are stitched together in 4800 x 3000
the HTML file and displayed at once and content appears especially small pixels
as a result. The downside is that the enlarged panel only represents a small
portion of the original page.
Image quality for graphic novels requires that images follow the resolution standards listed in this section
and maintain a consistent aspect ratio. Most importantly, optimize images for clarity of background art as
well as readability of text. These two factors guarantee the highest quality for the graphic novel format.
The user activates Panel View by double tapping a “tap target”. The active area (source element) is
hidden and the Panel View (target element) is displayed.
Snapshot of fixed layout content Snapshot of the same content with Panel View
activated
Example:
<div>
</div>
<div id="page_002-1">
</div>
<div class="target-mag-lb">
</div>
</div>
</div>
By default, every page is divided into four panels based on the primary-writing-mode value. The
examples below indicate the order of the panels.
Example:
Portrait mode:
Horizontal-lr Horizontal-rl
Vertical-rl Vertical-lr
Landscape mode:
12.4.1 Requirement #1: Using a Synthetic Spread When Orientation-Lock Equals None
If orientation is not locked, content should be designed for both portrait and landscape mode. Some
devices show a synthetic spread with two pages side-by-side in landscape mode. Every page intended to
be used in a synthetic spread is expected to have a defined paired page in landscape orientation. In
portrait orientation, the pairs are ignored.
Pages to be used in synthetic spreads should be tagged with the properties page-spread-left or
page-spread-right. Every left page should have a right page associated and vice-versa. Single
pages can be centered on the device in landscape mode by using the property page-spread-center.
In portrait mode, the two pages will be rendered separately as shown below:
If none of the properties are specified or if a page is tagged page-spread-left without a matching
page-spread-right (or vice-versa), Kindle assumes page-spread-center and centers pages with
no page-spread property when the device is in landscape mode.
Example:
<spine>
</spine>
Example:
<spine>
</spine>
In cases where a left page does not have an equivalent right page (or vice-versa), the publisher may
insert a blank HTML page and add the property layout-blank to the page, unless it is the last page.
Optionally, the blank page can include the book title and watermark by design.
Pages with the layout-blank property are only rendered in landscape mode and are ignored in portrait
mode.
In some cases, the publisher may wish to insert a blank page that always renders in both portrait and
landscape modes. In this instance, do not use the layout-blank property. Use the same synthetic
spread rules as noted above and reference an image file that contains a “blank” JPEG.
Example:
<spine>
</spine>
Position view panels so that they cover the corresponding image in the background. They should be
positioned over base panels and aligned to margins where possible.
When preserving context across multiple panels, it is acceptable to overlap slightly with other view
panels.
To use the default 150% default zoom factor, an action scene often needs to be divided into two view
panels (typically a left and right or top and bottom). This is a better user experience than using a smaller
zoom factor, because it preserves accessibility and gives the user a higher resolution reading experience.
Split the tap targets so that the first tap target is between 50 and 75% of the width of the entire area, and
the second tap target is the remaining amount necessary to reach 100%. This ensures that when a user
double taps an area near the middle of the action panel, they experience the first view panel first, and
then the second view panel when they move forward.
To preserve the flow of the action, view panels should display a small amount of overlapped action.
First view panel of an action scene divided into Second view panel of an action scene divided into
two view panels two view panels
Text Guidelines
For fixed layout with image pop-ups: Images should be at least 300 ppi and text should be crisp and
legible, with no pixilation or blur, and capital letters must be at least 2mm high in pop-ups, when viewed
on a 7" device. As a best practice, this usually means 150% magnification or greater.
For fixed-layout with virtual panels: Images should be at least 300 ppi and text should be crisp and
legible, with no pixilation or blur when magnified to 2mm high, when viewed on a 7’’ device.
To display large amounts of text, Amazon suggests a hybrid text treatment that mixes the experiences of
the graphic novels and children’s books. Amazon recommends limiting the use of the hybrid text
treatment to sections of text that are too wide to be magnified effectively. The hybrid text treatment should
mimic the formatting of the text it represents in line-height, italic and/or boldface, and general
appearance. This provides a better user experience.
To future-proof your content, Amazon recommends using pixels for text size and positioning text blocks.
Specifying font size or text position in percentages can result in fractions of pixels which may be
interpreted differently across devices.
Enhanced Typesetting does not support graphic novels with hybrid text.
<div class="target-mag-lb"></div>
<span id="amzn-ke-id-rtbar-Title_page-2-magTarget-2"></span>
div.target-mag div.text{
height: 100%;
padding: 5px;
background-color: #000000;
font-size: 150%;
font-family: "Arial";
Guided View
12.7.1 About Guided View
Guided View is a series of enhancements to the comic eBook reading experience that are now available
for some Kindle comics. These enhancements allow readers to view a comic on a panel by panel basis
suitable for mobile devices in a way that mimics the natural motion of the user's eye through the comic.
Guided View animates panel to panel movement with each swipe to give a clear indication of how the
story progresses across each page. Guided View features include:
A guided panel by panel reading experience using the panel order set by the publisher
Panels magnified to full-screen size and centered
Custom masking colors around each panel when magnified
The Guided View reading experience has been developed by Comixology. A visual introduction to the
Guided View experience can be viewed here:
https://support.comixology.com/customer/portal/articles/768035-what-is-comixology-s-guided-
view%E2%84%A2-technology-
Guided View is automatically applied to compatible Kindle Comics and uses the existing Panel View code
to properly position panels in Guided View. Amazon is continuously working to make Guided View
compatible with more titles and will automatically enable Guided View enhancements for your Kindle
comic when possible.
The HTML and CSS of this format follows the specifications of section 11, Creating Fixed-Layout Books
with Text Pop-Ups, including the CSS reset and embedded fonts. Fonts must be embedded, as is the
standard for all fixed-layout books.
Metadata Guidelines
The OPF file specifies metadata necessary for fixed-layout books. Unlike other fixed-layout books, this
format does not include meta name="book-type" or meta name="RegionMagnification".
Metadata Description
Layout can be specified using one of the following Required. Identifies the book as having a fixed
metadata fields: layout.
Text Guidelines
In this format, each page contains a background image that is larger than the screen size, so that the
page renders a high-quality, readable image. The text can then be created with either of the two following
methods and both methods can be used in the same book. With either method, capital letters in body text
must be at least 4mm high for children’s content, or 2mm high for other content, when viewed on a 7’’
device.
In this method, the background image is stripped of text and the majority of text in the book is rendered as
live HTML text. The text can be repositioned as needed for a good eBook experience. This method also
allows search and dictionary functionality.
HTML:
</div>
</div>
CSS:
.ptxt{
font-family: "billy";
font-size: 450%;
line-height: 95%;
position: absolute;
top: 0%;
left: 2.35%; }
For text that is part of an image, or is irregularly sized, angled, or curved, you can capture that text as part
of the background and use invisible overlay text (using the opacity:0 property in the CSS file) to
enable selection, dictionary lookup, and search. The invisible overlay text should be positioned directly
over the corresponding text in the base image, and should be sized so that the highlight area of the
invisible text corresponds to the text in the base image.
HTML:
</div>
Due to the angled text, every word must be positioned individually so that the invisible HTML text overlays
the correct word.
CSS:
.overlay{
position: absolute;
font-family: "billy";
opacity: 0;
color: red;
font-size: 500%;
line-height: 107%;
text-align: center;
KF8 features are not currently supported in Kindle Edition with Audio/Video content (see sections 14.5
and 14.6 for details). The file delivered to Amazon should be a Mobi 7 EPUB with self-contained audio
and video or a Mobi 7 .prc file with self-contained audio and video. Publishers should use the latest
version of KindleGen to create a .prc file. KindleGen is available at www.amazon.com/kindleformat.
Amazon's Kindle Direct Publishing Platform (KDP) does not currently accept Kindle Edition with
Audio/Video content. This format does not currently support Enhanced Typesetting.
Amazon does not currently accept any audio or video books with embedded audio that acts as read-along
content, which is defined as someone reading the full text or multiple pages of text from the book in either
audio or video format.
When testing Kindle Edition with Audio/Video content, the audio and video cannot be previewed on Kindle
Previewer or on Kindle devices and applications. To add audio and/or video content to your Kindle book,
follow the guidelines and examples below.
Audio Requirements
Amazon recommends using stereo channels in the MP3 source where possible, because Kindle supports
playing back audio in stereo. Use as high a bit rate as you need to hear the audio content appropriately;
this is a judgment call. For good results, consider bit rates between 128 kbps and 256 kbps (kilobits per
second). The maximum supported by Kindle is 320 kbps at variable bit rate.
Video Requirements
Since audio content can be part of the video content, Amazon recommends using stereo channels in your
audio source where possible. Kindle supports playing back audio in stereo.
Attribute Setting
Interlacing Progressive
Will not work: any other video codec (such as Windows Media, Apple ProRes), AC3 audio, audio >2
channels
File Requirements
14.3.1 Multimedia Directory
When adding audio and video files to an eBook, create an “audiovideo” directory for storing these files.
When referring to the audio or video file, include the directory name (Example: “audiovideo/filename”) in
the HTML.
Limit the number of individual audio and video files within each title to 1,000 or fewer.
Navigation Guidelines
14.4.1 Including an Audio and Video TOC
All Kindle Edition with Audio/Video content must have a TOC that begins with "List of Audio and Video."
This line should be bold. On the next line, begin an indented list of hyperlinks to each audio and video file.
The text of the link should include the file description, with the file duration in parentheses.
Use these guidelines for all audio and video files longer than 10 seconds that a user might want to see
listed. For general navigation and TOC guidance, see section 5.
Here is an example of how the code below would display in the TOC:
<br/><br/><br/>"There is video content at this location that is not currently supported for your device. The caption
for this content is displayed below."<br/><br/><br/>
</video>
<br/><br/><br/>”There is audio content at this location that is not currently supported for your device. The caption
for this content is displayed below.” <br/><br/><br/>
</audio>
Text Guidelines
KF8 features are not currently supported in Kindle Edition with Audio/Video content. This includes, but is
not limited to:
Borders
Drop caps
Drop shadow
Embedded fonts
Floating elements
Nested tables and merged cells
Image Guidelines
KF8 features are not currently supported in Kindle Edition with Audio/Video content. This includes, but is
not limited to:
Background images
Floating images
Scalable Vector Graphics (SVG)
To embed an audio file inside a Kindle book, add a standard HTML 5 tag such as the following:
Example:
<br/><br/><br/>"There is audio content at this location that is not currently supported for your device. The caption
for this content is displayed below."<br/><br/><br/>
</audio>
src tag: (Required) Identifies the embedded audio file, which must be in MP3 format.
title tag: (Optional) Identifies the description of the audio.
controls tag: (Required, unless you provide an image for use in starting the video playback)
Tells the Kindle application to display controls for the embedded audio.
text content: (Required) Devices that do not support audio content display the text between the
<audio> and </audio> tags. If users view this eBook on a device that does not support audio,
they see this text instead. (Example: “There is content at this location that is not currently
supported for your device. The caption for this content is displayed below.”)
id tag: (Optional) Must be unique to the document if it is used.
To embed a video inside a Kindle book, add a standard HTML 5 tag such as the following:
Example:
<br/><br/><br/>"There is video content at this location that is not currently supported for your device. The caption
for this content is displayed below."<br/><br/><br/>
</video>
Example:
<br/><br/><br/>"There is video content at this location that is not currently supported for your device. The caption
for this content is displayed below."<br/><br/><br/>
</video>
</p>
Captions should not be generic. They should describe the media content they are referencing.
These media captions are not a good user experience:
1. Media 1
2. Track 1
3. Audio 1
4. Video 1
These media captions describe the content:
1. Introduction by the Author
2. The Making of the Movie
Media captions cannot include file extensions (.mp3, .mp4, etc.).
To add play controls to the image, superimpose the Amazon PLAY icon onto the lower right-hand side of
any image via Adobe Photoshop or similar program. Then add the following tag to the HTML (in this
example, the audio file has an id attribute of "audio1" and no controls tag):
Example:
The sample file should include at least one of each type of media available in the full file, including both
audio and video, if applicable.
The sample file must have a “Buy It Now” link added to the end, or where appropriate.
15 Creating Dictionaries
A dictionary is a Kindle eBook (.mobi file) with extra tags added to support search and lookup
functionality. Dictionary eBooks:
Contain a primary index: a list of words or sentences that are sorted in alphabetical order.
Readers can search quickly in this list by typing the beginning of the word and selecting the
desired entry.
Are marked as dictionaries. The input and output languages of the dictionary must be defined
properly so that Kindle devices can use the dictionary for in-book lookup.
For example, an English (monolingual) dictionary lists English as both the input and output language. A
French-English dictionary lists French as the input language and English as the output language. To build
a bidirectional bilingual dictionary (example: Spanish-French and French-Spanish), you must create two
separate eBooks: one for Spanish-French and one for French-Spanish.
A Kindle dictionary should have all the same components as a normal Kindle eBook. There should be an
OPF file and HTML files with CSS. Every dictionary should have:
A cover image
A copyright page
Any relevant front or back matter (explanations of symbols, appendices, etc.)
Definitions of words (this is the bulk of the file)
This format does not currently support Enhanced Typesetting.
Metadata Guidelines
The OPF file of a dictionary is similar to that of other Kindle books, except that it contains specialized
metadata tags in the <x-metadata> section. These extra tags in the OPF file set the source language
and the target language for the dictionary. If the dictionary has multiple indices, the OPF file also specifies
the name of the primary lookup index.
The <DictionaryInLanguage> element contains the ISO 639-1 language code for the
language of the books this dictionary is designed to be used on. For a Spanish-French
dictionary, the input language is Spanish.
The <DictionaryOutLanguage> element contains the ISO 639-1 language code for the
language of the definitions returned by the dictionary. For a Spanish-French dictionary, the
output language is French.
The <DefaultLookupIndex> element indicates the index that will open first when the
dictionary is used for lookup from another eBook. The default index must be specified if the
dictionary has more than one index. The index name that is wrapped in the
<DefaultLookupIndex> tags in the OPF file also should appear as the value of the name
attribute in the <idx:entry> elements in the content of the dictionary (see section 15.3.3).
As an example, for a Spanish-French dictionary, the input language code would be es; the output
language code would be fr, and the primary index might be named Spanish. A list of country codes can
be found at: http://www.w3schools.com/tags/ref_language_codes.asp.
<DictionaryInLanguage>es</DictionaryInLanguage>
<DictionaryOutLanguage>fr</DictionaryOutLanguage>
<DefaultLookupIndex>Spanish</DefaultLookupIndex>
...
</x-metadata>
For a monolingual dictionary, the same language code must appear twice: once to identify the input
language, and again to identify the same language as the output language. To identify a regional variant
for the source and/or target languages, a regional suffix may be appended to the ISO 639-1 code. For
example, en-gb indicates British English, while en-us indicates US English.
<DictionaryInLanguage>en-us</DictionaryInLanguage>
<DictionaryOutLanguage>en-us</DictionaryOutLanguage>
<DefaultLookupIndex>headword</DefaultLookupIndex>
...
</x-metadata>
Example:
<html xmlns:math="http://exslt.org/math" xmlns:svg="http://www.w3.org/2000/svg"
xmlns:tl="https://kindlegen.s3.amazonaws.com/AmazonKindlePublishingGuidelines.pdf"
xmlns:saxon="http://saxon.sf.net/" xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:cx="https://kindlegen.s3.amazonaws.com/AmazonKindlePublishingGuidelines.pdf"
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:mbp="https://kindlegen.s3.amazonaws.com/AmazonKindlePublishingGuidelines.pdf"
xmlns:mmc="https://kindlegen.s3.amazonaws.com/AmazonKindlePublishingGuidelines.pdf"
xmlns:idx="https://kindlegen.s3.amazonaws.com/AmazonKindlePublishingGuidelines.pdf">
<body>
<mbp:frameset>
<idx:short><a id="1"></a>
<idx:orth value="aardvark"><b>aard•vark</b>
<idx:infl>
<idx:iform value="aardvarks"></idx:iform>
<idx:iform value="aardvark’s"></idx:iform>
<idx:iform value="aardvarks’"></idx:iform>
</idx:infl>
</idx:orth>
<p> A nocturnal burrowing mammal native to sub-Saharan Africa that feeds exclusively on ants and termites. </p>
</idx:short>
</idx:entry>
[...other entries…]
</mbp:frameset>
</body>
</html>
<idx:entry>..</idx:entry>
The <idx:entry> tag marks the scope of each entry to be indexed. In a dictionary, each headword with
its definition(s) should be placed between <idx:entry> and </idx:entry>. Any type of HTML may be
placed within this tag.
The <idx:entry> tag can carry the name, scriptable, and spell attributes. The name attribute
indicates the index to which the headword belongs. The value of the name attribute should be the same
as the default lookup index name listed in the OPF. The scriptable attribute makes the entry
accessible from the index. The only possible value for the scriptable attribute is "yes". The spell
attribute enables wildcard search and spell correction during word lookup. The only possible value for the
spell attribute is "yes".
Example:
<idx:entry name="english" scriptable="yes" spell="yes">
The <idx:entry> tag also may carry an id attribute with the sequential id number of the entry. This
number should match the value of the id attribute in an anchor tag used for cross-reference linking:
Example:
<idx:entry name="japanese" scriptable="yes" spell="yes" id="12345">
<a id="12345"></a>
The entry id number is not used for in-book lookup; instead, the wordform entity to be indexed for lookup
must be contained in the <idx:orth> element as described in the following sections.
<idx:orth>..</idx:orth>
The <idx:orth> tag is used to delimit the label that will appear in the index list and that will be
searchable as a lookup headword. This is the text that users can enter in the search box to find an entry.
Example:
<idx:orth>Label of entry in Index</idx:orth>
Here is an example of an extremely simple entry that could be part of an English dictionary. From this
example code, the word "chair" would appear in the index list and would be searchable by users.
Example:
<idx:entry>
<idx:orth>chair</idx:orth>
A seat for one person, which has a back, usually four legs, and sometimes two arms.
<idx:entry>
The value attribute can be used on the <idx:orth> tag to include a hidden label in the entry. This
attribute maintains lookup functionality in the presence of the special formatting that commonly appears
on headwords in dictionaries.
Example:
<idx:orth value="Hidden Label of entry in Index">Display format</orth>
If the headword should be displayed in the dictionary with a superscripted number to indicate
homographs, with a registered trademark symbol, with middle dots to separate syllables, or with any other
added symbols, this special formatting should appear on the text between the <idx:orth> tags, but not
on the text in the value attribute. The text in the value attribute should match exactly the form to be
used for lookup. If a value attribute is not supplied, then the entity between the <idx:orth> tags will be
indexed for lookup. If middle dots, superscripted numbers, or any other symbols are included in the text
between the <idx:orth> tags, then in-book lookup will fail unless a hidden label with the lookup form is
supplied in the value attribute.
Example:
<idx:orth value="Amazon">A•ma•zon®<sup>3</sup></orth>
If the dictionary uses more than one orthographic script, then the format attribute on the <orth> tag
can be used to identify each script for building the index.
Example:
<idx:orth format="script name">
Along with this primary index of headwords for all entries in the dictionary, in-book lookup also requires a
supplementary index of inflected forms for each headword. To build the hidden inflection index, additional
data should be nested within the <idx:orth> tag as follows.
<idx:infl>..</idx:infl>
The <idx:infl> element may contain multiple <idx:iform /> elements. The <idx:iform />
elements are always empty elements, and are used only to carry attributes, not visible content. The
value attribute indicates the inflected forms that make up the inflection index.
Example:
<idx:orth>record
<idx:infl>
</idx:infl>
</idx:orth>
The <idx:infl> tag, the <idx:iform /> tag, and the value attribute are mandatory. The
<idx:infl> element also may carry an optional inflgrp attribute to denote part of speech, and the
<idx:iform /> element may carry an optional name attribute to indicate the inflection paradigm
category. For languages that use extensive inflection, including these optional categories will expand the
size of the inflection index and may result in slower performance during word lookup.
Example:
<idx:orth>record
<idx:infl inflgrp="noun">
</idx:infl>
<idx:infl inflgrp="verb">
</idx:infl>
</idx:orth>
The values listed as attributes of the <idx:iform /> tag will be invisible to the user, but rather will
provide the information needed to redirect from inflected forms to the associated headwords during in-
book lookup. To inform the user about parts of speech or inflection paradigms, additional text should be
included in the body of the entry (i.e., alongside the definition and examples).
<idx:key>..</idx:key> (DEPRECATED)
Like the <idx:infl> tag, the <idx:key> tag is designed to enable search for an entry in the index by
means of an alternative lookup wordform. However, the presence of <idx:key> tags in a Kindle
dictionary can create instability in the lookup functionality and can interfere with the operation of the
exact-match parameter (see section 15.4.2). For these reasons, the use of <idx:key> tags in Kindle
dictionaries is deprecated. Instead, <idx:infl> and <idx:iform /> tags should be used to wrap the
alternative lookup forms.
Example:
<idx:entry name="spanish" scriptable="yes" spell="yes">
<a id="12345"></a>
<idx:orth value="uña"><b>uña</b>
<idx:infl>
</idx:infl>
</idx:orth>
Setting the exact parameter to "yes" forces the device to match uñas to the headword uña (‘fingernail’)
and prohibits a match to una (‘one’).
If the dictionary entries are contained in a single, very large XHTML file, then KindleGen may not be able
to build the dictionary. If the dictionary fails to build, this problem may be resolved by splitting the
dictionary content into two or more XHTML files.
Check the index view of the dictionary. To do this, open the dictionary and start typing a word
in the Search box. An alphabetized list of headwords should appear and should update
dynamically based on which letters are typed. Selecting a headword from the index list
should redirect the user to the dictionary entry for that headword.
Drop caps: We interpret most drop caps from existing source content to ensure typographically
correct drop cap rendering on any device.
Hyphenation and smoother word spacing: Advanced hyphenation and justification gives
Kindle books more consistent word spacing and reduces distracting gaps of white space within
the text.
Kerning and ligatures: Kerning eases word shape recognition by removing subconsciously
distracting spaces between specific letter pairs
Text line height and margin improvements: We improved our text line height normalization to
ensure that customers can control this setting in all books (with View Settings), and prevent
outliers that did not read well on smaller devices. We improved interpretation of margins so they
maintain intended relationships among text passages without awkward page breaks at larger font
sizes.
Dynamic color contrast: We added dynamic color text contrast to ensure a threshold of contrast
between text color and page background color. We maintain the text hue to preserve intended
differentiation, but adjust the text lightness as needed for different reading modes such as night
mode, sepia, or green.
Image layout improvements: We have better maintained intended image size and placement
within text, relative to the source or print page and the device page size.
Font size layout improvement: Kindle with Enhanced Typesetting adjusts without customer
intervention when the font size is large or the line length is short on the device page, to improve
readability by preventing large gaps between words or squished text. For example, at larger text
sizes, Kindle will fall back to left-aligned text or reduce landscape two-column text to one column.
Enhanced table formatting: With Enhanced Typesetting, readers can see the full text of tables
adjusted for smart layout on different device sizes. Larger tables open with full size text in an
upgraded table viewer with pan and zoom. Text in tables is selectable for highlights or notes.
MathML: Enhanced Typesetting supports MathML (see section 10.6). MathML can be used to
encode both mathematical notation and mathematical content.
Page Flip: Page Flip is a reimagined Kindle navigation experience that makes it easy for
customers to get bird’s eye view of your book while always saving their place. Read more
about Page Flip here.
Progressive download: Progressive download allows a customer to start reading their book
while it is still downloading. Once the customer starts reading the book, they can navigate
anywhere in the book and the download continues at their current location.
High definition visuals (HDV) support: Images are an important part of the reading
experience and help authors tell their stories and engage with readers. With high definition
visual support, Amazon improves on unique eBook experiences such as image zooming,
pinching, and panning, and takes advantage of newer display technologies and device
capabilities.
Ragged right justification: Text with a ragged right margin is more natural to read and
requires less adjustment to finesse. This enables customers to change the current default
setting (full justified) to left aligned (ragged right) instead.
Supported Languages
Enhanced Typesetting currently supports the following languages: Afrikaans, Alsatian, Arabic, Basque,
Bokmal Norwegian, Breton, Catalan, Chinese (Simplified), Cornish, Corsican, Danish, Dutch, Eastern
Frisian, English, Finnish, French, Frisian, Galician, German, Icelandic, Irish, Italian, Luxembourgish, Manx,
Northern Frisian, Norwegian, Nynorsk Norwegian, Portuguese, Provencal, Romansh, Russian, Scots,
Scottish Gaelic, Spanish, Swahili, Swedish, Welsh, and the Indic languages Malayalam, Tamil, Hindi,
Gujarati, and Marathi.
Important: Kindle Enterprise Publishing and Kindle Direct Publishing do not support Russian or Swahili.
Supported Devices
Enhanced Typesetting is supported on the following devices and applications:
Kindle for iOS v4.9 or newer (iOS versions: iOS 7, iOS 8 and iOS 9)
Kindle for Android v4.18.0 or newer (Android versions: Jelly Bean, KitKat, Lollipop, and
Marshmallow)
Kindle for PC v1.1 or later and Kindle for Mac v1.1 or later
Most of our customers read on devices that support Enhanced Typesetting. Customers who use older
devices receive a KF8 version of the title.
Page Flip automatically saves a reader's place as With Page Flip, readers can view multiple pages
they browse through the book at once to better locate a chart or image
Supported Attributes
The following attributes are currently supported with the indicated values.
display inline, block, flex, inline flex, table cell, inherit, list-
item
empty-cells hide
font-weight 100, 200, 300, 400, 500, 600, 700, 800, 900, normal, bold,
bolder, lighter
overflow hidden
overflow-x hidden
overflow-y hidden
visibility visible
width auto, mm, in, ex, em, cm, px, pt, %, rem
Supported Tags
Any tags with the text "any applicable attribute" or "any applicable value" support the attributes and values
defined in section 17.1.
Ignored Tags
Ignored tags will not cause Enhanced Typesetting to be blocked, but will be ignored when a title utilizes
Enhanced Typesetting.
datetime orphans
<cite> Yes
<code> Yes
<col> Yes
<command> No
<datalist> No
<dd> Yes
<del> Yes
<dfn> Yes
<div> Yes
<dl> Yes
<dt> Yes
<em> Yes
<embed> Only SVG is supported
<eventsource> No
<figcaption> Yes
<figure> Yes
<font> Yes (deprecated – recommend using CSS instead)
<footer> Yes
<form> No
<h1> Yes
<h2> Yes
<h3> Yes
<h4> Yes
<h5> Yes
<h6> Yes
<head> Yes
<header> Yes
<hgroup> Yes
<hr> Yes
<html> Yes
<i> Yes
<iframe> No
<img> Yes
<input> No
<ins> Yes
<kbd> Yes
<keygen> No
<li> Yes
<link> Yes
<mark> Yes
<marquee> No
<menu> Yes
<nav> Yes
<noscript> No
<object> Only SVG is supported
<ol> Yes
<output> Yes
<p> Yes
<param> No
<pre> Yes
<q> Yes
<rp> Yes
<rt> Yes
<samp> Yes
<script> Reserved for Amazon use only
<section> Yes
<small> Yes
<source> Yes
<span> Yes
<strike> Yes
<strong> Yes
<style> Yes
<sub> Yes
<summary> Yes
<sup> Yes
<table> Yes
<tbody> Yes
<td> Yes
<tfoot> Yes
<th> Yes
<thead> Yes
<time> Yes
<title> Yes
<tr> Yes
<u> Yes
<ul> Yes
<var> Yes
<video> No
<wbr> Yes
/*Comment*/ Yes
@import Yes
@charset Yes
@font-face Yes
* Yes
background Yes
background-attachment Yes
background-color Yes
background-image Yes
background-position Yes
background-repeat Yes
background-clip Yes
background-origin Yes
background-size Yes
border Yes
border-bottom Yes
border-collapse Yes
border-color Yes
border-left Yes
border-radius Yes
border-right Yes
border-spacing Yes
border-style Yes
border-top Yes
border-width Yes
bottom Yes
caption-side Yes
clear Yes
clip Yes
color Yes
color-index Yes
counter-increment No
counter-reset No
device-aspect-ratio Yes
device-height Yes
device-width Yes
direction Yes
display Yes
E Yes
E + F (Direct adjacent) No
E ~ F (Indirect No
adjacent)
E.class Yes
E#id Yes
E::after No
E::before No
E::first-letter No
E::first-line No
E:first-child No
E:first-of-type No
E:last-child No
E:last-of-type No
E:link Yes
E:nth-child No
E:nth-last-child No
E:nth-last-of-type No
E:nth-of-type No
E:only-child No
E:only-of-type No
E:visited No
empty-cells Yes
float Yes
font Yes
font-family Yes
font-size Yes
font-style Yes
font-variant Yes
font-weight Yes
height Yes
left Yes
letter-spacing Yes
line-height Yes
list-style Yes
list-style-image Yes
list-style-position Yes
list-style-type Yes
margin Yes
max-height No
max-width No
min-height Yes
min-width Yes
monochrome Yes
opacity Yes
outline No
outline-color No
outline-offset Yes
outline-style No
outline-width No
padding Yes
position Yes
right Yes
text-align Yes
text-align-last Yes
text-decoration Yes
text-indent Yes
text-overflow Yes
text-shadow Yes
text-transform Yes
top Yes
unicode-bidi Yes
vertical-align Yes
visibility Yes
white-space Yes
width Yes
word-spacing Yes
word-wrap Yes
z-index Yes
Amazon recommends that content creators only use media queries if they solve a problem or provide a
better customer experience. For example, you can use media queries to:
Create custom drop cap solutions for specific devices or groups of devices.
Change light-colored text (yellow, baby blue, pink, etc.) to darker colors that provide better
contrast on E-reader while retaining the original color on tablet devices.
Increase the font size for fixed-layout text pop-ups on E-reader devices separately from tablets to
accommodate the difference in screen sizes.
Display colored borders on E-reader and colored backgrounds on tablets independently from
each other, allowing you to better replicate the print experience on tablets without sacrificing the
reading experience on E-reader devices.
This section describes ways that you can use media queries to customize the reading experience on
Kindle E-reader devices, Fire tablets, and iPads. You can also use these same principles across all
Kindle platforms for devices of all aspect ratios.
Note: Some media queries may behave differently in Enhanced Typesetting eBooks than in KF8 or Mobi
eBooks.
Media queries are part of the W3 standard. For more information, visit http://www.w3.org/TR/css3-
mediaqueries/
In the following example, the blue background color is only applied if the format of the book is KF8 and
the aspect ratio of the device is 1280 x 800.
Example:
.blue_background {
background-color: blue;
Example:
CSS comments are invisible to the customer, but they make the code much easier to navigate and
troubleshoot for anyone who works on the file.
In the following example, the default code creates a black border on every device for any element that
uses the blue_background class. The media queries that follow it remove the border and display a blue
background on Fire tablets and iPad for any element that uses the blue_background class. All other
devices will only display the black border.
Example:
/* Default Formatting. Use this for Kindle E-reader. No media queries required. */
.blue_background {
/* Kindle Fire (All) Formatting. Use this to target all Fire Tablets. */
.blue_background {
background-color: blue;
border: none;
/* iPad (3, Air, Mini) Formatting. Use this for any iPad. */
.blue_background {
background-color: blue;
border: none;
In the example above, the black border defined in the default code for the blue_background class will
still appear on Fire tablets if the border property is not overridden. Setting the border to none in the
media queries for Fire tablets and iPad ensures that the default values for these properties are
overridden. This is helpful if you are using non-media query code to target Kindle E-reader devices and
do not want to transfer a colored border to a Fire tablet.
In the following example, the goal is to override a colored border on Fire tablets and replace it with a
colored background, while keeping the text red for all devices. The example on the left is incorrect
because repeating the .red_font class in the media query code is not necessary.
Example:
.blue_background { .blue_background {
border: 1px solid blue; border: 1px solid blue;
} }
.red_font { .red_font {
color: red; color: red;
} }
.blue_background { .blue_background {
background-color: blue; background-color: blue;
border: none; border: none;
} }
}
.red_font {
color: red;
}
}
Media Queries in CSS CSS Applied to KF8 CSS Applied to CSS Applied to
Mobi Other Readers
@media amzn-mobi - font- -
{ size:3em;
.class1 font-weight:
{ bold;
font=size:3em;
font-weight: bold;
}
}
Media Queries in CSS CSS Applied to KF8 CSS Applied to CSS Applied to
Mobi Other Readers
.class1 font-style: font-style: font-style:
{ italic; italic; italic;
font-style: italic; font-size: 2em; font-size: font-size:2em;
font-size:2em; 3em;
} font-weight:
bold;
@media amzn-mobi
{
.class1
{
font-size:3em;
font-weight: bold;
}
}
.class1
{
font-style: italic;
font-size:2em;
}
Media Queries in CSS CSS Applied to KF8 CSS Applied to CSS Applied to
Mobi Other Readers
@media not amzn-mobi .firstletter .firstletter .firstletter
{ { { {
.firstletter float: left; font-size: float: left;
{ font-size: 3em; font-size:
float: left; 3em; } 3em;
font-size: 3em; line-height: line-height:
line-height: 1; 1; 1;
font-weight: bold; font-weight: font-weight:
padding-right: .2em; bold; bold;
margin: 10px padding-right: padding-right:
} .2em; .2em;
} margin: 10px margin: 10px
} }
@media amzn-mobi }
{
.firstletter {
font-size: 3em;
}
}
@media amzn-kf8 p {
{ color: red;
p { }
color: red;
}
}
p { p { p {
font-style: normal; font-style: normal; font-style: normal;
} } }
h { h { h {
font-weight: bold; font-weight: bold; font-weight: bold;
} } }
ul { ul { ul {
margin: 20px; margin: 20px; margin: 20px;
padding-left: 30px; padding-left: 30px; padding-left: 30px;
} } }
@media amzn-mobi {
.firstletter {
float: left;
font-size: 3em;
line-height: 0;
font-weight: bold;
padding-right: 0;
}
}
Example:
.class1 {
font-style: italic;
font-size:2em;
@media amzn-mobi {
.class1 {
font-size:3em;
font-weight: bold;
Example:
Example:
<style type="text/css">
Example:
@import
@import url(common.css);
Example:
.defaultcontent {
display: block;
.mobicontent {
display: none;
@media amzn-mobi {
.defaultcontent {
display: none;
.mobicontent {
display: block;
You can use an additional command line option (-intermediate_only) to generate intermediate
OPF/HTML files:
This option generates intermediate files as OPF/HTML files in a new folder next to the input folder.
KindleGen names this folder with the input folder name followed by _dump. To change anything in the
intermediate files, use these intermediate HTML or OPF files. The intermediate HTML or OPF files should
follow the guidance outlined elsewhere in this document.
The OPF file is named current_content.opf and can be found at the same location as the main.xml file.
Use the following command to generate the KF8 from OPF/HTML files:
Source Issues
An XMDF source can have multiple issues that degrade the reading experience on Kindle. You can
correct these issues to improve the reading experience. The following sections list a few of the top source
issues found in our testing,
Correct:
<yoko>10</yoko>
</char_id>
CHAPTER X
Incorrect:
CHAPTER X
Correct:
Incorrect:
Some Kindle devices allow the reader to change the background color to black. If text is forced black, it
will not be readable in this mode and the book will be suppressed.
Example:
<br/>
Example:
<special_page_link>
...
</special_page_link>
Unsupported Features
Some XMDF features are not supported in Kindle. If the file has such features, KindleGen displays an
error message and fails the conversion. These are the unsupported features.