UPX () is a free (open source) packer for executable programs. UPX packed applications take up far less space on disk, in exchange for slightly higher memory use on startup. UPX can also pack Win32 DLLS.
For more information on UPX, see
For more specific technical information on UPX options, see the 'upx.doc' file that comes with UPX.
UPX can pack executable files, Win32 DLLs and screensavers.
If you do not specify an output file, the compressed executable will be written over the original file. You cannot compressed an already-compressed executable.
The name and location of the resulting compressed file.
Specify this option if previous output files should be deleted.
Specify the level of output from the UPX utility.
Reports all information possible throughout the packing of the binary.
Reports the default level of information about the packing process.
No warnings will be reported during the packing process. Not recommended as issues arising in the packing process will not be visible in build logs.
No errors will be reported during the packing process. Not recommended as issues arising in the the packing process will not be visible in the build logs.
Nothing will be reported during the packing process. Not recommended. The reason? Sorry, that is suppressed.
Compression
Compression levels range from 1 (fastest) to 9 (slower, better) and then "best" (maximum compression.)
UPX currently supports two compression algorithms, NRV2B and NRV2D. UPX's creators recommend trying both and seeing which gives better results for your application.
Specify the amount of memory which UPX will use for packing the executable.
Higher numbers will use more memory to provide faster results and (slightly) better compression. Setting the value to 999999 will use as much available memory as required for the best results.
Equivalent of (--compress-exports=0/1)
If checked, the export section of the Win32/PE executable will be compressed. This gives a good saving in size, but does not work with all applications. See the UPX documentation for more details.
Equivalent of (--compress-resources=0/1 and --compress-icons=0/1/2)
UPX can be set to compress application resources, including icons. See the UPX documentation for more details.
Equivalent of (--strip-relocs=0/1)
If checked, UPX will strip the relocation records of executables. See the UPX documentation for more details.
Equivalent of (--force)
If this option is checked, it forces UPX to compress the executable even if it finds unknown data in the executable header fields. This may render your application unusable. See the UPX documentation for more details.
Equivalent of (--all-filters)
If this option is checked, it will compress the program several times using every available pre-processing filter.