Handy command line tool for shrinking PNG images using the TinyPNG API
npm install -g tinypng-cli
To use TinyPNG CLI, you need an API key for TinyPNG. You can get one at https://tinypng.com/developers.
TinyPNG CLI allows you to provide your API key in two different ways. The more convenient one is to save the API key into a file called
.tinypng within your home directory. The other way is to provide it as an option while running the CLI.
tinypng demo.png -k E99a18c4f8cb3EL5f2l08u368_922e03
To shrink all PNG images within the current directory.
To shrink all PNG images within the current directory and subdirectoies, use the
tinypng . -r
To shrink all PNG images within a specific directory (
assets/img in this example), you may run the following command.
Need to limit the number of compressions at a time? Use the
-m, --max flag:
tinypng assets/img --max 100
You may also provide multiple directories.
tinypng assets/img1 assets/img2
To shrink a single PNG image (
assets/img/demo.png in this example), you may run the following command.
You may also provide multiple single PNG images.
tinypng assets/img/demo1.png assets/img/demo2.png
To resize an image, use the
tinypng assets/img/demo.png --width 123 tinypng assets/img/demo.png --height 123 tinypng assets/img/demo.png --width 123 --height 123
By default, this tool caches a map of all compressed images sent to the API in
~/.tinypng.cache.json. To change this directory, use the
-c, --cache flag:
tinypng . -r --cache /path/to/myCache.json
If you want to forcibly recompress assets, use the
--force flag. For a dry run output of all files that will be sent to the API, use the
That's it. Pretty easy, huh?
Copyright (c) 2017 websperts
Licensed under the MIT license.
See LICENSE for more info.