The pngquant utility as a readable/writable stream
Branch: master
Clone or download
papandreou Merge pull request #24 from papandreou/depfu/update/npm/unexpected-11…

Upgrade unexpected to version 11.0.0
Latest commit eeaa426 Jan 7, 2019


NPM version Build Status Coverage Status Dependency Status

The pngquant command line utility as a readable/writable stream.

The constructor optionally takes an array of command line options for the pngquant binary (defaults to [256]):

var PngQuant = require('pngquant'),
    myPngQuanter = new PngQuant([192, '--quality', '60-80', '--nofs', '-']);


PngQuant as a web service (sends back a png with the number of colors quantized to 128):

var PngQuant = require('pngquant'),
    http = require('http');

http.createServer(function (req, res) {
    if (req.headers['content-type'] === 'image/png') {
        res.writeHead(200, {'Content-Type': 'image/png'});
        req.pipe(new PngQuant([128])).pipe(res);
    } else {
        res.end('Feed me a PNG!');


Make sure you have node.js and npm installed, and that the pngquant binary is in your PATH, then run:

npm install pngquant


3-clause BSD license -- see the LICENSE file for details.