Skip to main content
Service phase: Beta

This service is still in development. Give us your feedback or view this page on the current PRONOM service.

Format

Java Archive Format

Summary

Name
Java Archive Format
Identifiers
  • MIME: application/java-archive
  • Apple Uniform Type Identifier: com.sun.java-archive
  • PUID: x-fmt/412
Format type
Aggregate
Description
JAR stands for Java ARchive. It's is based on the ZIP file format (x-fmt/26) and is used for aggregating many files into one, and reducing file size. One of the original purposes of JAR files was to bundle multiple Java applets and their requisite components (.class files, images and sounds) into a JAR file, which could then be downloaded to a browser in a single HTTP transaction; these could then be run over the web. JAR files can also be "executable" both on Linux, via a command such as `java -jar <jar-name>` and Windows, where the file-format extension '*.jar' may be associated with the Java Runtime Environment. As executable code can potentially be harmful, e.g. used in the distribution of malware, the JAR supports digital signing so that the source of the items in a JAR file can be verified. JAR consists of a zip archive, as defined by PKWARE, containing a manifest file and potentially signature files, as defined in the JAR.
Note
https://docs.oracle.com/javase/7/docs/technotes/guides/jar/jarGuide.html https://docs.oracle.com/javase/7/docs/technotes/guides/jar/index.html Specification: https://docs.oracle.com/javase/7/docs/technotes/guides/jar/jarGuide.html
File extensions
jar
Source
Digital Preservation Department / The National Archives

Relationships

Has lower priority than
Has priority over

Internal signatures

JAR format

Note
Local file header + manifest + end of central directory. Signature consists of two byte sequences, a BOF sequence and EOF sequence. BOF character sequence: PK..*META-INF/MANIFEST.MF, EOF character sequence: PK..

Byte sequences

Min Frag Length
Absolute from BOF
Offset
0
Max offset
None
Byte Sequence
504B0304*4D4554412D494E462F4D414E49464553542E4D46
Endianness
None
Min Frag Length
Absolute from EOF
Offset
18
Max offset
65531
Byte Sequence
504B0506
Endianness
None

Container signatures

Type: ZIP

10000 - Java Archive Format

File path
META-INF/MANIFEST.MF

Byte sequence reference

BOFoffset

Sub sequences
Min Frag Length
Position
1
Sub sequence min offset
0
Sub sequence max offset
0
Sequence
'Manifest-Version:'

Changelog

  • Updated in V118

    Release date
    30 April 2024

    Java Archive Format: Description created and documentation links added as part of PRONOM Research Week 2023. Submitted by Ross Spencer.

  • Updated in V66

    Release date
    18 December 2012

    Java Archive Format: Improved signature with assistance from Ross Spencer.

  • Updated in V60

    Release date
    11 June 2012

    Java Archive Format: Container signature statement added to record notes.

    OpenDocument Spreadsheet 1.1: Container signature statement added to record notes.

  • Updated in V38

    Release date
    1 August 2010

    Java Archive Format: Signature updated as part of DROID 5.0 research to improve efficiency