Sign Up for Free

RunKit +

Try any Node.js package right in your browser

This is a playground to test code. It runs a full Node.js environment and already has all of npm’s 400,000 packages pre-installed, including adm-zip with all npm packages installed. Try it out:

var admZip = require("adm-zip")

This service is provided by RunKit and is not affiliated with npm, Inc or the package authors.

adm-zip v0.4.13

Javascript implementation of zip for nodejs with support for electron original-fs. Allows user to create or extract zip files both in memory or to/from disk

ADM-ZIP for NodeJS with added support for electron original-fs

ADM-ZIP is a pure JavaScript implementation for zip data compression for NodeJS.


With npm do:

$ npm install adm-zip

What is it good for?

The library allows you to:

  • decompress zip files directly to disk or in memory buffers
  • compress files and store them to disk in .zip format or in compressed buffers
  • update content of/add new/delete files from an existing .zip


There are no other nodeJS libraries that ADM-ZIP is dependent of


Basic usage

    var AdmZip = require('adm-zip');

    // reading archives
    var zip = new AdmZip("./");
    var zipEntries = zip.getEntries(); // an array of ZipEntry records

    zipEntries.forEach(function(zipEntry) {
        console.log(zipEntry.toString()); // outputs zip entries information
        if (zipEntry.entryName == "my_file.txt") {
    // outputs the content of some_folder/my_file.txt
    // extracts the specified file to the specified location
    zip.extractEntryTo(/*entry name*/"some_folder/my_file.txt", /*target path*/"/home/me/tempfolder", /*maintainEntryPath*/false, /*overwrite*/true);
    // extracts everything
    zip.extractAllTo(/*target path*/"/home/me/zipcontent/", /*overwrite*/true);
    // creating archives
    var zip = new AdmZip();
    // add file directly
    var content = "inner content of the file";
    zip.addFile("test.txt", Buffer.alloc(content.length, content), "entry comment goes here");
    // add local file
    // get everything as a buffer
    var willSendthis = zip.toBuffer();
    // or write everything to disk
    zip.writeZip(/*target file name*/"/home/me/");
    // ... more examples in the wiki

For more detailed information please check out the wiki.

build status

RunKit is a free, in-browser JavaScript dev environment for prototyping Node.js code, with every npm package installed. Sign up to share your code.
Sign Up for Free