Getting Started with IronZIP

This article was translated from English: Does it need improvement?
Translated
View the article in English

IronZIP: Your All-in-One Archive Library for .NET

IronZIP is an archive compression and decompression library developed by Iron Software. In addition to the widely used ZIP format, it can also handle TAR, GZIP, and BZIP2.

C# Archive Compression and Decompression Library

  1. Download the C# library for file compression and decompression
  2. Handle ZIP, TAR, GZIP, and BZIP2 formats
  3. Customize compression levels from 0 to 9
  4. Extract content from compressed archives
  5. Append files to existing ZIP archives and generate new ZIP files

Compatibility

IronZIP has cross-platform support compatibility with:

.NET Version Support:

  • C#, VB.NET, F#
  • .NET 7, 6, 5, and Core 3.1+
  • .NET Standard (2.0+)
  • .NET Framework (4.6.2+)

Operating Systems and Environments Support:

  • Windows (10+, Server 2016+)
  • Linux (Ubuntu, Debian, CentOS, etc.)
  • macOS (10+)
  • iOS (12+)
  • Android API 21+ (v5 “Lollipop”)
  • Docker (Windows, Linux, Azure)
  • Azure (VPS, WebApp, Function)
  • AWS (EC2, Lambda)

.NET Project Types Support:

  • Web (Blazor & WebForms)
  • Mobile (Xamarin & MAUI)
  • Desktop (WPF & MAUI)
  • Console (App & Library)

Installation

IronZIP Library

To install the IronZIP package, use the following command in your terminal or package manager console:

Install-Package IronZip

Alternatively, download directly from the official IronZIP NuGet website.

Once installed, you can get started by adding using IronZip; to the top of your C# code.

Applying License Key

Next, apply a valid license or trial key to IronZIP by assigning the license key to the LicenseKey property of License class. Include the following code right after the import statement, before using any IronZIP methods:

using IronZip;

// Apply your license key here
IronZip.License.LicenseKey = "YOUR_LICENSE_KEY";
using IronZip;

// Apply your license key here
IronZip.License.LicenseKey = "YOUR_LICENSE_KEY";
Imports IronZip

' Apply your license key here
IronZip.License.LicenseKey = "YOUR_LICENSE_KEY"
$vbLabelText   $csharpLabel

Code Examples

Create an Archive Example

Create a ZIP file using the using statement. Inside the using block, use the AddArchiveEntry method to import files into the ZIP file. Finally, export the ZIP file with the SaveAs method.

using IronZip;
using System.IO;

class Program
{
    static void Main()
    {
        // Create a new ZIP file
        using (var archive = new ZipArchive())
        {
            // Add a file to the archive
            archive.AddArchiveEntry("example.txt", File.ReadAllBytes("path/to/example.txt"));

            // Save the ZIP archive
            archive.SaveAs("archive.zip");
        }
    }
}
using IronZip;
using System.IO;

class Program
{
    static void Main()
    {
        // Create a new ZIP file
        using (var archive = new ZipArchive())
        {
            // Add a file to the archive
            archive.AddArchiveEntry("example.txt", File.ReadAllBytes("path/to/example.txt"));

            // Save the ZIP archive
            archive.SaveAs("archive.zip");
        }
    }
}
Imports IronZip
Imports System.IO

Friend Class Program
	Shared Sub Main()
		' Create a new ZIP file
		Using archive = New ZipArchive()
			' Add a file to the archive
			archive.AddArchiveEntry("example.txt", File.ReadAllBytes("path/to/example.txt"))

			' Save the ZIP archive
			archive.SaveAs("archive.zip")
		End Using
	End Sub
End Class
$vbLabelText   $csharpLabel

Unarchive an Archive to Folder

Extract the content from the ZIP file using the ExtractArchiveToDirectory method. Specify the path of the target ZIP file and the extraction directory.

using IronZip;

class Program
{
    static void Main()
    {
        // path to the ZIP file and extraction directory
        string zipPath = "archive.zip";
        string extractPath = "extracted/";

        // Extract all files in the ZIP archive to the specified directory
        using (var archive = new ZipArchive(zipPath))
        {
            archive.ExtractArchiveToDirectory(extractPath);
        }
    }
}
using IronZip;

class Program
{
    static void Main()
    {
        // path to the ZIP file and extraction directory
        string zipPath = "archive.zip";
        string extractPath = "extracted/";

        // Extract all files in the ZIP archive to the specified directory
        using (var archive = new ZipArchive(zipPath))
        {
            archive.ExtractArchiveToDirectory(extractPath);
        }
    }
}
Imports IronZip

Friend Class Program
	Shared Sub Main()
		' path to the ZIP file and extraction directory
		Dim zipPath As String = "archive.zip"
		Dim extractPath As String = "extracted/"

		' Extract all files in the ZIP archive to the specified directory
		Using archive = New ZipArchive(zipPath)
			archive.ExtractArchiveToDirectory(extractPath)
		End Using
	End Sub
End Class
$vbLabelText   $csharpLabel

Add Files to An Existing Archive

Passing the ZIP file path to the constructor will open the ZIP file. Utilize the same AddArchiveEntry method to add files to the opened ZIP and export it with the SaveAs method.

using IronZip;
using System.IO;

class Program
{
    static void Main()
    {
        // Open an existing ZIP file
        using (var archive = new ZipArchive("archive.zip"))
        {
            // Add more files to the archive
            archive.AddArchiveEntry("anotherfile.txt", File.ReadAllBytes("path/to/anotherfile.txt"));

            // Save updates to the ZIP archive
            archive.SaveAs("archive.zip");
        }
    }
}
using IronZip;
using System.IO;

class Program
{
    static void Main()
    {
        // Open an existing ZIP file
        using (var archive = new ZipArchive("archive.zip"))
        {
            // Add more files to the archive
            archive.AddArchiveEntry("anotherfile.txt", File.ReadAllBytes("path/to/anotherfile.txt"));

            // Save updates to the ZIP archive
            archive.SaveAs("archive.zip");
        }
    }
}
Imports IronZip
Imports System.IO

Friend Class Program
	Shared Sub Main()
		' Open an existing ZIP file
		Using archive = New ZipArchive("archive.zip")
			' Add more files to the archive
			archive.AddArchiveEntry("anotherfile.txt", File.ReadAllBytes("path/to/anotherfile.txt"))

			' Save updates to the ZIP archive
			archive.SaveAs("archive.zip")
		End Using
	End Sub
End Class
$vbLabelText   $csharpLabel

Licensing & Support Available

IronZIP is a paid library, however free trial licenses are also available here.

For more information about Iron Software, please visit our website: https://ironsoftware.com/ For more support and inquiries, please ask our team.

Support from Iron Software

For general support and technical inquiries, please email us at: support@ironsoftware.com

Curtis Chau
技術作家

Curtis Chau 擁有卡爾頓大學計算機科學學士學位,專注於前端開發,擅長於 Node.js、TypeScript、JavaScript 和 React。Curtis 熱衷於創建直觀且美觀的用戶界面,喜歡使用現代框架並打造結構良好、視覺吸引人的手冊。

除了開發之外,Curtis 對物聯網 (IoT) 有著濃厚的興趣,探索將硬體和軟體結合的創新方式。在閒暇時間,他喜愛遊戲並構建 Discord 機器人,結合科技與創意的樂趣。

準備好開始了嗎?
Nuget 下載 16,000 | 版本: 2025.11 剛剛發布