libzip

A C library for reading, creating, and modifying zip archives.

907
286
C

libzip

A C Library for Reading, Creating, and Modifying Zip Archives

Why Use libzip?

libzip has been continuously developed since 2005. It is efficient, small, and flexible. It is usable on Linux, macOS, and Windows and many other operating systems.

The main design criteria are:

  • Maintain a stable API without breaking backwards compatibility.
  • Do not create corrupt files, even in case of errors.
  • Do not delete data.
  • Be efficient.

It supports the following features:

  • Reading archives and file data from files or memory buffers
  • Reverting unsaved changes
  • Zip64 large archives
  • Deflate, bzip2, LZMA, and zstd compression
  • Winzip AES and legacy PKWARE encryption

The BSD license used for libzip allows its use in commercial products.

Who Uses libzip?

libzip is used in major open source projects like KDE, Chromium, ImageMagick, and VeraCrypt.

Commercial products using libzip include Lightroom from Adobe and the Kobo eReader.

There are also bindings for other programming languages: Python, Ruby, Lua, PHP, and others.

There is a more complete list of projects.

Getting Started

Most Linux and other Unix distributions include libzip in their package distributions, it is usually called libzip or libzip-dev.

On macOS, it is included in both Homebrew and Mac Ports.

On Windows, it is in vcpkg.

A list of available packages can be found on Repology.

For building and installing libzip from source, see the INSTALL.md file.

Using libzip

libzip is fully documented via man pages. HTML versions of the man
pages are on libzip.org and in the man directory. You can start with
libzip(3), which lists
all others. Example source code is in the examples and
src subdirectories.

If you have developed an application using libzip, you can find out
about API changes and how to adapt your code for them in the included
file API-CHANGES.md.

Staying in Touch

More information and the latest version can always be found on libzip.org. The official repository is at GitHub.

If you want to reach the authors in private, use [email protected].

Packaging status

Github Actions Build Status
Appveyor Build status
Coverity Status
Fuzzing Status