JHOVE (Harvard Object Validation Environment)

Revision as of 14:08, 17 August 2021 by TerjePD (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.
Input Formats:PREMIS (Preservation Metadata Implementation Strategies)
Output Formats:PREMIS (Preservation Metadata Implementation Strategies)
Function:Encryption Detection,File Format Identification,Metadata Extraction,Validation
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-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
2022-04-21 14:09:33
[tag:github.com,2008:Repository/17627031/v1.27.77 v1.27.77]
by anjackson

Activity Feed

Below the last 5 activity feeds:

2020-03-26 08:29:30
[tag:github.com,2008:Grit::Commit/bd9b37f0dd10ff2a5f07c1be6cbf345931365447 Merge pull request #568 from openpreserve/integration]
by carlwilson https://github.com/carlwilson
2020-03-26 02:12:34
[tag:github.com,2008:Grit::Commit/de1f5fd8427a0e8365b44ec095e34bf4d2cde8ad Merge pull request #567 from openpreserve/rel/1.24]
by carlwilson https://github.com/carlwilson
2020-03-26 01:41:04
[tag:github.com,2008:Grit::Commit/453cc71fbba831234baa3f700cf0702442d600f3 FIX - missing links in RELEASENOTES.md]
by carlwilson https://github.com/carlwilson
2020-02-27 12:06:46
[tag:github.com,2008:Grit::Commit/9ed8e78bf6c2c8b392aaa85ca734ea3e716c3ce2 REL: JHOVE v1.24]
by carlwilson https://github.com/carlwilson
2020-02-10 12:52:47
[tag:github.com,2008:Grit::Commit/311cf39689ced2bb7ab6297f53a55c3c1eea657d Merge pull request #562 from openpreserve/fix/gui-property-issues]
by carlwilson https://github.com/carlwilson

About Formats

JHOVE do only read the format itself, not the spesification as such