Font Size:


Release 3.0 Downloads

ONIX 3.0 Specifications

For the core ONIX 3.0 documentation, the package below includes an enhanced Product Information Format Specification in PDF format. For a package containing the same information in HTML format, see the Implementation and Best Practice Guide package below.

The documentation includes the full Specification (covering both the header and the body of the product information record), a full sample message, and rewritten and improved material that was previously available in separate Data Element Summary and XML Technical Notes documents. The package also includes HTML versions of the latest Codelists, which are hyperlinked from the main specification document. The individual codelists should be in a subfolder 'codelists' within the same folder as the main PDF in order for the links to be recognized.

This latest version of the Specification covers 3.0 revision 5 (3.0.7), released October 2019. This revision is fully backward-compatible with earlier versions of the 3.0 specification. A detailed summary of the changes between version 3.0.6 and the latest 3.0.7 is available here. Older summaries for 3.0.1, 3.0.2,, 3.0.5 and 3.0.6 are also available. The specification also includes an annotated sample file, and the file can be downloaded separately here.

A specification for the new ONIX Acknowledgement message is also available. If placed in the same folder as the main ONIX message specification PDF and the 'codelists' subfolder, it too contains hyperlinks linking directly to the codelists.

The ONIX for Books Acknowledgement Format Specification, released January 2015, is a separate and optional message intended to be sent to a data supplier in response to receipt of a standard ONIX for Books message. It allows an ONIX for Books recipient to:

  • confirm receipt of the original ONIX message
  • report to the original sender a summary of Product records processed and updated into the recipient’s database
  • report details of any errors encountered, or any queries about the product data supplied, or
  • return to the sender details of proprietary identifiers assigned by the recipient

It can form part of a ‘choreography’ of messages between sender and recipient (say between publisher and data aggregator, or between distributor and retailer). However, it is not expected that it will be used in every ONIX 3.0 data feed, and where it is adopted, implementations might at first use only the simplest functionality (confirmation of receipt).

This initlal version is numbered Release 3.0 only for consistency with the numbering of the main ONIX message specification. The specification also includes a number of annotated sample acknowledgement messages, and the sample files can be downloaded separately here.

Implementation and Best Practice Guide

An Implementation and Best Practice Guide has been created to accompany the main Specification. These guidelines are intended to set a global benchmark for implementors, to reduce the variation between different interpretations of the standard in different countries, and to ensure that ONIX 3.0 messages are as interoperable as possible on a global scale.

The complete documentation package below includes the Implementation and Best Practice Guide, as well as the enhanced Specification, the initial version of the Acknowledgement Specification, plus the latest version of the codelists, all in HTML format. The Specification and the Guide are extensively linked together for ease of use.

The Guide is updated regularly to incorporate new and improved guidance, usually alongside new issues of the Codelists. Any comments on the guidelines should be forwarded to – views are particularly invited from non-English language implementers, and on how well the best practices described meet the needs of different national book and e-book supply chains.

Note the HTML documentation requires a modern browser such as Chrome 9 or later, Firefox 4 or later (for versions prior to v38, the HTML Ruby add-on is required), Safari 5.1 or later, Internet Explorer 9 or later, or Edge 20 or later. Earlier browsers, including Internet Explorer 8, Firefox 3.x, Safari 5.0 and older browsers are not recommended.

Schema files

Three schema definition options are available for ONIX 3.0. The recommended options are the W3C (XSD) schema language or the ISO standard RelaxNG (RNG) schema language, which both allow effective validity checking. However, a legacy DTD option is also available. All three options support both reference names and short tags for ONIX data elements. Each is downloadable below as a zipped package. All three packages include the latest issue of the codelists, but with a DTD these can be used only to control attribute values, not coded data elements.

For ONIX 2.1, EDItEUR originally maintained copies of the latest versions of the DTDs and XSD schemas on its website for online lookup as part of the validation of an ONIX message. As part of the planned 'sunset' of ONIX 2.1 at the end of 2014, this online option was removed. For ONIX 3.0, an online option has never been offered, partly because of the greater variety of schema technologies which are now available, partly to avoid adding an extra dependency into validating applications, and partly because of the traffic loads which it would place on the website. For validation purposes, you should download whichever latest version of the schema option which you prefer, and store it locally. This means validations are much faster and potentially more reliable. EDItEUR strongly recommends validation of ONIX messages using the XSD or RNG schemas. The DTD is intended primarily for use with various XML tools such as the tagname converver below). For more detail, please see the XML technical notes which are part of the Release 3.0 documentation packages above.

Schema files (DTD, XSD and RNG) are also available for the initial release of the ONIX Acknowledgement message. This single zip file contains all versions, plus compatible codelist files.

Advanced schema files

An advanced XSD schema option is now available. This version of the ONIX schema implements many validation rules that cannot be implemented in the ordinary schema files. For example, the advanced schema is able to validate ISBN check digits. It validates certain rules around inclusion of countries and regions in <SalesRights>, and it checks the structure of any <Tax> information included with prices. The rules provide ‘friendly’ error messages. Optionally, it can also offer warnings when deprecated elements and codes are used.

Note: this advanced schema uses XSD 1.1, so is compatible with some XML tools (eg oXygen, XML Spy or others based on Saxon, Xerces or Raptor parsers), but is NOT compatible with simple (often free) XML tools that use libxml, including command line tools such as xmllint, or with Microsoft’s .NET XML framework (unless the Saxon parser for .NET has been installed).

Note 2: the advanced schema includes embedded versions of a handful of the ONIX codelists. It must therefore be updated upon each new release of the codelists themselves.

The advanced schema also contains embedded Schematron rules to provide the deprecation warnings. These are not enabled by default, and make no difference to the validation unless specifically enabled. Instructions on how to enable Schematron is included in the documentation.

Only limited documentation is available, and is included in the Zip package. It should be suitable for anyone who has experience of validation using the main XSD schema files with XSD 1.1-compatible tools.

The schema files is updated regularly to keep alignment with the main schema files and to add new validation rules.

ONIX 3.0 Tagname converter and Large file splitter

The ONIX for Books Release 3.0 Tagname converter is an XSLT script which enables ONIX reference names to be translated into short tags, and vice versa. The XSLT script and instructions for its use are available here. This script can only be used with ONIX files conforming to Release 3.0.

The Large file splitter allows single large ONIX files – which may contain thousands or tens of thousands of Product records – to be broken down into multiple smaller files. This can provide a simple way of avoiding Out of memory errors when processing large volumes of ONIX data. The XSLT script and instructions for use are available here. This XSLT works with any version of ONIX 2.1 or 3.0.

Codelists for Release 3.0

The latest Issue 38 of the ONIX Books Codelists includes all of the lists that are required for ONIX 3.0 and the new ONIX Acknowledgement message. Separate PDF and HTML documents provide an eye-readable list of all codes, old and new, which are used in ONIX 3.0. You can also download a notice which details the changes made since the previous issue of the codelists. Earlier change notices and the latest codelists in other file formats (including various machine-readable formats) can be downloaded from the Codelists page of the website.

Additional guidelines

These additional documents provide more detailed guidance on how to use ONIX 3.0 than it is possible to include in a formal specification:

Application Notes – a series of short informal papers on specific aspects of ONIX

(visual application notes are usually best viewed in combination with reading the textual document)

How to describe sets and series in ONIX 3.0
ONIX 3.0 offers a new, better and more flexible way to describe sets and series. These guidelines also include worked examples of different use cases.

How to describe digital products in ONIX 3.0
The growing variety of ways in which e-books and other digital products are now formatted, packaged and distributed means that their description is necessarily something of a moving target. The guidelines and examples provided here are in some respects provisional, and we will very much appreciate comments, either on the ONIX_implement listserv or through the "Contact us" facility on the website (towards the bottom of the page). We expect to extend and improve these guidelines from time to time.

How to send block updates in ONIX 3.0
The new ‘block’ structure in ONIX 3.0 allows updates to individual blocks to be sent without sending complete replacement records. New records, complete replacement records and block updates can in principle be freely mixed in a single ONIX message. These guidelines provide details of notification type codes and business rules for ONIX 3.0 block updates.

How to specify different terms of supply in different territories
These guidelines, which are applicable to ONIX 3.0, give details of how to specify agency terms in an ONIX message, using new code values added in March 2010. They will also be useful to senders who need to specify different terms in different supply territories even if they are not adopting an agency model.

Documentation in French

Pour les utilisateurs des pays francophones, il existe une traduction en français des ONIX Version 3.0, réalisée avec permission sous le contrôle du groupe ONIX France et avec le soutien du Cercle de la Librairie (Paris), disponible sur le site:

Notez que cela n'inclut pas les dernières modifications qui ont été faites en Octobre 2010 ou Janvier 2012.

Documentation in Spanish

A complete translation of the ONIX 3.0.3 specification and up-to-date codelists is available from, translation by Federación de Gremios de Editores de España.

Documentation in German

An initial ‘best practice’ document for the German-speaking market.

Documentation in Arabic

An Arabic version of the main parts of the ONIX 3.0 Specification translated with permission by El Kotob and ibiidi. It is available from

Documentation in Portuguese (partial)

For use in Lusophone countries, a translation of the ONIX 3.0.2 Specification and key codelists in Brazilian Portuguese, translated with permission by Bibliomundi. Note that it is not complete – only those parts most relevant for e-book description and trading are included.

Other best practice documentation

BISG / BookNet Canada Best Practices for Product Metadata (revised June 2015), covers ONIX 3.0 and 2.1 usage with specific reference to the United States and Canada)

Terms & Conditions  |  Privacy Policy  |  Cookie Policy