Skip to content
SPECIFICTION
Get listed

losslessly

github.com

WindowsmacOSLinux
Visit github.com
Spec score 6.9 #85 of 85 in Image Compression Software

Spec sheet

Purpose
losslessly is a command-line image optimizer that recompresses PNG, JPEG, GIF and WebP files and minifies SVG markup.Read 4 Oct 2026 · github.com
Product
losslessly is a command-line tool that recompresses PNG, JPEG, GIF and WebP files and minifies SVG markup.Read 12 Oct 2026 · github.com
License
The repository is released under the MIT license.Read 12 Oct 2026 · github.com
Maker
The GitHub profile identifies the maker as Kamil Doroszewicz and lists Poland as the location.Read 4 Oct 2026 · github.com
Automation
The --check option writes nothing and exits with code 1 if any file could shrink, enabling CI checks.Read 4 Oct 2026 · github.com
CI and hooks
A --check mode can fail CI when files could shrink, and the README shows integration with lefthook pre-commit hooks.Read 12 Oct 2026 · github.com
Data handling
The README describes processing local files in place and replacing a file only when the result is smaller.Read 4 Oct 2026 · github.com
Formats
It searches directories recursively for PNG, APNG, JPEG, GIF, WebP and SVG files, with extensions in either case.Read 12 Oct 2026 · github.com
GIF limit
It leaves a GIF alone when its frames exceed the supported palette color count or when a frame turns opaque pixels transparent again.Read 12 Oct 2026 · github.com
Image integrity
PNG, JPEG and WebP output decodes to the same pixels as the input, while GIF output preserves rendered frames and timing.Read 4 Oct 2026 · github.com
In-place optimization
It replaces a file only when the optimized result is smaller and otherwise leaves it byte-for-byte untouched.Read 12 Oct 2026 · github.com
Installation
Prebuilt binaries are offered for macOS and Linux on x86_64 and arm64, and Windows on x86_64; it can also be installed with Cargo.Read 12 Oct 2026 · github.com
Integrity checks
It checks file magic bytes against extensions and reports decoding errors without changing files it cannot process.Read 12 Oct 2026 · github.com
Lossless behavior
PNG, JPEG and WebP output decodes to the same pixels as input, while GIF output preserves rendered frames and timing.Read 12 Oct 2026 · github.com
Metadata
EXIF, ICC profiles, XMP and comments are preserved unless the --strip option is used.Read 12 Oct 2026 · github.com
Notable limits
It does not do lossy compression or format conversion, and AVIF and JPEG XL are not on its roadmap.Read 4 Oct 2026 · github.com
Safety
Writes use a temporary file in the same directory and rename it over the original, so the original remains if the process dies mid-write.Read 12 Oct 2026 · github.com
Scope
Lossy compression and format conversion are out of scope, and AVIF and JPEG XL are not on the roadmap.Read 12 Oct 2026 · github.com
Source install
Source installation requires a Rust toolchain and C compiler.Read 4 Oct 2026 · github.com
SVG precision
SVG output uses svgo's default numeric precision, so it does not have a bit-level guarantee.Read 12 Oct 2026 · github.com
Tuning
PNG compression supports effort levels 0–6, and the optional Zopfli mode is slower but produces somewhat smaller files on most images.Read 12 Oct 2026 · github.com
WebP limit
It skips lossy and animated WebP files; only lossless still images are re-encoded.Read 12 Oct 2026 · github.com

Where Specifiction places it

Alternatives to losslesslyAll alternatives →