Skip to content
Single-step Buffer compression library for Node.js
Pull request Compare This branch is 29 commits behind egorFiNE:master.
Latest commit 642443e Sep 21, 2011 @egorFiNE egorFiNE version bump
Failed to load latest commit information.
src 0.4.1 Sep 21, 2011
test 0.4.1 Sep 21, 2011
.gitignore initial Mar 20, 2011
CHANGELOG 0.4.1 Sep 21, 2011
LICENSE initial Mar 19, 2011
Makefile build system updated Sep 17, 2011 0.4.1 Sep 21, 2011
index.js build system updated Sep 16, 2011
package.json version bump Sep 21, 2011
wscript 0.4.1 Sep 21, 2011


A single-step 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.


npm install compress-buffer


npm install .

Upgrade notice

In version 0.4.1 I removed support for strings compression. It is not possible to correctly determine the encoding of an input string and different encoding yields different results. So for the sake of consistency and reliability this was removed.

Use the following instead:

    var compressedBuffer = compress(new Buffer("my string"));


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.


Egor Egorov

Something went wrong with that request. Please try again.