You use the unpack200 command to transform a packed file into a JAR file for web deployment.



pack200 and unpack200 have been deprecated and might be removed in a future JDK release.

unpack200 [ options ] input-file JAR-file

The command-line options. See Options for the unpack200 Command.


Name of the input file, which can be a pack200 gzip file or a pack200 file. The input can also be a JAR file produced by pack200 with an effort of 0, in which case the contents of the input file are copied to the output JAR file with the pack200 marker.


Name of the output JAR file.


The unpack200 command is a native implementation that transforms a packed file produced by pack200 into a JAR file for web deployment. An example of typical usage follows. In the following example, the myarchive.jar file is produced from myarchive.pack.gz with the default unpack200 command settings.

unpack200 myarchive.pack.gz myarchive.jar

Options for the unpack200 Command

-Hvalue or --deflate-hint=value

Sets deflation to be true, false, or keep on all entries within a JAR file. The default mode is keep. If the value is true or false, then the --deflate=hint option overrides the default behavior and sets the deflation mode on all entries within the output JAR file.

-r or --remove-pack-file

Removes the input pack file.

-v or --verbose

Displays minimal messages. Multiple specifications of this option displays more verbose messages.

-q or --quiet

Specifies quiet operation with no messages.

-l filename or --log-file=filename

Specifies a log file where output messages are logged.

-?, -h, or --help

Prints help information about the unpack200 command.

-V or --version

Prints version information about the unpack200 command.


Passes option to the Java Virtual Machine, where option is one of the options described on the reference page for the Java application launcher. For example, -J-Xms48m sets the startup memory to 48 MB.


This command shouldn’t be confused with the unpack command. They’re distinctly separate products.

The Java SE API Specification provided with the JDK is the superseding authority in case of discrepancies.

Exit Status

The following exit values are returned: 0 for successful completion, and a value that is greater than 0 when an error occurred.