| CARVIEW |
Select Language
HTTP/2 200
date: Tue, 20 Jan 2026 16:53:12 GMT
content-type: text/html
content-encoding: gzip
last-modified: Sat, 08 Nov 2025 09:49:40 GMT
etag: W/"690f1234-91b0"
expires: Tue, 20 Jan 2026 16:54:12 GMT
cache-control: max-age=60
x-from: sfp-staticweb-2
cf-cache-status: DYNAMIC
server: cloudflare
cf-ray: 9c1016311945dfa6-BLR
alt-svc: h3=":443"; ma=86400
Zip-Ada
Zip-Ada: Ada library for zip files (.zip). Ada programming.
BZip2 and LZMA compression supported.
- What is Zip-Ada ?
- Zip-Ada is a free, open-source, independent programming library for
dealing with the Zip compressed archive file format.
The full sources of Zip-Ada are written in the Ada programming language.
For more details, read the files zipada.txt and zip.ads from the archive below.
- Some features
-
- Standalone (no dependency).
- Pure Ada 2012 (nothing compiler/system specific); can be used in projects in Ada 2012 and later language versions.
- Unconditionally portable: compilable on every Ada compiler and for every system (*).
- Files and memory streams supported, for archives and entries, for compression and decompression.
- Task safe.
- Endian-neutral.
- Zip methods supported for compression: Reduce, Shrink, Deflate, BZip2, LZMA.
- Zip methods supported for decompression: the above methods, plus: Implode, Deflate64.
- Tests and demos included.
- Permissive license (MIT).
- Free, open-source.
- Why not call an zip or unzip executable, or use the zlib library ?
-
-
Independence:
with this library you can zip and unzip data without any OS-dependent external call.
Furthermore, you can use Zip-Ada with any data stream instead of files, for the archives as well as for the archived entries. -
Unconditional portability (*):
- the C code has "only" been widely ported, with specific source parts (via conditional compilation) for different Operating Systems and compilers;
- a single Ada source code set produces a native Zip/UnZip in machine code for every OS, with every Ada compiler - no "header hell", nothing to configure (sceptic ? click here to see a list of reportedly successfully tested environments).
-
No effort of interfacing: interfacing is a frequent source of maintenance troubles,
compatibility issues and portability constraints.
With Zip-Ada, it is possible to have full-Ada projects using Zip archives, all compiled by a single compiler. - Transparency: full sources are visible; it is easier to verify and customize.
-
Benefit from the powerful LZMA and BZip2 compression formats, which are not
available in zlib and zlib-based Zip tools (they are limited to the weaker Deflate format).
Additionally, Zip-Ada provides the Preselection algorithm-picking method for compressing data depending on their type and size. - Zip-Ada can use an archive as a read-only file system. Since the archive itself can be stored in memory, Zip-Ada can even work as a RAM-disk.
-
Independence:
- Distribution
- Zip-Ada is free software under MIT license - see copyright notice in the file zip.ads.
- Download
-
Download the library from the SourceForge project page.
You can also...- get the corresponding crate on Alire; for details, click here:
- check the mirror on GitHub.
The zipada*.zip archive contains:- The full library Ada sources inside one directory, Zip_Lib.
- Within the Zip_Lib library:
- a standalone generic streaming LZ77 encoder (can be used outside of the Zip context)
- standalone generic streaming BZip2 encoder and decoder (can be used outside of the Zip context).
- standalone generic streaming LZMA encoder and decoder (can be used outside of the Zip context).
- Some command-line demos, and the following tools:
- ZipAda, a tool that creates a compressed Zip archive.
- UnZipAda, a tool that extracts some or all files from a Zip archive.
- Comp_Zip, an utility for comparing two Zip archives (compare contents, check missing files).
- Find_Zip, an utility for searching a text string across contents of a Zip archive.
- ReZip, a tool for recompressing Zip archives towards optimal compression.
- bzip2_enc and bzip2_dec, a tool pair that encodes/decodes BZip2 compressed files (.bz2).
- lzma_enc and lzma_dec, a tool pair that encodes/decodes LZMA compressed files (.lzma).
- get the corresponding crate on Alire; for details, click here:
- Screenshots:
-
Zip-Ada in action
within a Zip archive
manager (AZip):
Zip-Ada in action
within a self-extracting
installer:HTML report
from the ReZip tool:
- Presentations:
-
Swiss Ada Event 2025
FOSDEM 2025
FOSDEM 2019
Swiss Ada Event 2017
- A small demo's source:
-
1 -- Zip archive creation demo. 2 -- For a complete Zip creation tool, see tools/zipada.adb . 3 -- 4 with Zip.Create; 5 6 procedure Demo_Zip is 7 use Zip.Create; 8 zip_file : aliased Zip_File_Stream; -- Archive is a file in this example. 9 archive : Zip_Create_Info; 10 begin 11 Create_Archive (archive, zip_file'Unchecked_Access, "mini_zip.zip"); 12 -- We insert a couple of files into the Zip archive: 13 Add_File (archive, "demo/demo_zip.adb", Password => "1234"); 14 Add_File (archive, "demo/demo_unzip.adb"); 15 -- Here we add directly some contents to the Zip archive 16 -- without a file in the first place: 17 Add_String 18 (archive, 19 "==== Hello world! ====" & ASCII.LF & 20 "It is such a nice ""Hello world""-like demo, isn't it ?", 21 "nice_string.txt"); 22 Add_Empty_Folder (archive, "empty_folder/"); 23 Finish (archive); 24 end Demo_Zip;
- For viewing more sources...
-
Browse the source (of version 61)
Source web pages automatically generated by gnathtml (GNAT). - Present state - latest changes - history
- For the full history, click here.
- Contact:
-
Mail:

For a little sponsoring (e.g. the equivalent of a glass of wine)...
An article about fuzzing (testing with randomized input data) and Zip-Ada:
Technical documentation: read PKWare's appnote.txt (included in the Zip-Ada archive).
On Gautier's blog: some news about
Zip-Ada
and other
Ada projects.
Visit the Ada Forum:
- Projects
- AZip - a Zip archive manager based on Zip-Ada
- GLOBE_3D
- Engine_3D
- Scala / Huygens-Fokker Foundation
- Organizations / companies
- Consafe Logistics AB
- Crédit Agricole (Suisse) SA
- Eutopia Labs Ltd
- NXP Semiconductors NV (Philips)
- Partner Reinsurance Ltd
- Soudronic AG
- Romans CAD - Stratégies software
- Some others are known but are not disclosed here...
- Ada Bar Codes
- Ada PDF Writer - a standalone, portable package for producing dynamically PDF documents
- Corporate Bullshit Generator - the Corporate Bullshit Generator
- Excel Writer - a standalone, portable Ada package for producing Excel spreadsheets
- GID - Generic Image Decoder
- GNAVI: GNU Ada Visual Interface - the GNU Ada Visual Interface
- GNOGA - the GNU Omnificent GUI for Ada
- HAC - HAC Ada Compiler
- Ini file manager - a standalone, portable Ada package for configuration files
- LEA - Lightweight Editor for Ada
- Mathpaqs? - collection of mathematical, 100% portable, packages in Ada
- Pascal-to-Ada? - Pascal to Ada translator
- TeXCAD? - a program for drawing or retouching {picture}s in LaTeX
- Wasabee - a Web browser with safety focus
- AdaCore GNAT Public version via
- AdaCore GNAT Public version up to version CE 2021 as standalone installer
- AdaCore GNAT Professional
- FSF GNAT
-
- PTC ApexAda compiler
- Green Hills
- DDC-I
- ICC
- XGC
- OC Systems
Combinations (Operating System, processor, compiler) where the Zip-Ada library - one single source, zero conditional compilation - is reported to be in use:
| OS | CPU | Compiler |
| OpenVMS | Intel Itanium (64 bit) | GNU - GNAT |
| AIX | Power7 (64 bit) | |
| MS Windows 32-bit | Intel x86 | |
| MS Windows 64-bit | AMD/Intel x64 | |
| Linux 32-bit | Intel x86 | |
| Linux 64-bit | AMD/Intel x64 | |
| Linux on PS3 | Cell (64 bit) | |
| Linux on Raspberry Pi | ARM | |
| Mac OS X | PowerPC (64 bit) | |
| Mac OS X | AMD/Intel x64 (64 bit) | |
| Mac OS X | aarch64 | |
| Solaris | SPARC (32 or 64 bit) | |
| Solaris | AMD/Intel x64 (64 bit) | |
| OpenBSD | (one of several) | |
| FreeBSD | Intel x86 (32 bit) | |
| FreeBSD | AMD/Intel x64 (64 bit) | |
| Android 2.3+ | ARM | |
| MS Windows x64 | AMD/Intel x64 (64 bit) | PTC - ObjectAda |
| MS Windows NT+ | Intel x86 (32 bit) | SofCheck - AdaMagic |
| MS Windows NT+ | AMD/Intel x64 (64 bit) | |
| Linux | Intel x86 (32 bit) | |
| Mac OS X | PowerPC (64 bit) | |
| Mac OS X | AMD/Intel x64 (64 bit) | |
| Solaris | SPARC (32 or 64 bit) | |
| Solaris | AMD/Intel x64 |
Don't hesitate to tell me about other OS / CPU / compiler combinations!
Summary of supported Zip internal compression formats (each compressed file in a Zip archive can have a different compression format):
| Zip-Ada | Other software. | Info-Zip | ||||||||
| Format | Format # | Compress | Decompress | PKZip | 7-Zip | WinZip | Zip | UnZip | ||
| Store | 0 | v.22 | v.1 | v.0.90 | all | all | all | all | ||
| Shrink | 1 | v.22 | v.1 | v.0.90 | v.9.20 | all | never | |||
| Reduce 1 .. 4 | 2 .. 5 | v.29 | v.1 | v.0.90 | all | never | v.<=5.12 | |||
| Implode | 6 | never | v.1 | v.1.01 | v.9.20 | all | never | |||
| Deflate | 8 | v.50 (v.40-49: limited) |
v.1 | v.2.0 | all | all | v.2.0 | all | ||
| Enhanced Deflate | 9 | never | v.30 | v.2.1 | all | v.8.0 | v.5.5 | |||
| BZip2 | 12 | v.60 | v.36 | v.4.6 | v.9.20 | v.9.0 | v.3.0 | v.6.0 | ||
| LZMA | 14 | v.51 | v.47 | v.6.3 | all | v.12.0 | ||||
| PPMd | 98 | v.6.3 | v.9.11 | v.10.0 | ||||||
| Zstandard | 93 | v.6.3.8 | v.24.01 | v.24 | ||||||
Some Zip-Ada users:
Here is a list of other open-source projects I participate to on SourceForge. Click on the links below for details.
Some Ada compilers:
External compression tools used by ReZip: