The jpegtran utility as a readable/writable stream

npm install jpegtran
19 downloads in the last day
71 downloads in the last week
555 downloads in the last month


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

If you don't have a jpegtran binary in your PATH, node-jpegtran will try to use one of the binaries provided by a href=""the node-jpegtran-bin package.

The constructor optionally takes an array of command line options for the jpegtran binary:

var JpegTran = require('jpegtran'),
    myJpegTranslator = new JpegTran(['-rotate', 90, '-progressive']);


JpegTran as a web service (sends back a horizontally flipped grayscale version of the request body):

var JpegTran = require('jpegtran'),
    http = require('http');

http.createServer(function (req, res) {
    if (req.headers['content-type'] === 'image/jpeg') {
        res.writeHead(200, {'Content-Type': 'image/jpeg'});
        req.pipe(new JpegTran(['-grayscale', '-flip', 'horizontal'])).pipe(res);
    } else {
        res.end('Feed me a JPEG!');


Make sure you have node.js and npm installed, then run:

npm install jpegtran


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

npm loves you