node package manager


Synchronous Buffer compression library for Node.js


Synchronous zlib Buffer compression library for Node.js.

compress = require('compress-buffer').compress;
uncompress = require('compress-buffer').uncompress;
var rawData = fs.readFileSync("/etc/passwd");
var compressed   = compress(rawData);
var uncompressed = uncompress(compressed);
uncompressed == rawData // true! 

For the sake of the KISS principle. Most of the time you don't need a streaming compression, you need to compress an existing and already complete data.

compress() takes two arguments: the data (must be a Buffer()) and optional compression level which must be within 1..9. It returns compressed Buffer() or undefined on error.

uncompress() takes a single argument: the data (must be a Buffer()) and returns uncompressed Buffer() or undefined on error.

Both functions could throw exceptions in the following cases:

  • zlib initialisation fails;
  • first argument is not a Buffer instance.
npm install compress-buffer


npm install .

See LICENSE file. Basically, it's a kind of "do-whatever-you-want-for-free" license.

  • A lot of thanks for important suggestions goes to Konstantin Käfer who implemented a nice similar module node-zlib ( earlier than me;
  • Oleg Kertanov, pccowboy, addisonj, David Swift

Egor Egorov