Skip to content


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time


Appveyor Build GitHub release GitHub license

Optimise images for web

Convert image files for web using google's guetzli algorithm. This app is built on electron with help from electron-forge. Also uses JQuery and Material Design Lite for the user interface.


When do I use it?

The good

Guitzli uses guetzli to compress your images to a fraction of their original size without visual quality loss. This is due to a really interesting human-visual-comparison algorithm developed by google. You're not convinced? Download the before (8.62 MB) and after (1.94 MB) photos from the above screenshot and compare them in as much detail as you want!

The bad

Guetzli conversion is slow! Because of this, there are only a handful of web-related cases where guitzli is valuable:

  1. You are serving an image with limited bandwith (e.g., self-hosting).
  2. You are serving an image many times (e.g., a landing page).
  3. You are adamant about having the absolute smallest file size.
  4. Any combination of the above.

Here you can find some more information on using guetzli from the people at google.

How to install


Download the latest version for your system from Releases. Only recent versions of windows are supported at this time. I'll try to support linux and osx as soon as possible! Install directory will be %LOCALAPPDATA%\guitzli. From there you can create a desktop shortcut should you so desire.

Debian/Ubuntu Linux

# Optional cd to downloads
cd ~/Downloads
wget -O guitzli.deb ""
sudo dpkg -i guitzli.deb

How to build from source

  1. Install Node.js 6.10.2.

  2. On linux, also install libgconf-2-4.

  3. Clone, install, and start.

git clone
cd guitzli
npm install
npm start

How to package and create binaries

It's simple: npm run make for to generate 32-bit and 64 bit binaries for your current architecture. You can also build only one architecture: npm run make32 or npm run make64.


sooner: Proper packaging. Mac & Linux support.

later: Multi-image support. (batch processing & multi-core)