The program allows compression a number of executable files for different operating systems, including Portable Executable (PE) files (the most of EXE, DLL, OCX, CPL files used on Microsoft Windows systems), ELF executables (used on Unix, Linux, Solaris, FreeBSD and other operating systems), ARM executables and others. After packing (compressing) executable file by the application the resulting file remains executable and can be used in the same way as the original file. Free UPX can pack 32 and 64 bit Windows executable files produced according to Microsoft Portable Executable and COFF Specification (EXE, DLL, OCX, BPL, CPL, AX and other), but support for 64 bit files is currently declared as experimental. .NET executables are not supported.