HonKit allows you to customize your book using a flexible configuration. These options are specified in a book.json file. For authors unfamiliar with the JSON syntax, you can validate the syntax using tools such as JSONlint.

General Settings

Variable Description
root Path to the root folder containing all the book's files, except book.json
structure To specify paths for Readme, Summary, Glossary etc. See Structure paragraph.
title Title of your book, default value is HonKit.
description Description of your book, default value is extracted from the README.
author Name of the author(s), multiple authors should be separated by ampersands.
authorSort String to be used when sorting by author.
producer Name of the producer.
publisher Name of the publisher.
series The series this book belongs to.
seriesIndex Index of the book in this series.
pubdate Publication date of the book, formatted as YYYY-MM-DDTHH:MM:SS.
isbn ISBN of the book
language ISO code of the book's language, default value is en
direction Text's direction. Can be rtl or ltr, the default value depends on the value of language
gitbook Version of HonKit that should be used. Uses the SemVer specification and accepts conditions like ">= 3.0.0"
honkit Version of HonKit that should be used. Uses the SemVer specification and accepts conditions like ">= 3.0.0"


Plugins and their configurations are specified in the book.json. See the plugins section for more details.

Since version 3.0.0, HonKit can use themes. See the theming section for more details.

Variable Description
plugins List of plugins to load
pluginsConfig Configuration for plugins


In addition to the root variable, you can tell HonKit the name of the files for Readme, Summary, Glossary, Languages (instead of using the default names such as These files must be at the root of your book (or the root of every language book). Paths such as dir/ are not accepted.

Variable Description
structure.readme Readme file name (defaults to
structure.summary Summary file name (defaults to
structure.glossary Glossary file name (defaults to
structure.languages Languages file name (defaults to

PDF Options

PDF Output can be customized using a set of options in the book.json:

Variable Description
pdf.pageNumbers Add page numbers to the bottom of every page (default is true)
pdf.fontSize Base font size (default is 12)
pdf.fontFamily Base font family (default is Arial)
pdf.paperSize Paper size, options are 'a0', 'a1', 'a2', 'a3', 'a4', 'a5', 'a6', 'b0', 'b1', 'b2', 'b3', 'b4', 'b5', 'b6', 'legal', 'letter' (default is a4) Top margin (default is 56)
pdf.margin.bottom Bottom margin (default is 56)
pdf.margin.right Right margin (default is 62)
pdf.margin.left Left margin (default is 62)
pdf.embedFonts Embed all fonts into the PDF (default is false)