Need help with node-zip?
Click the “chat” button below for chat support from the developer who created it, or find similar developers for support.
212 Stars 35 Forks 26 Commits 19 Opened issues

Services available

Need anything else?


node-zip - Zip/Unzip files ported from JSZip


npm install node-zip


Complete example, zip multiple files

var fs = require('fs');
var path = require('path');

// The zip library needs to be instantiated: var zip = new require('node-zip')();

// You can add multiple files by performing subsequent calls to zip.file(); // the first argument is how you want the file to be named inside your zip, // the second is the actual data: zip.file('file1.txt', fs.readFileSync(path.join(__dirname, 'file1.txt'))); zip.file('file2.txt', fs.readFileSync(path.join(__dirname, 'file2.txt')));

var data = zip.generate({ base64:false, compression: 'DEFLATE' });

// it's important to use binary encode fs.writeFileSync('', data, 'binary');

You can also load directly:

var zip = new JSZip(data, options)

Zip text into file:

var zip = new require('node-zip')();

zip.file('test.file', 'hello there'); var data = zip.generate({base64:false,compression:'DEFLATE'}); console.log(data); // ugly data


var zip = new require('node-zip')(data, {base64: false, checkCRC32: true});
console.log(zip.files['test.file']); // hello there

Write to a file (IMPORTANT: use binary encode, thanks to @Acek)

var fs = require("fs");
zip.file('test.txt', 'hello there');
var data = zip.generate({base64:false,compression:'DEFLATE'});
fs.writeFileSync('', data, 'binary');


npm install -g jasmine-node
jasmine-node test


node-zip uses JSZip, please refer to their website for further information:


David Duponchel @dduponchel

Feel free to send your pull requests and contribute to this project



We use cookies. If you continue to browse the site, you agree to the use of cookies. For more information on our use of cookies please see our Privacy Policy.