I would like to design an ebook in InDesign but I am struggling with the formatting. The book it looks bad in epub format. I did research and I understand that flowing text will not be perfect because it will be adjusted by the user.

But how can I keep the basics like a line break after the paragraphs?

How to make the contents page look good besides just the blue links?

Are iPad dimensions the way to start designing or it does not matter what size I will start with because it will reflow anyway?

It will be published on Kindle and other publishing pages online. If it is not possible to do anything about the styling is it even worth to do it in InDesign?

  • 1
    EPUB books use HTML/CSS styling. You should be able to do this with CSS padding-bottom But I am not sure if the Kindle supports that, nor do I know how to get that set in InDesign (adjust the book's CSS template?)
    – Anthon
    Commented Jul 2, 2017 at 4:05
  • OK I see. Looks like the problem is the software that I am using to edit the ebook.
    – Joanna
    Commented Jul 3, 2017 at 8:54
  • Not necessarily, it could well be that InDesign is capable of doing this, I just don't know how as I am not familiar with the application.
    – Anthon
    Commented Jul 3, 2017 at 9:15
  • I think you also need to under stand book readers more as well " flowing text will not be perfect because it will be adjusted by the user" is the wrong way of thinking. Flowing text IS perfect because the user can control it and so can read the information insted of formatting messing it up. You do not know what size the reader has to use so as to be able to read
    – mmmmmm
    Commented Jul 4, 2017 at 13:40

2 Answers 2


Add this css to Indesign (this should be a text file but I'm not going to go through it and add four spaces to each line)

/* This document has been created with Marked.app http://markedapp.com, Copyright 2011 Brett Terpstra

Please leave this notice in place, along with any additional credits below.

Title: Manuscript Author: Brett Terpstra Description: Courier, Double-spaced */ body { -webkit-font-smoothing: subpixel-antialiased; font: normal 1em/2.5em "Courier", monospace; margin: 4em 1in 1in 4em; width: auto; }

html > body { font-size: 12pt; }

h1 { text-align: center; font-size: 2.2857em; margin: .6563em 0; }

h2 { font-size: 1.7143em; margin: .875em 0; }

h3 { text-align: center; font-size: 1.5em; margin: 1em 0; }

h4 { font-size: 1.2857em; margin: 1.1667em 0; }

h5 { font-size: 1.15em; margin: 1.3em 0; }

h6 { font-size: 1em; margin: 1.5em 0; }

body, p, td, div { color: #111111; font-family: "Courier", monospace; word-wrap: break-word; }

h1, h2, h3, h4, h5, h6 { color: #111111; font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; line-height: 1.5em; }

a { color: #0d6ea1; text-decoration: none; -webkit-transition: color 0.2s ease-in-out; -moz-transition: color 0.2s ease-in-out; -o-transition: color 0.2s ease-in-out; -ms-transition: color 0.2s ease-in-out; transition: color 0.2s ease-in-out; } a:hover { color: #3593d9; }

.footnote { color: #0d6ea1; font-size: .8em; vertical-align: super; }

wrapper img {

max-width: 100%; height: auto; }

dd { margin-bottom: 1em; }

li > p:first-child { margin: 0; }

ul ul, ul ol { margin-bottom: .4em; }

caption, col, colgroup, table, tbody, td, tfoot, th, thead, tr { border-spacing: 0; }

table { border: 1px solid rgba(0, 0, 0, 0.25); border-collapse: collapse; display: table; empty-cells: hide; margin: -1px 0 23px; padding: 0; table-layout: fixed; }

caption { display: table-caption; font-weight: 700; }

col { display: table-column; }

colgroup { display: table-column-group; }

tbody { display: table-row-group; }

tfoot { display: table-footer-group; }

thead { display: table-header-group; }

td, th { display: table-cell; }

tr { display: table-row; }

table th, table td { padding: 0 1em; }

table thead { background: rgba(0, 0, 0, 0.15); border: 1px solid rgba(0, 0, 0, 0.15); border-bottom: 1px solid rgba(0, 0, 0, 0.2); }

table tbody { background: rgba(0, 0, 0, 0.05); }

table tfoot { background: rgba(0, 0, 0, 0.15); border: 1px solid rgba(0, 0, 0, 0.15); border-top: 1px solid rgba(0, 0, 0, 0.2); }

figure { display: inline-block; position: relative; margin: 1em 0 2em; }

figcaption { font-style: italic; text-align: center; background: white; color: #666666; position: absolute; left: 0; bottom: -24px; width: 98%; padding: 1%; -webkit-transition: all 0.2s ease-in-out; -moz-transition: all 0.2s ease-in-out; -o-transition: all 0.2s ease-in-out; -ms-transition: all 0.2s ease-in-out; transition: all 0.2s ease-in-out; }

figure:hover > figcaption { /* background: rgba(0,0,0,1) */ }

.poetry pre { display: block; font-family: Georgia, Garamond, serif !important; font-style: italic; margin-left: 1em; } .poetry pre code { font-family: Georgia, Garamond, serif !important; word-break: break-all; word-break: break-word; /* Non standard for webkit */ -webkit-hyphens: auto; -moz-hyphens: auto; hyphens: auto; white-space: pre-wrap; }

blockquote p { text-indent: 0; font-style: italic; }

sup, sub, a.footnote { font-size: 1.4ex; height: 0; line-height: 1; position: relative; vertical-align: super; }

sub { vertical-align: sub; top: -1px; }

blockquote+p { margin: 0; text-indent: 0; }

h2+p { margin: 0; text-indent: 0; }

p, h5 { margin: 0; text-indent: 1.5em; }

dt, th { font-weight: 700; }

table tr:nth-child(odd), table th:nth-child(odd), table td:nth-child(odd) { background: rgba(255, 255, 255, 0.06); }

table tr:nth-child(even), table td:nth-child(even) { background: rgba(200, 200, 200, 0.25); }

@media print { body { overflow: auto; }

img, pre, blockquote, table, figure { page-break-inside: avoid; }

p { page-break-inside: auto; }

#wrapper { background: white; color: #303030; padding: 10px; position: relative; text-indent: 0; } } @media screen { .inverted { background: #252a2a; } .inverted #wrapper { background: #252a2a; } .inverted hr { border-color: #333f40 !important; } .inverted p, .inverted td, .inverted li, .inverted h1, .inverted h2, .inverted h3, .inverted h4, .inverted h5, .inverted h6, .inverted pre, .inverted code, .inverted th, .inverted .math, .inverted caption, .inverted dt, .inverted dd { color: #eeeeee; } .inverted table { background: none; } .inverted table tr:nth-child(odd), .inverted table td:nth-child(odd) { background: none; } .inverted a { color: #acd1d5; }

::selection { background: rgba(157, 193, 200, 0.5); }

h1::selection { background-color: rgba(45, 156, 208, 0.3); }

h2::selection { background-color: rgba(90, 182, 224, 0.3); }

h3::selection, h4::selection, h5::selection, h6::selection, li::selection, ol::selection { background-color: rgba(133, 201, 232, 0.3); }

code::selection { background-color: rgba(0, 0, 0, 0.7); color: #eee; }

code span::selection { background-color: rgba(0, 0, 0, 0.7) !important; color: #eee !important; }

a::selection { background-color: rgba(255, 230, 102, 0.2); }

.inverted a::selection { background-color: rgba(255, 230, 102, 0.6); }

td::selection, th::selection, caption::selection { background-color: rgba(180, 237, 95, 0.5); } }

  • Thank you for the code, I added as provided. It is just perfect! Is there any chance, I can also add the author name in the code? Also, I have only one, cover image but it is broken in half. Any idea how to solve this?
    – Joanna
    Commented Aug 20, 2017 at 10:53
  • You can leave the author's name in the code by commenting out the lines as you would do when writing any html code: <-- text you want to comment out --> My experience with e-readers is that different programs yield different results when trying to display the cover page. I don't know which dimensions work universally. I think that BBeBooks blog might have further information. bbebooksthailand.com
    – user26732
    Commented Aug 20, 2017 at 19:29
  • Thank you very much for all help! I have found one solution for the author is to add it in Metadata in export options in InDesign. Also, I removed all images and it is possible to add cover by uploading it in InDesign export options as well. Thank you!
    – Joanna
    Commented Aug 21, 2017 at 6:56
  • The author who wrote the css should not be named as the author of the book itself in the epub's metadata. But if there's a place other than that reserved for the book's author, fine.
    – user26732
    Commented Aug 22, 2017 at 7:25
  • Unfortunately, from InDesign that seems like the only way. In iBooks it displays as an author name.
    – Joanna
    Commented Aug 23, 2017 at 8:11

The main advantage of Indesign is that it lets you publish a print version which can also be exported to an ebook format.

For ebook design you must deal with the limitations of reading systems --especially that of Kindle.

As a first step, it might help to have direct access to the devices you want to design for which you can use for testing. For me, I use a 3 year old Kindle, a recent iphone, an older iPad, an android tablet (and various reading software on these devices).

I have used CSS media queries to adapt my style sheets to various dimensions. If you are trying to use a design-heavy book, you may find it easier just to declare that this ebook is best viewed on a tablet like the iPad (or certain dimensions).

Another option is to create a fixed layout ebook (Check the Amazon Kindle Publishing Guidelines for information about that).

Formatting a picture-heavy book can pose challenges. Try to make it as simple as possible.

I have avoided InDesign for various reasons, but I know that many ID fans hang out here. http://epubsecrets.com/ You might find this listing of available fonts for each device to be useful:

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.