KindleGen
KindleGen is a proprietary tool provided by Amazon to be used to convert source files to AZW format be used on the Amazon Kindle reader. Amazon has a self-publishing page that covers submitting a file for publication.
Contents |
[edit] Overview
KindleGen is a command line tool used to build eBooks that can be sold through Amazon's Kindle platform. Amazon intends this tool as the main way to submit files to be published on their web site. However, since AZW is almost identical in format to MOBI files, tools used to create MOBI files can also be used to generate AZW files by simply renaming the extension. There are some subtle differences however.
This tool is best for publishers and individuals who are familiar with HTML and want to convert their HTML, XHTML, XML (OPF/IDPF format), or ePub source into a Kindle Book. It can also generate the APNX page number file with the right input.
[edit] From the changelog
[edit] 1.2 changes
This 1.2 update includes:
- Support for page numbers in a book through NCX pageLists or page-map xml
- Support for AAC file format as audio/video source
- Support for Latin language (ISO-639-1 code: la)
- Bug fixes from older version of KindleGen
[edit] 2.4 changes
From this version on, KindleGen began offering support for the newer KF8 format. The program generates two eBooks, one for KF8 and one for old Mobi (sometimes called KF7 or K7), in the same file. When a user purchases a book from Amazon they will divide the file and ship the correct version for the device they own. See KindleUnpack for a tool that can take these apart for your personal use.
It now seems to expect an ePub source input of the ePub OPF.
- Added support for a localized interface in Chinese and Japanese languages.
- Added support for "display:none" CSS Property in Mobi.
- Removed soft-hyphens for older devices and allowed them to be visible only on KF8 devices.
[edit] 2.5 changes
This 2.5 update includes:
- Improved transparent PNG conversion: Transparent PNG images are now converted to JPEG and will use a white background.
- Unintended line breaks in Mobi7 when using some CSS properties ("margin-top: 0px" and "margin-bottom: 0px") has been fixed.
- Resolved indentation issues in KF7 related to bullets and numbered lists.
- Allows creation of KF7 book with Indexes (e.g. dictionaries).
- CSS property "display: none" no longer induces an additional space in Mobi7 for inline tags.
[edit] 2.7 changes
This 2.7 update includes:
- Data URI support for images and embedded fonts so that they can be referred directly in HTML and CSS files (For more details about data uri, please refer http://dataurl.net).
- Enabled support for JP vertical rendering and multiple writing modes. Values can be specified in OPF files using meta tags (ex: <meta name="primary-writing-mode" content="vertical-rl" />). The valid values are horizontal-lr, vertical-lr, horizontal-rl, vertical-rl.
- Enabled support for facing pages and double page spreads. Values can be specified in OPF through “properties” attribute in itemref tag. The valid values are facing-page-left, facing-page-right, page-spread-left, page-spread-right.
- Added Mobi7 support for HTML tags with multiple classes (e.g., class="class1 class2 class3")
- KindleGen errors out when original resolution metadata is not specified in the format "integer x integer" for fixed format books.
- Validates ordinals used in the region magnification JSON are unique for fixed format books.
- Added KF8 and KF7 file size stats that will be displayed after conversion.
[edit] 2.8 changes
This 2.8 update includes:
- Support for converting XMDF file format has been added. Refer Kindle Publishing Guidelines for more info.
- Support for epub3 toc nav element has been added. This is equivalent to the navMap element in the NCX (also known as NCX toc). Epub3 toc nav element is preferred over NCX navMap element, if both are given. But if the Nav HTML is not specified according to the specification, we will try to fall back to NCX if one exists. If we cannot fallback to NCX, then we would error out. Refer here for more info about EPUB3 toc nav specification.
- Support for epub3 landmarks nav element has been added. This is equivalent to the OPF guide element. Epub3 landmarks nav element is preferred over OPF guide element, if both are given. Refer here for more info about EPUB3 landmarks nav specification.
- Support for specifying the following metadatas in epub3 format
- Specifying cover image using properties attribute in manifest
- Specifying book level layout with “rendition:layout” property
- Specifying book level orientation with “rendition:orientation” property
- Specifying “dc:identifier” value in URN format.
- Refining authors in “dc:creator” metadata using marc relators scheme
- Providing multiple titles with one among them refined as main title using title-type property.
- Refer here for more info.
- Support for referring images in NCX toc if and only if the same image is directly referred in the spine.
- Support for Galician language (gl, gl-es).
[edit] Managing KF8 and KF7 differences
It may be that there is a need to make two different versions of an eBook to support the newer KF8 format and the older Mobi sometimes called KF7 (or K7). The best way to handle these differences is with a special construction in the CSS file which will be used by KindleGen to make the needed changes in the file. For example
<style type="text/css">
@media amzn-kf8 {
.mobi7only {
display: none;
}
.kf8only {
display: block;
}
}
@media amzn-mobi {
.mobi7only {
display: block;
}
.kf8only {
display: none;
}
}
</style>
<div class="mobi7only">...MOBI version...</div>
<div class="kf8only">...KF8 version...</div>
[edit] SRCS Record
KindleGen adds the entire contents of the source files used to create the AZW file as a record inside the file itself. This typically doubles the size of the file. There is a tool called Kindlestrip that can be used to remove this information. For more information see: MobileRead discussion thread on how to get this tool and how to use it. Click for the technical details of the SRCS Record.
[edit] Available Platforms
Unlike most Mobi creation tools KindleGen is available for a wide variety of platforms:
- KindleGen for Windows (2003, XP, Vista, 7)
- KindleGen for Linux 2.6 i386
- KindleGen for Mac OS 10.5 and above i386
- Kindle Plugin for Adobe InDesign® v0.95 (Beta)
[edit] Misc
A simplified KindleGen is also built-in to the Kindle Previewer application and that serves as a very light weight UI over KindleGen.
[edit] For more information
- Guide to Kindle formatting (same format as mobi) link is to a site to purchase the book.
- Mobipocket Creator - free download. Also see MobiPocket Creator
- Mobipocket Development center - creation documentation
- Amazon KindleGen Download - an upgrade to MobiPocket Creator and works fine for mobi books. Kindle Previewer can also be download from this page or directly at: http://www.amazon.com/kindleformat/kindlepreviewer.
- Official Release Notes (Changelog)
- Amazon Kindle Publish Guidlines a PDF