How to Create Zip Archive in C#

Updated December 12, 2023


File compression is a common practice in software development to efficiently manage and transfer multiple files as a single archive. The ability to create and manage zip archives is a valuable skill, especially when dealing with file organization and distribution.

Zip archives are compressed files that have been bundled together, which reduces their overall size for more efficient storage and transfer. With the capability to compress files into a single zip file, developers can easily manage and organize their data. Microsoft .NET technologies provide a Zip Archive class to generate Zip files in .NET Applications. You can explore the documentation for the ZipArchive class in C# on the official Microsoft .NET documentation page ZipArchive Class.

Creating a zip archive in C# can also be achieved seamlessly with libraries like IronZIP. IronZIP, a powerful C# ZIP archive library that provides a user-friendly API to make it straightforward when you want to create, read, and extract zip archives within the .NET applications.

In this article, we'll explore the key features of IronZIP, the prerequisites for its usage, and step-by-step instructions on creating a zip archive in a C# console project.

How to Create Zip Files in C#

  1. Create a Console Application in Visual Studio
  2. Install C# Zip Library via NuGet Package Manager
  3. Set the Output Zip File Path by using the IronArchive class
  4. Add Files to Zip using Add()


IronZIP is a leading C# ZIP archive library designed for creating, reading, and extracting archives in .NET. It offers a user-friendly API that prioritizes accuracy, ease of use, and speed. The library supports various file formats, which includes the ZIP, TAR, GZIP, and BZIP2 archives. With cross-platform compatibility and support for multiple .NET versions, IronZIP is versatile and caters to a wide range of development environments, including web, mobile, desktop, and console applications.

Key Features of IronZIP

  • Cross-Platform Support: Compatible with Windows, Linux, Mac, iOS, Android, Docker, Azure, and AWS.
  • .NET Compatibility: Fully supports .NET 7, 6, Core, Standard, and Framework.
  • File Format Support: Handles ZIP, TAR, GZIP, and BZIP2 archives.
  • Versatility: Designed for C#, F#, and VB.NET, supporting various project types.
  • Integration: Seamless integration with popular IDEs such as Microsoft Visual Studio and JetBrains ReSharper & Rider.


Before diving into the implementation, ensure you have the following prerequisites in place:

  1. Visual Studio: Install Visual Studio, a comprehensive integrated development environment for building C# applications. If not installed, download it from its official website.
  2. IronZIP Package: Use NuGet Package Manager to install the IronZIP library for your project.

Visual Studio Console Project Setup

  1. Open Visual Studio and Create a New Console Project.
  2. Configure the project name and location.

    How to Create Zip Archive in C#: Figure 1 - Setting Project Details on VS

  3. Choose the appropriate .NET version based on your project requirements. The latest is recommended and is also supported by IronZIP.

Install IronZIP via NuGet

Integrating IronZIP into the project is straightforward through NuGet Package Manager. Follow these steps:

  1. Open the Manage NuGet Packages for Solution by right-clicking the Solution Explorer.
  2. In the NuGet browse tab, search for IronZIP and click install.

    How to Create Zip Archive in C#: Figure 2 - Searching for IronZIP to install on NuGet Packages for Solution

  3. Alternatively, you can select NuGet Package Manager Console from the 'tools' menu. Then, in the console, you can run the following command to install IronZIP:

    Install-Package IronZip

Now, with IronZIP integrated into the project, let's proceed to create a zip archive.

How To (In C#) Create Zip Archive

In C#, specifically using IronZIP, the process of creating a zip archive is simplified. By initializing an IronArchive object, you can specify the name of the newly created zip file and then proceed to add files to it using the Add() method. This method takes file paths as parameters and allows for the inclusion of multiple files in the archive.

The compression level can also be customized based on the specific requirements of the application. For instance, specifying the compression level in the code allows developers to balance between file size reduction and the speed of compression.

Below is the sample code for creating a zip archive using IronZIP:

using IronZIP;
class Program
    public static void Main(string [] args)
        // Create an empty ZIP archive
        using (var archive = new IronArchive(""))
            // Add files to the ZIP
        Console.WriteLine("Zip file generated successfully!");
using IronZIP;
class Program
    public static void Main(string [] args)
        // Create an empty ZIP archive
        using (var archive = new IronArchive(""))
            // Add files to the ZIP
        Console.WriteLine("Zip file generated successfully!");
Imports IronZIP
Friend Class Program
	Public Shared Sub Main(ByVal args() As String)
		' Create an empty ZIP archive
		Using archive = New IronArchive("")
			' Add files to the ZIP
		End Using
		Console.WriteLine("Zip file generated successfully!")
	End Sub
End Class
VB   C#

Code Explanation

The above code snippet within the static void Main method exemplifies how to create a zip archive, compress multiple files, and specify the output zip archive. This provides a comprehensive solution for handling zip files in C#. Here is the code explanation:

  1. using IronZIP;: Import the IronZIP namespace in your C# file.
  2. new IronArchive(""): Create an empty IronArchive object, representing the output zip archive named ""
  3. archive.Add("./assets/image1.jpg");: Add files to the zip archive using the Add() method. In this example, three image files are included.
  4. Console.WriteLine("Zip file generated successfully!");: Display a success message after creating the zip file.


After running the program, check the project's specified directory for the generated "" file system containing all the files which were added. In this case, the specified image files. You have now stored your files effectively and efficiently, and you can access the original files through decompressing zip files.

How to Create Zip Archive in C#: Figure 3 - Output for Zip Archive generation code


Creating zip archives in C# is made simple and efficient with IronZIP. Its user-friendly API and cross-platform support make it a valuable tool for developers working on diverse .NET projects. Whether you're building web, mobile, desktop, or console applications, IronZIP's versatility and compatibility will enhance your file management processes and allow you to seamlessly create, read, and extract zip archives. Moreover, IronZIP facilitates the addition of files to an existing zip file, enhancing the versatility of the library for various file management scenarios.

Explore IronZIP's extensive documentation for more in-depth features and capabilities.

IronZIP comes with a free-trial-license for commercial-use with its lite package starting from $599. Download the library from here and give it a try.

.NET MAUI Data Extraction SDK (Developer Tutorial)
C# ZIP File (Developer Tutorial Using IronZip)

Ready to get started? Version: 2024.7 just released

Free NuGet Download Total downloads: 2,750 View Licenses >