The number of print books and eBooks published every year is continuing to grow, and tracking all of those books and files is not easy to do. To facilitate the tracking of books through retailers and other places, publishers and authors use International Standard Book Numbers (ISBNs). The use of ISBNs in the eBook world is often misunderstood, so let's try to clear up the confusion.

Each format should have its own ISBN

According to the International ISBN Agency, every format of a book that you sell must have a unique ISBN assigned to it. That means if you print a book in paperback and also in hardback, each one of those formats will require its own ISBN. This same rule applies to your EPUB file, which requires its own ISBN. In addition, if you decide to create a unique eBook file specifically for one retailer, then that file would also require its own ISBN.

There is no such thing as an "eISBN". All ISBNs can either be assigned to an eBook or a print book, and there is no difference in the number or the type. Also note that while both Amazon and Barnes & Noble do not require that the files you give them have ISBNs, it is still the best practice to do so.

Acquiring ISBNs

Purchasing ISBNs in the U.S. is not difficult to do. All ISBNs in the U.S. are registered through Bowker. Go to their website and follow the instructions to purchase the ISBNs you need. Sometimes it is best to buy a block of 10, since that is the same cost as two. You can hold onto the extras until they are needed for future publishing projects.

Other countries have different agencies that manage the registration of ISBNs, sometimes free and sometimes for a charge. You can find a list at the International ISBN Agency's website.

EPUB 2 Markup

The title's ISBN should be added to the metadata section in the OPF like this:

<dc:identifier id="uid" opf:scheme="ISBN">9781234567890</dc:identifier>

The value in the id="" attribute must match the value of unique-identifier="" in the <package> element.

In addition to the OPF file, the ISBN must be placed in the NCX file, like this:

   <meta name="dtb:uid" content="9781234567890"/>
   <meta name="dtb:depth" content="1"/>
   <meta name="dtb:totalPageCount" content=""/>
   <meta name="dtb:maxPageNumber" content="0"/>

Note that the values in both the OPF and the NCX have to match exactly. If they do not, you will get a validation error in FlightDeck.


We often see these mis-matched ISBN errors because EPUB creators include urn:uuid: or urn:isbn: in front of the identifier in one of these two locations but not in the other. These prefixes are helpful for reading systems and are officially supported in the EPUB spec, but they can cause problems in some systems, especially in Adobe Content Server 4, which is used by some eBook retailers and providers like NetGalley. We do not recommend including these prefixes in your EPUB files.

EPUB 3 Markup

For EPUB 3, the title's ISBN should be added to the metadata section in the OPF like this:

<dc:identifier id="uid">9781234567890</dc:identifier>
   <meta refines="#uid" property="identifier-type" scheme="onix:codelist5">15</meta>

The <meta> tag allows the reading system to understand what kind of identifier is being used. In this case, we are using an ISBN, so we point to the ONIX Code List to define this as an ISBN-13.

If the EPUB 3 is backwards compatible and contains an NCX, it must also contain the exact same information, as described in the EPUB 2 section above.

EPUB 3 also allows you to add other identifiers to your metadata to further define what the document is. Here is an example from the EPUB spec showing how you would include a Document Object Indentifier (DOI):

<dc:identifier id="pub-id">urn:doi:10.1016/j.iheduc.2008.03.001</dc:identifier>
   <meta refines="#pub-id" property="identifier-type" scheme="onix:codelist5">06</meta>

In some circumstances, you may also want to include the ISBN of the print book used as the source of your EPUB. In that case, you would use the <dc:source> element, like this:

<dc:identifier id="uid">9781234567890</dc:identifier>
   <meta refines="#uid" property="identifier-type" scheme="onix:codelist5">15</meta>
<dc:source id="src-id">9781234567891</dc:source>
    <meta refines="#src-id" property="identifier-type" scheme="onix:codelist5">15</meta>

Back to Handbook