IronZIP Tutorials Create, Read, Extract Zip Create, Read, and Extract Zip Tutorial ByChaknith Bin October 19, 2023 Updated June 22, 2025 Share: Create ZIP generates a new ZIP archive by selecting files or directories, specifying compression settings, and creating the archive.Read ZIP opens an existing ZIP archive to access its contents for viewing or extracting specific files.Extract ZIP retrieves contents by specifying the source ZIP file, the destination folder, and extracting files and directories to the specified location.In addition to these functions, IronZip can also open an existing ZIP file, add more files to it, and then export the result as a new ZIP file containing all the included files. View the IronZIP YouTube Playlist Get started with IronZIP Start using IronZIP in your project today with a free trial. First Step: Start for Free C# Create, Read, and Extract Zip Tutorial Download the C# library to create, read, and extract ZIP files Instantiate the IronZipArchive class to create an empty ZIP file Use the Add method to add files to the empty ZIP Utilize the ExtractArchiveToDirectory method to extract the ZIP Open an existing ZIP file by passing the ZIP file path to the constructor Create an Archive Example To create a ZIP archive object, you can conveniently use the using statement in C# along with the IronZipArchive constructor. IronZip makes this process straightforward, allowing you to establish an empty ZIP archive with just a few lines of code. Next, utilize the Add method to import your files into the ZIP archive. This method allows you to add files from various locations, including an entire directory where all the files within it will be included. Lastly, use the SaveAs method to export the ZIP file. :path=/static-assets/zip/content-code-examples/tutorials/create-read-extract-zip-create.cs using IronZip; // Create an empty ZIP using (var archive = new IronZipArchive()) { // Add files to the ZIP archive.Add("./assets/image1.png"); archive.Add("./assets/image2.png"); // Export the ZIP file archive.SaveAs("output.zip"); } Imports IronZip ' Create an empty ZIP Using archive = New IronZipArchive() ' Add files to the ZIP archive.Add("./assets/image1.png") archive.Add("./assets/image2.png") ' Export the ZIP file archive.SaveAs("output.zip") End Using $vbLabelText $csharpLabel Unarchive an Archive to Folder To retrieve the contents from a ZIP file, you can use the ExtractArchiveToDirectory method. Simply indicate the path of the target ZIP file and the directory where you want the extracted files to be placed. :path=/static-assets/zip/content-code-examples/tutorials/create-read-extract-zip-extract.cs using IronZip; // Extract ZIP IronZipArchive.ExtractArchiveToDirectory("output.zip", "extracted"); Imports IronZip ' Extract ZIP IronZipArchive.ExtractArchiveToDirectory("output.zip", "extracted") $vbLabelText $csharpLabel Add Files to An Existing Archive You can efficiently modify an existing ZIP archive with additional files using IronZip. The process begins by instantiating the ZIP archive object from an existing ZIP file path. Once the archive is opened, you can use the Add method to add files to the existing archive. :path=/static-assets/zip/content-code-examples/tutorials/create-read-extract-zip-add-files.cs using IronZip; // Open existing ZIP using (var archive = IronZipArchive.FromFile("existing.zip")) { // Add files archive.Add("./assets/image3.png"); archive.Add("./assets/image4.png"); // Export the ZIP file archive.SaveAs("result.zip"); } Imports IronZip ' Open existing ZIP Using archive = IronZipArchive.FromFile("existing.zip") ' Add files archive.Add("./assets/image3.png") archive.Add("./assets/image4.png") ' Export the ZIP file archive.SaveAs("result.zip") End Using $vbLabelText $csharpLabel With this functionality, you can efficiently update and expand your ZIP archives to suit your project's evolving needs. IronZip makes the process of managing archives in your C# projects a breeze. A similar approach can be achieved for other archive and compression formats such as TAR, GZIP, and BZIP2 using the IronTarArchive, IronGZipArchive, and IronBZip2Archive classes, respectively. Frequently Asked Questions How do I create a ZIP archive in C#? To create a ZIP archive, use the IronZipArchive class from IronZip. Utilize the Add method to include files and the SaveAs method to save the archive. Example code: `using (var zip = new IronZipArchive()) { zip.Add(@"C:\path\to\directory"); zip.SaveAs(@"C:\path\to\output.zip"); }`. How can I read the contents of a ZIP file? To read a ZIP file, you can open it using the IronZipArchive class from IronZip by passing the file path to the constructor. This allows you to access the ZIP's contents for viewing or extracting specific files. How do I extract files from a ZIP archive? Use the ExtractArchiveToDirectory method from IronZip to extract files. Specify the ZIP file path and the destination directory. Example: `using (var zip = new IronZipArchive(@"C:\path\to\archive.zip")) { zip.ExtractArchiveToDirectory(@"C:\path\to\output\directory"); }`. Can I add more files to an existing ZIP archive? Yes, open the existing ZIP using the IronZipArchive from IronZip, utilize the Add method to include additional files, and then save the updated archive with SaveAs. What are the steps to get started with ZIP management in C#? To get started with IronZip, download the library from NuGet, instantiate IronZipArchive to create a ZIP, and use methods like Add and ExtractArchiveToDirectory to manage ZIP archives. Is it possible to manage other archive formats? Yes, with IronZip, similar methods can be used for other formats like TAR, GZIP, and BZIP2 using IronTarArchive, IronGZipArchive, and IronBZip2Archive classes. Where can I find a library for managing ZIP files in C#? The IronZip library can be downloaded from NuGet. Visit the package page to download and integrate it into your C# projects. Chaknith Bin Chat with engineering team now Software Engineer Chaknith works on IronXL and IronBarcode. He has deep expertise in C# and .NET, helping improve the software and support customers. His insights from user interactions contribute to better products, documentation, and overall experience. Ready to Get Started? Start Free Trial View Licenses >