How to Format Your Book for the Kindle

Unlike a standard PDF file, formatting a book for Amazon’s Kindle e-reader takes a little more attention and care. Generally speaking, a Kindle book is just HTML and CSS. The part that can be difficult is figuring out which tags the Kindle actually supports. There are also a couple of unique tags that are not standard HTML but that you can use to add formatting to your Kindle book.

Getting Started

If you are using Amazon’s Kindle Direct Publishing (KDP) service, it is quick and easy to publish your book. This guide assumes you already have the book finished, know how to use Amazon’s KDP website, and have a basic knowledge of HTML.

The first thing you should do is sign up for KDP, and after you have an account, click “Add a new title”. Enter in all of the information you have about your book and add a cover image if you want. The last thing you will do on this page will be to upload the actual book. For now, do nothing else or save the book as a draft and come back later.

Kindle e-book reader


Since the Kindle is formatted in HTML, you could export your current document from or other software directly to HTML using the KDP upload interface. The important thing to note is that some formatting may not work correctly. I found the best method to be using plain text and reformatting the entire book. To do this, follow these steps:

1. Use your HTML editor of choice to create a new document. You can use standard XHTML in the DOCTYPE. Save the new document in a new folder.

2. In the title tag, put the title of your book:

<title>My New Book</title>

3. To create a title page, you can use the header tag (<h1></h1>) or use an image. To center-align any text, use an inline css style (or simple stylesheet), for example:

<h1 style=”text-align: center”>My Centered Text</h1>

4. The Kindle does not recognize whitespace, so artificially inserted breaks will not show up. If you want to skip a page or simply start a new page at the end of a chapter, you must use a special tag:

<mbp:pagebreak />

Any place you insert that tag will automatically start a new page.

5. For every new paragraph, use the <p> tag, and the Kindle will automatically indent it.

6. For any images, save them in the same folder with your document and link to them with the normal tag:

<img src=”name.jpg” alt=”My Name”>
Kindle Direct Publishing preview screenshot

7. If you absolutely need to add white space, you can use formatting like this:

<p height="40">&nbsp;</p>

8. For italics, use <em> and for bold use <strong>

Finishing and Publishing

There is really not much else to it. If you add too many styles and try to get fancy, you may find that they do not work or do not show up correctly. Remember, Kindle readers are accustomed to reading a black and white screen with plain pages and text. Adding too many spaces or strange formatting will probably just annoy them. You should leave it up to them and their configuration options to make any subtle formatting changes. They just want your readable content, not your visual artistic creation.

Once you have the book formatted, compress the entire folder with your HTML, optional CSS file and images to a zip file and upload it into Amazon’s KDP interface. Once uploaded, click “Preview book” to make sure it looks the way you intended. Generally speaking, the preview will show you how it will look on the Kindle. If it all looks good, go ahead and publish. If something is out of place, edit your HTML again and re-upload it until it is right.

Kindle book sales page

Once the work is published, you may find that something is not quite right on the actual Kindle. In that case, you can still edit it and resubmit it to Amazon, without losing any of your other settings. E-book formatting is different for every reader, so you will still need to learn how to format your book for the Barnes and Noble Nook and others. Enjoy your new publishing audience and be sure to share your books with us.

Image credits: Wikipedia and Flickr

Tavis J. Hampton

Tavis J. Hampton is a freelance writer from Indianapolis. He is an avid user of free and open source software and strongly believes that software and knowledge should be free and accessible to all people. He enjoys reading, writing, teaching, spending time with his family, and playing with gadgets.

Subscribe to our newsletter!

Our latest tutorials delivered straight to your inbox