Skip to content

vankesteren/guitzli

Repository files navigation

Guitzli

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.

screenshot

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

Windows

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 "https://github.com/vankesteren/guitzli/releases/download/V0.3.0/guitzli_linux_64.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 https://github.com/vankesteren/guitzli.git
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.

To-do

sooner: Proper packaging. Mac & Linux support.

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