Skip to content
Go version of WebP Server. A tool that will serve your JPG/PNGs as WebP format with compression, on-the-fly.
Go Shell Dockerfile Batchfile Makefile
Branch: master
Clone or download

Documentation | Website

This is a Server based on Golang, which allows you to serve WebP images on the fly. It will convert jpg,jpeg,png files by default, this can be customized by editing the config.json..

  • currently supported image format: JPEG, PNG, BMP, GIF(static image for now)

e.g When you visit,it will serve as image/webp format without changing the URL.

For Safari and Opera users, the original image will be used.

Simple Usage Steps

1. Download or build the binary

Download the webp-server from release page.

2. Dump config file

./webp-server -dump-config > config.json

The default config.json may look like this.

	"HOST": "",
	"PORT": "3333",
	"QUALITY": "80",
	"IMG_PATH": "/path/to/pics",
	"EXHAUST_PATH": "/path/to/exhaust",
	"ALLOWED_TYPES": ["jpg","png","jpeg"]

Config Example

In the following example, the image path and website URL.

Image Path Website Path

The config.json should be like:


EXHAUST_PATH is cache folder for output webp images, with EXHAUST_PATH set to /var/cache/webp in the example above, your webp image will be saved at /var/cache/webp/pics/tsuki.jpg.1582558990.webp.

3. Run

./webp-server --config=/path/to/config.json

4. Nginx proxy_pass

Let Nginx to proxy_pass http://localhost:3333/;, and your webp-server is on-the-fly.

Advanced Usage

For supervisor, Docker sections, please read our documentation at


WebP Server is under the GPLv3. See the LICENSE file for details.

You can’t perform that action at this time.