Switch branches/tags
Nothing to show
Find file
Fetching contributors…
Cannot retrieve contributors at this time
61 lines (30 sloc) 1.53 KB


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.

Thanks to

  • 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