There was a time when EXE packers, protectors and compressors were very popular with the Windows applications development community. These tools were used for reducing the file size of EXE files, for adding some extra features to them and for protecting them from being debugged or modified. That era is long gone but some of the tools of the time like UPX (Ultimate Packer for Executables) continues to get updated every now and then. Just like before it is still free and is still a command line interface tool.
If you are not a big fan of CLI tools, then you can use a UPX front-end called FUPX for using UPX on your Windows PC. FUPX is really a very impressive front-end for UPX and even adds some really nice features such as the ability to scan the EXE files with VirusTotal online.
Unlike some other similar tools, you do not have to download UPX yourself. Actually FUPX comes with many different versions of UPX binaries and both 32-bit and 64-bit of the UPX. From within FUPX, you can choose which version of UPX you would like to use for compressing the EXE files.
You can pack EXE files simply by adding them to the list in FUPX and then clicking on the Compress button. This will use the default UPX options. But you can also choose compression level from the user interface. Other options include brute force and ultra-brute force for forcibly compressing the EXE files with the best possible compression.
Compressing EXE files with UPX makes them smaller for sure, but sometimes they fail to work in the way they are intended. You have to experiment with various options to know which of the UPX options and versions work best for a particular EXE file. You can also attempt to decompress EXE files that were previously packed by UPX.
We tried compressing GTA Vice City executable files with FUPX and it failed without giving any reason. Then we compiled a simple C++ program using GCC 5.1 and it was compressed successfully.
You can download FUPX from http://www.pazera-software.com/products/free-upx/.