Caesium is an image compression software that helps you store, send and share digital pictures, supporting JPG, PNG and WebP formats.
You can quickly reduce the file size (and resolution, if you want) by preserving the overall quality of the image.
- Windows: 10 (build 1809 or later) (use old version v1.x for Windows 7 or 8 - link)
- MacOS: 10.15+
- Linux: tested on Ubuntu 22.04 and Manjaro
Note: only 64bit versions are supported
Head to the releases' page for the available downloads.
- Windows: installer and portable versions are available
- MacOS: DMG package
- Linux: compile the source code yourself, or download binary from third-party build
Note that the main branch can contain unstable code. If you want to build on a stable version, use a tagged version.
Please open an issue.
- Rust: required to compile libcaesium. Make sure you have
cargo
executable on you$PATH
- Qt6 SDK: binaries are built on 6.5.1 (open source)
- libssh: macOS only
- Sparkle: macOS only. Only version 1.27.1 is supported.
You need to set up Sparkle in order to compile the project
brew install --cask https://raw.githubusercontent.com/Homebrew/homebrew-cask/c6dfe6baf1639998ba1707f68668cf8fa97bac9d/Casks/sparkle.rb
sudo cp -R /usr/local/Caskroom/sparkle/1.27.1/Sparkle.framework /Library/Frameworks/Sparkle.framework
You need to configure CMake first and the command is slightly different for all the platforms: Change the path in variables with the correct directories of the requirements.
cmake -B build_dir -DCMAKE_PREFIX_PATH=/path/to/Qt/version -G "MinGW Makefiles"
cmake -B build_dir -DCMAKE_PREFIX_PATH=/path/to/Qt/version/macos -DLIBSSH_INCLUDE_DIR=/libssh/dir/include -DSPARKLE_INCLUDE_DIR=/usr/local/Caskroom/sparkle/1.27.1/Sparkle.framework/Versions/Current/Headers
Make sure you have all the requirements installed with you own package manager
cmake -B build_dir -DCMAKE_PREFIX_PATH=/path/to/Qt/version/gcc_64
Then you can build with
cmake --build build_dir --config Release --target caesium_image_compressor
The 1.0 version of Caesium had a lot of community made translations, but this 2.0 release has a whole new set of strings and no old translations can be used anymore.
Caesium 2.0 is currently available in:
- ar_EG
- de_DE
- el_GR
- en_US
- es_ES
- fr_FR
- hi_IN
- id_ID
- it_IT
- ja_JP
- pl_PL
- pt_BR
- ru_RU
- sk_SK
- tr_TR
- zh_CN
- zh_TW
You can help translate by opening the resources/i18n/caesium_en_US.ts
with QtLinguist or any XML editor. Rename it to your language (e.g. caesium_it_IT.ts
) and translate all the sentences. Then you can start a pull request with your translated file.
See this pull request as an example.
Thanks to all the people who contributed.