JHOVE (Harvard Object Validation Environment)

Revision as of 09:18, 23 April 2021 by JvdNat (talk | contribs)
Jump to navigation Jump to search

JHOVE (Harvard Object Validation Environment)
JHOVE provides functions to perform format-specific identification, validation, and characterization of digital objects.
License:GNU Lesser General Public License (LGPL)
Platforms:JHOVE should be usable on any UNIX, Windows, or OS X platform with an appropriate J2SE installation. It should run on any operating system that supports Java 1.5 and has a directory-based file system.
Function:Validation,Metadata Extraction,File Format Identification,Encryption Detection
Appears in COW:Digital archiving workflow (high-level)


JHOVE allows data curators to verify the file formats of the digital objects in their repositories. The analysis consists of three functions: identification, which determines the object’s format; validation, which checks whether the object conforms to its format’s technical norms; and characterization, which gives a report of the object’s salient properties. Detailed information can be found in the DCC JHOVE Case Study.


Open Preservation Foundation

Licensing and cost

GNU Lesser General Public License – free.

Platform and interoperability

JHOVE is implemented using Java 2 Standard Edition 5.0 (JDK 1.5). It was designed incorporating an API, which can be used on its own to create compatible tools and applications. Developers wishing to recompile the JHOVE source code will require Apache Ant.

Functional notes

JHOVE includes modules for the following 12 format types: AIFF; ASCII encoded text; GIF; HTML; JPEG; JPEG2000; PDF; TIFF; UTF-8 encoded text; WAVE; XML; and arbitrary bytestreams. Three of these formats (AIFF, GIF and JPEG) will not be supported by JHOVE2, while a further two (JPEG2000 and PDF) are not currently supported by JHOVE2 but may be in future. HTML is not directly supported by JHOVE2 but can be processed either as SGML or XML. A number of limitations have come to light since JHOVE was first released, many of which are addressed with the JHOVE2 project. Currently, identification and validation are linked, with successful identification dependent on the validation process.  This means that any trivial error in the validation process can result in an object failing to be identified. In addition, JHOVE cannot analyze objects that are comprised of multiple file formats. Developers have also remarked that working with the API is difficult.

Documentation and user support

The JHOVE website includes an excellent introduction and tutorial. It also provides detailed specifications for its modules. The SourceForge code repository includes a forum, which seems to be used only sporadically. It also hosts a mailing list and the usual facilities for filing bug reports, feature requests and support requests.


While installation and configuration can be complex, the Swing-based GUI allows for relatively easy use. JHOVE can also be invoked with a command-line interface.

Expertise required

Installation requires solid knowledge of command line interfaces and experience with manually editing configuration files. Familiarity with metadata outputs is also essential.

Standards compliance

JHOVE was designed to integrate into the Ingest function of an OAIS. The validation process compares objects’ formats against ISO standards.

Influence and take-up

The SourceForge website reports approximately 11,400 downloads from the release of JHOVE 1.1 from 2008 to July 2013. Use of JHOVE is widespread in the digital preservation community. JHOVE is integrated within the Planets Testbed and Plato.

User Experiences

Development Activity

While much of its development effort has been diverted to JHOVE2, JHOVE is still actively maintained and developed by the OPF [1] as it supports some common formats that JHOVE2 does not.

All development activity is visible on GitHub: http://github.com/openpreserve/jhove/commits

Release Feed

Below the last 3 release feeds:

2022-06-09 13:37:24
[tag:github.com,2008:Repository/17627031/v1.26.0 JHOVE 1.26.0]
by carlwilson
2022-04-22 14:18:12
[tag:github.com,2008:Repository/17627031/v1.26.0-RC2 v1.26.0-RC2]
by carlwilson
2022-04-21 22:35:51
[tag:github.com,2008:Repository/17627031/v1.27.78 v1.27.78]
by anjackson

Activity Feed

Below the last 5 activity feeds:

2022-06-16 11:47:44
[tag:github.com,2008:Grit::Commit/b18b2a850010a2487b11e88021cf96c25dd36f41 Merge pull request #756 from openpreserve/integration]
by carlwilson https://github.com/carlwilson
2022-06-15 12:32:44
[tag:github.com,2008:Grit::Commit/aff18e20e0e327a9dfcc813aeb3efd90971c5cdc Merge branch 'master' into integration]
by carlwilson https://github.com/carlwilson
2022-06-15 12:30:58
[tag:github.com,2008:Grit::Commit/749a15545b598355bf7a6887516a91367a827000 Merge pull request #755 from openpreserve/rel/1.26]
by carlwilson https://github.com/carlwilson
2022-06-09 12:59:55
[tag:github.com,2008:Grit::Commit/826098d37e2258b3ae8616777a36a8d6c26d412a REL: JHOVE v1.26]
by carlwilson https://github.com/carlwilson
2022-06-09 12:51:41
[tag:github.com,2008:Grit::Commit/3ff1946791872c8261b26177a17a8ba5f977e93a FIX: Add English language files.]
by carlwilson https://github.com/carlwilson