The JPEG 2000 standard and its JP2 still image format are steadily gaining popularity in the archival community. An increasing number of cultural heritage institutions are now using JP2 as the preferred format for the storage of preservation masters and access copies within large-scale digitisation programs. If JP2 is used as a preservation format, it is vital to ensure that images are not damaged, and that they are compliant with the format’s specifications. In addition, institutions may have additional requirements on e.g. specific encoding parameters, colour spaces, grid resolution or embedded metadata. This requires reliable software tools for format compliance validation and feature extraction. An investigation by the National Library of the Netherlands (KB) in 2011 showed that existing tools were not well suited to these tasks: the JPEG 2000 validation module of JHOVE only performed a superficial check of the general structure of a JP2 image, with the result that even severely damaged images were judged to be 'valid' by this tool. Existing feature extraction tools turned out to provide only partial coverage of features that are relevant for image preservation.

These findings prompted the development of jpylyzer, a thorough JP2 validator and feature extractor. The aim was to create a small, scalable and performant tool that does one task (validation) really well; as such it closely follows the specification that is part of the JPEG 2000 standard. The feature extraction functionality is largely a by-product of the validation process. Jpylyzer has a standard command line interface that follows general conventions of Unix tools. The provision of Debian packages and Windows executables makes the installation and deployment as simple as possible. The tool is extensively documented by a User Manual that covers all validation errors and reportables. Jpylyzer is released under a permissive (GPL) open-source license; also an effort was made to keep its source code easy to read and understand.


The software was used successfully by the KB during the migration of a 146 TB TIFF collection to JP2. Jpylyzer was used here to verify the integrity and completeness of the created images, and to check for compliance to a technical profile. The British Library used jpylyzer to detect corrupted images in a collection of 2 million (45 TB) JP2s. Other institutions such as the Wellcome Library and The National Archives are using jpylyzer as part of their quality control workflow, and the Royal Observatory of Belgium uses jpylyzer to validate solar and heliospheric image files within the 'Space Weather JHelioviewer' project. Two commercial software vendors have developed plugins that integrate jpylyzer's functionality into their products, and jpylyzer has been adopted by the Debian / Ubuntu community as well. The high adoption rate by such different communities over a relatively short time span indicates that jpylyzer meets the needs of a large group of users. The involvement of these different communities has resulted in favourable conditions for jpylyzer's continued development and support, well beyond the project in which it was originally developed.

Scroll to top