IronXL Linux Compatibility & Setup Guide
IronXL is built using pure .NET Standard, meaning it will work on all Linux distros that support .NET Core, .NET 5, and .NET 6. It will also work on all Docker, Azure, macOS platforms that support .NET frameworks and Windows.
We recommend using .NET Core 3.1, .NET Core 5, or .NET Core 6, as well as any other runtimes marked as LTS by Microsoft, because they have guaranteed long-term support and are generally well-tested on Linux.
No code changes are required to run IronXL on Linux. Generally, IronXL works out of the box thanks to extensive testing and configuration by our engineers.
Linux support is important because many cloud services, such as Azure Web Apps, Azure Functions, AWS EC2, AWS Lambda, and Azure DevOps Docker, rely heavily on Linux. At Iron Software, we regularly use these cloud tools and understand that many of our Enterprise and SAAS customers do too.
Officially Supported Linux Distros That Support .NET
We officially support and recommend the latest 64-bit Linux OS's below for a "zero configuration" setup of IronXL.
- Ubuntu 20
- Ubuntu 18
- Debian 11
- Debian 10 [Currently the Microsoft Azure Default Linux Distro]
- CentOS 7
- CentOS 8
Please read "Other Linux Distros" below for advice on installing IronXL on a version of Linux that is not officially supported.
We recommend using Microsoft's Official Docker Images. Other Linux distros are supported in part but may require manual configuration using apt-get. See "Linux Manual Setup" at the end of this document.
IronXL NuGet Packages
Ubuntu Compatibility
Ubuntu is our most tested Linux operating system. This is because it is heavily used in the Azure infrastructure, which we use for continuous testing and deployment. This platform also has official Microsoft .NET support and Official Docker Images.
Ubuntu 20
Official Microsoft Docker Images:
- 64-bit Ubuntu 20.04 Docker Image for .NET Runtime 3.1 ('3.1-focal')
- 64-bit Ubuntu 20.04 Docker Image for .NET Runtime 5.0 ('5.0-focal')
Ubuntu 18
Official Microsoft Docker Images:
- 64-bit Ubuntu 18.04 Docker Image for .NET Runtime 3.1 ('3.1-bionic')
- Although there is no official Docker image for .NET 5 on Ubuntu 18, compatibility is very high.
Debian 11
Debian 10 is the default Linux distribution used by Microsoft when adding Docker support to a .NET project in Visual Studio.
Official Microsoft Docker Images:
- 64-bit Debian 11 Docker Image for .NET Runtime 3.1
- 64-bit Debian 11 Docker Image for .NET Runtime 5.0
Debian 10
Debian 10 is the default Linux distribution used by Microsoft when adding Docker support to a .NET project in Visual Studio.
Official Microsoft Docker Images:
- 64-bit Debian 10 Docker Image for .NET Runtime 3.1
- 64-bit Debian 10 Docker Image for .NET Runtime 5.0
CentOS 7 & CentOS 8: Ensure you have sudo admin privileges. There is no special configuration needed to run IronXL; just install the NuGet package and run.
Other Linux Distros: Ensure your distro supports .NET and you have sudo admin privileges. Like with CentOS, there's no special configuration needed; just install the NuGet package and run.
Frequently Asked Questions
What is IronXL?
IronXL is a .NET library that allows developers to work with Excel files from within C# and other .NET languages. It supports multiple platforms, including Linux, and provides extensive features for manipulating and generating Excel files.
Is IronXL compatible with Linux?
Yes, IronXL is compatible with Linux. It's built using pure .NET Standard, allowing it to run on Linux distros that support .NET Core, .NET 5, and .NET 6.
Which Linux distros are officially supported by IronXL?
IronXL officially supports 64-bit versions of Linux distros such as Ubuntu 20, Ubuntu 18, Debian 11, Debian 10, CentOS 7, and CentOS 8.
Does IronXL require any code changes to run on Linux?
No, IronXL generally works out of the box on Linux without requiring any code changes.
What .NET runtimes are recommended for using IronXL on Linux?
It's recommended to use .NET Core 3.1, .NET Core 5, or .NET Core 6, as well as any other runtimes marked as LTS by Microsoft, to ensure compatibility with IronXL on Linux.
How can I install IronXL on a Linux system?
You can install IronXL on a Linux system using the NuGet package manager with the command `dotnet add package IronXL`.
Does IronXL support cloud platforms like Azure and AWS?
Yes, IronXL supports various cloud platforms, including Azure Web Apps, Azure Functions, AWS EC2, and AWS Lambda, which frequently rely on Linux environments.
Is there any special configuration needed for IronXL on CentOS?
No special configuration is needed for IronXL on CentOS. Simply ensure that you have sudo privileges, install the NuGet package, and run it.
What should I do if I want to use IronXL on a Linux distro that isn't officially supported?
For Linux distros that aren't officially supported, ensure that they support .NET and follow the manual configuration process using `apt-get` as necessary.

Curtis Chau holds a Bachelor’s degree in Computer Science (Carleton University) and specializes in front-end development with expertise in Node.js, TypeScript, JavaScript, and React. Passionate about crafting intuitive and aesthetically pleasing user interfaces, Curtis enjoys working with modern frameworks and creating well-structured, visually appealing manuals.