.JAR

JAR File

Java Archive
Ask a question
QUICK ANSWER

A JAR file is a Java Archive - a ZIP bundle of compiled Java bytecode (.class files), resources, and a manifest. To run an executable JAR you need Java installed (OpenJDK/Temurin is free), then either double-click it or run java -jar app.jar in a terminal. To just look inside, rename it to .zip or open it with 7-Zip.

Developer: Sun Microsystems (now Oracle); JAR spec part of the Java Platform Category: Executable Files Open standard MIME: application/java-archive
OPENS ON Windows macOS Linux
Related: .APK · .EXE · .VBS · .EX4

On this page

19k+ extensions indexed
Last reviewed Jul 24, 2026

Not sure what your file is?

Drop any file into our identifier - we read just the first bytes to name the format.

Identify a file

What is the JAR file format?

Files with the .jar extension are ZIP archives used by the Java platform to bundle compiled .class files, metadata, and resources - such as images, text files, and configuration data - into a single portable package. The format was introduced with JDK 1.1 and remains the primary distribution unit for Java libraries and applications.

A .jar file can function as a standalone executable when its META-INF/MANIFEST.MF file specifies a Main-Class entry. When launched with java -jar file.jar, the JVM reads this attribute and starts the designated class, letting developers ship a complete application as a single file that runs on any system with a compatible runtime installed. Each individual entry inside the archive can also be compressed independently using the DEFLATE algorithm, which reduces package size while still allowing fast random access to individual files.

Among the metadata a .jar carries, the META-INF/MANIFEST.MF file is the most important: it defines how the package is used, lists classpath dependencies via Class-Path, and can contain security attributes. Digital signatures are stored as separate .SF and .DSA/.RSA files inside META-INF/, not in the manifest itself. Java 9 introduced two further features: Multi-Release JARs place version-specific class overrides under META-INF/versions/N/, and modular JARs include a module-info.class at the archive root.

To browse or extract the contents of a .jar file, you can use any standard ZIP decompression tool and perform the same actions as with a normal archive - renaming it to .zip works equally well. You can also use the jar command included with the JDK:

  • List contents: jar -tf file.jar
  • Extract: jar -xf file.jar
  • Run (if executable): java -jar file.jar

Related server-side archive formats include .war files for web applications and .ear files for enterprise applications, both built on the same ZIP-based structure.

Security & safety

RISK: MEDIUM

A runnable JAR is a real program: with Java installed, 'java -jar' executes whatever code it contains, with your user's permissions - so an unknown JAR can carry malware (Java RATs and trojans are a known family). Treat a downloaded JAR like any .exe: run only ones from a source you trust, and be wary of unsolicited .jar attachments. Merely inspecting it as a ZIP (7-Zip) is safe; running it is the risk. A JAR can be code-signed, but a signature only proves origin, not safety.

Format details

in a nutshell
FULL NAMEJava Archive
DEVELOPERSun Microsystems (now Oracle); JAR spec part of the Java Platformsince 1996-1997 (JDK 1.1)
MIME TYPEapplication/java-archive
TYPEZIP archive of Java class files + resources + manifest
STANDARDOpen · royalty-free
MAGIC BYTES · FILE SIGNATURE
OFFSET
00010203
HEX
504B0304
ASCII
PK··
A JAR is a ZIP archive, so it starts with the "PK" header like any ZIP. What makes it a JAR is the internal META-INF/MANIFEST.MF and the compiled .class files. An executable JAR's manifest names a Main-Class. Rename to .zip to inspect.

Programs that open JAR files

Windows4 apps
7-Zip Open-source Right-click > 7-Zip > Open archive to inspect/extract the JAR (it's a ZIP) - does NOT run it.
Java (OpenJDK - Eclipse Temurin / Adoptium) Open-source Install Temurin JRE/JDK, then run 'java -jar app.jar' in a terminal, or double-click if .jar is associated with the Java launcher (javaw).
Oracle Java (java.com) Free Legacy consumer Java; double-click a runnable JAR. Prefer OpenJDK/Temurin for new installs.
FreeJ2ME / KEmulator (J2ME games) Open-source ONLY for old phone MIDlet JARs: load the .jar in a J2ME emulator - desktop Java cannot run feature-phone MIDlets.
macOS2 apps
Java (OpenJDK - Eclipse Temurin) Open-source Install Temurin, then 'java -jar app.jar' in Terminal (double-click is often blocked by Gatekeeper; right-click > Open or use the terminal).
The Unarchiver / Archive Utility Free Inspect a JAR's contents (it's a ZIP) without running it.
Linux2 apps
Eclipse IDE Open-source For developers: import/inspect JARs as project libraries or run main classes.
Java (OpenJDK) Open-source Install via package manager (e.g. 'apt install default-jre') or Temurin, then 'java -jar app.jar'.

Technical details

deep spec
Container formatZIP archive - shares the `PK` (`50 4B 03 04`) magic bytes at offset 0 with all standard ZIP files
MIME type`application/java-archive`
Required internal file`META-INF/MANIFEST.MF` - must be present; controls metadata, classpath, and executable behaviour
Executable JAR trigger`Main-Class` attribute in `MANIFEST.MF`; launched with `java -jar file.jar`
Payload bytecode formatCompiled `.class` files containing JVM bytecode - platform-independent, not native machine code
Per-entry compressionDEFLATE algorithm (same as ZIP); individual entries may also be stored uncompressed for faster random access
Digital signatures`.SF` signature file paired with a `.DSA` or `.RSA` key file, both stored inside `META-INF/`
Classpath declaration`Class-Path` manifest attribute lists space-separated dependent JARs for runtime resolution
Multi-Release JAR (MR-JAR)Java 9+; version-specific class overrides placed under `META-INF/versions/N/` so newer JVMs pick the right bytecode
Module descriptor (JPMS)A modular JAR includes `module-info.class` at the archive root, enabling the Java 9+ module system
Package sealing`Sealed: true` in the manifest prevents other JARs from injecting classes into the same package at runtime
Uber/Fat JARSelf-contained deployment variant that embeds all dependency JARs; requires a custom class loader such as Spring Boot Loader
Released1996-1997 (JDK 1.1)
Open standardYes · royalty-free
Specificationdocs.oracle.com

JAR conversions

Community Q&A

asked by users
Ask a quick question
Get help from people who work with JAR files. Be specific - include your system and software version.
No account needed · answers usually within a day

No questions yet - be the first to ask about JAR files.

Frequently asked questions

How do I open (run) a JAR file?
Install Java (OpenJDK/Temurin is free), then run 'java -jar app.jar' in a terminal, or double-click it if .jar is associated with the Java launcher. To just look inside, rename it to .zip or open with 7-Zip.
Why won't my JAR file run when I double-click it?
Usually Java isn't installed, or the .jar file is associated with an archiver (WinRAR/7-Zip) instead of the Java launcher. Reassign it to javaw, or run 'java -jar app.jar' from a terminal. If it's a library JAR (no Main-Class) it isn't meant to run.
Do I need Java to open a JAR file?
To RUN it, yes - a JAR needs the Java runtime. To merely view its contents, no: it's a ZIP, so any archiver opens it.
Can I convert a JAR to an EXE?
You can wrap it in a Windows launcher with jpackage (JDK) or Launch4j, but the result still needs (or bundles) a Java runtime - there's no way to compile a JAR into a standalone native EXE without a JVM.
Can I convert a JAR to an APK to run on Android?
No. Android apps use a different bytecode and framework; old 'JAR to APK' converters didn't really work. Find an Android version of the program instead.
How do I play an old phone (J2ME) JAR game on PC?
Desktop Java can't run feature-phone MIDlets. Use a J2ME emulator such as FreeJ2ME or KEmulator and load the .jar (with its .jad if present).

References

1Oracle - JAR File Specificationdocs.oracle.com
2Oracle - jpackage tool (native packaging)docs.oracle.com

Keep exploring

across the database

Top extensions this week

1.AQQAQQ Instant Messenger File
2.CRDOWNLOADChrome Partial Download File
3.EXEWindows Executable (Portable Executable)
4.PARTPartial Download File
5.BINCD/DVD Disc Image (BIN/CUE)
6.DATProgram Data File (generic)
7.RPMSGRestricted Permission Message
8.MDMarkdown Document
9.TXTPlain Text File
10.NOMEDIAAndroid No-Media Marker File

Related extensions

.APKAndroid Package
.EXEWindows Executable (Portable Executable)
.VBSVBScript file (Visual Basic Script)
.EX4MetaTrader 4 Compiled Program (Expert Advisor / Indicator / Script)
.APPXMicrosoft Windows App Package (AppX)
.AIRAdobe AIR Application Installer Package

Free file tools

An in-browser file identifier and image converter - everything runs on your device.

Open the toolbox

Browse file extensions A-Z