IronOCR Linux Compatibility & Setup Guide

IronOCR supports Linux for .NET Core and .NET 5 applications, as well as Docker, Azure, macOS and (naturally) Windows.

Linux Docker Azure AWS Ubuntu Debian

We recommend using .NET Core 3.1 and 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 on IronOCR Linux. Generally, IronOCR works out of the box thanks to hundreds of hours of 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, Azure DevOps Docker rely heavily on Linux. At Iron Software we use these cloud tools regularly and understand that many of our Enterprise and SAAS customers do too.

Officially Supported Linux Distros

We officially support and recommend the latest 64-bit Linux OS's below for "zero configuration" setup of IronOCR.

  • Ubuntu 20
  • Ubuntu 18
  • Debian 11
  • Debian 10 [Currently the Microsoft Azure Default Linux Distro]

Please read "Other Linux Distros" below for advice on installing IronOCR on a version of Linux which is not officially supported.

IronOCR NuGet Packages

Install-Package IronOcr

Ubuntu Compatibility

Ubuntu is our most tested Linux operating system. This is because it is used heavily in the Azure infrastructure we use for continuous testing and deployment. This platform also has official Microsoft .NET support and official Docker Images.

Ubuntu 20

Microsoft Ubuntu Chrome Safari Docker Azure

Manual Ubuntu 20 Setup: If you wish to manually install or your app cannot be run with sudo admin privileges.

# Update the package list
sudo apt update

# Install necessary packages
sudo apt install -y apt-utils libgdiplus libc6-dev
# Update the package list
sudo apt update

# Install necessary packages
sudo apt install -y apt-utils libgdiplus libc6-dev
SHELL

Ubuntu 18

Microsoft Ubuntu Chrome Safari Docker Azure

Manual Ubuntu 18 Setup: If you wish to manually install or your app cannot be run with sudo admin privileges.

# Update the package list
sudo apt update

# Install necessary packages
sudo apt install -y apt-utils libgdiplus libc6-dev
# Update the package list
sudo apt update

# Install necessary packages
sudo apt install -y apt-utils libgdiplus libc6-dev
SHELL

Debian 11

Debian Microsoft Chrome Safari Docker Azure

Debian 10 is the default Linux distribution used by Microsoft when adding Docker support to a .NET project in Visual Studio.

Manual Debian 11 Setup: If you wish to manually install or your app cannot be run with sudo admin privileges.

# Update the package list
sudo apt update

# Install necessary packages
sudo apt install -y apt-utils libgdiplus libc6-dev
# Update the package list
sudo apt update

# Install necessary packages
sudo apt install -y apt-utils libgdiplus libc6-dev
SHELL

Debian 10

Debian Microsoft Chrome Safari Docker Azure

Debian 10 is the default Linux distribution used by Microsoft when adding Docker support to a .NET project in Visual Studio.

Manual Debian 10 Setup: If you wish to manually install or your app cannot be run with sudo admin privileges.

# Update the package list
sudo apt update

# Install necessary packages
sudo apt install -y apt-utils libgdiplus libc6-dev
# Update the package list
sudo apt update

# Install necessary packages
sudo apt install -y apt-utils libgdiplus libc6-dev
SHELL

Other Linux Distros

Regardless of whether you use HFS, yum, apt, or apt-get as your package manager, the requirements remain pretty much constant.

# Update the package list
sudo apt update

# Install necessary packages and Tesseract OCR
sudo apt install -y apt-utils libgdiplus libc6-dev tesseract-ocr libtesseract-dev
# Update the package list
sudo apt update

# Install necessary packages and Tesseract OCR
sudo apt install -y apt-utils libgdiplus libc6-dev tesseract-ocr libtesseract-dev
SHELL

Frequently Asked Questions

How do I set up Tesseract OCR on Linux using C#?

To set up Tesseract OCR on Linux using C#, you can use IronOCR. First, ensure you have .NET Core installed. Then, install the IronOCR NuGet package using PM> Install-Package IronOCR and follow the setup instructions to configure Tesseract OCR on your Linux system.

Which Linux distributions are officially supported for IronOCR?

IronOCR officially supports Ubuntu 20, Ubuntu 18, Debian 11, and Debian 10 for 'zero configuration' setup, which allows for seamless integration with minimal configuration.

Can IronOCR be used with Docker on Linux?

Yes, IronOCR can be used with Docker on Linux. Debian 10 is the default Linux distribution used by Microsoft when adding Docker support to a .NET project in Visual Studio, making it compatible with IronOCR.

Is it necessary to modify my C# code to run IronOCR on Linux?

No, it is not necessary to modify your C# code to run IronOCR on Linux. The software is designed to work out of the box on supported Linux distributions due to extensive testing and configuration.

Why is using long-term support (LTS) versions of .NET Core recommended with IronOCR?

Using long-term support (LTS) versions of .NET Core is recommended with IronOCR because it ensures stability and reliability, especially when deploying applications on Linux-based cloud services like Azure and AWS.

How can I install necessary packages for IronOCR on Ubuntu 20?

To install the necessary packages for IronOCR on Ubuntu 20, update your package list and install the required dependencies using the commands: sudo apt update and sudo apt install -y apt-utils libgdiplus libc6-dev.

What should I do if my Linux distribution is not officially supported by IronOCR?

If your Linux distribution is not officially supported by IronOCR, you can still use the software by updating your package list and installing the necessary packages and Tesseract OCR using your package manager.

Why is Linux support critical for OCR software?

Linux support is critical for OCR software like IronOCR because many cloud services, such as Azure Web Apps, Azure Functions, AWS EC2, AWS Lambda, and Azure DevOps Docker, rely heavily on Linux, making it essential for enterprise and SaaS solutions.

Chaknith Bin
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.