A .jar file is a Java ARchive: a ZIP file following a specific internal convention that bundles compiled .class files, resources, and a manifest into one deployable unit. Any ZIP tool can look inside, but the Java runtime treats it as a first-class code package.
Private for supported formats — processed in your browser
Convert supported files
Runs on your device
+
Drop JAR files here
Batch files can each use a different output. Nothing uploads for local conversions.
Working inputs include camera RAW, browser-local audio/video, PDF, CBZ/CBR comics, office documents, ebooks, markup, 3D models, structured text, images, and archives.
Sun Microsystems introduced JAR in 1996 during Java's first wave, chiefly so browser applets could arrive in one compressed HTTP request instead of class-by-class downloads. The format has long outlived applets and remains how Java libraries and applications ship, from Maven Central artifacts to desktop apps.
How JAR works
A standard ZIP container; the defining addition is META-INF/MANIFEST.MF with attributes such as Main-Class and Class-Path.
When Main-Class is set, java -jar app.jar launches the archive directly.
Entries can be cryptographically signed via per-file digests in the manifest plus signature blocks under META-INF/.
Multi-release JARs (Java 9+) carry version-specific class files under META-INF/versions/.
When to use JAR
Distributing Java libraries as Maven and Gradle dependencies.
Shipping runnable desktop and server applications.
Plugin ecosystems — Minecraft mods and IDE extensions are JARs.
Inputs to the Android build toolchain.
Strengths and limitations
Strengths
Whole applications deploy as a single file.
Plain ZIP inside, inspectable with any archiver.
Signing supports integrity and publisher verification.
Platform-independent by the nature of Java bytecode.
Limitations
Executing one requires a Java runtime on the machine.
Unsigned JARs downloaded from the internet are a classic malware vector.
Class-file version mismatches surface as cryptic runtime errors.
Compatibility
The JDK's jar and java tools handle the format on every platform Java supports, and any ZIP utility opens one as an ordinary archive. Operating systems will not execute a .jar without Java installed, which is the main friction users hit.
The manifest carries version, vendor, and build attributes, while ordinary ZIP timestamps apply to every entry — a reproducible-build wrinkle that Maven plugins normalize.