Installation Overview

Complete guide to installing and configuring IronPDF across all platforms.

Nuget IconGet started making PDFs with NuGet now:

  1. Install IronPDF with NuGet Package Manager

    PM > Install-Package IronPdf

  2. Copy and run this code snippet.

    IronPdf.ChromePdfRenderer
           .StaticRenderHtmlAsPdf("<p>Hello World</p>")
           .SaveAs("pixelperfect.pdf");
  3. Deploy to test on your live environment

    Start using IronPDF in your project today with a free trial
    arrow pointer

1. Platform Requirements

Platform.NET VersionHardwareAdditional Requirements, Compatibility
Logo Table Windows related to 1. Platform Requirements
Windows
.NET 9, 8, 7, 6, 5, .NET Core, .NET Standard, and .NET Framework.
  • Minimum: 1 Core & 1.75 GB of RAM
  • Recommended: 2 Cores & 8 GB of RAM or above
  • Windows 10, 11, and Windows Server
  • Visual C++ Redistributable (x86 & x64)
Logo Table Linux related to 1. Platform Requirements
Linux
  • 64-bit Linux OSs: Ubuntu 22, Ubuntu 20, Ubuntu 18, Ubuntu 16, Debian 10-11m CentOS 8, Fedora Linux 33, Amazon, AWS, Linux 2
  • IronCefSubprocess
  • Chrome dependencies
Logo Table Mac related to 1. Platform Requirements
macOS
All macOS versions since 2020

2. Installation Methods

There are two ways you can install IronPDF: native mode and remote engine. By default, native mode is recommended. For deploying to production servers using Docker/Kubernetes, use remote engine mode.

Remote Engine Mode Separate PDF processing via gRPC protocol.
  • Best for: Cloud and containerized deployments, legacy OS support.
  • Package: IronPdf.Slim
  • Size: More lightweight, taking up a few MB.
  • Requirements: Requires configuring the connection to host.

3. Installation Options

Installing the C# PDF library takes less than 5 minutes. Get it free via NuGet or direct download and start using it in Visual Studio right away.

NuGet Package
Manual Download
Remote IronPdfEngine

Go to the IronPDF NuGet library (or Package Manager Console in Visual Studio)

  1. In Solution Explorer, right-click on References
  2. Select 'Manage NuGet Packages' > 'Browse' > Search IronPdf
  3. Select the package and install.
Install-Package IronPdf
  1. Download IronPDF DLL package for your platform: Windows, Linux, macOS
  2. Unzip the ZIP file for your OS to a location within your Solution directory.
  3. In Visual Studio Solution Explorer, right-click on 'Dependencies.'
  4. 'Add Project Reference' > Select 'Browse' to include all the DLLs extracted from the zip.

Please notePlease note: Each IronPDF release requires the matching version of IronPdfEngine. Cross-version support isn’t available. For example, IronPDF 2024.2.2 must use IronPdfEngine 2024.2.2.

Install IronPdf using NuGet.

Install-Package IronPdf.Slim

4. Additional Configurations

Manage License
Path & Permission
Remote Engine

After you’ve purchased or signed up for a 30-day trial of IronPDF, find the license key sent to your email.

Add your license key at the start of your application.

IronPdf.License.LicenseKey = "KEY";
IronPdf.License.LicenseKey = "KEY";
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

Check license status.

bool valid = IronPdf.License.IsLicensed;
bool valid = IronPdf.License.IsLicensed;
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

Set the TempFolderPath property of the IronPdf.Installation object.

IronPdf.Installation.TempFolderPath = @"C:\My\Safe\Path";
IronPdf.Installation.TempFolderPath = @"C:\My\Safe\Path";
IronPdf.Installation.TempFolderPath = "C:\My\Safe\Path"
$vbLabelText   $csharpLabel

TipsMake sure to clear all temp and cache folders on your development and servers, then redeploy a clean version of your application after updating a path.

Setting the temp folder environment variable at application scope.

using IronPdf;

// Adjusts System.IO.Path.GetTempFileName and System.IO.Path.GetTempPath behavior for the application
var MyTempPath = @"C:\Safe\Path\";
Environment.SetEnvironmentVariable("TEMP", MyTempPath, EnvironmentVariableTarget.Process);
Environment.SetEnvironmentVariable("TMP", MyTempPath, EnvironmentVariableTarget.Process);

// Set IronPDF Temp Path
IronPdf.Installation.TempFolderPath = System.IO.Path.Combine(MyTempPath, "IronPdf");

// Your PDF Generation and editing code
var Renderer = new IronPdf.ChromePdfRenderer();
using var Doc = Renderer.RenderHtmlAsPdf("<h1>Html with CSS and Images</h1>");
Doc.SaveAs("example.pdf");
using IronPdf;

// Adjusts System.IO.Path.GetTempFileName and System.IO.Path.GetTempPath behavior for the application
var MyTempPath = @"C:\Safe\Path\";
Environment.SetEnvironmentVariable("TEMP", MyTempPath, EnvironmentVariableTarget.Process);
Environment.SetEnvironmentVariable("TMP", MyTempPath, EnvironmentVariableTarget.Process);

// Set IronPDF Temp Path
IronPdf.Installation.TempFolderPath = System.IO.Path.Combine(MyTempPath, "IronPdf");

// Your PDF Generation and editing code
var Renderer = new IronPdf.ChromePdfRenderer();
using var Doc = Renderer.RenderHtmlAsPdf("<h1>Html with CSS and Images</h1>");
Doc.SaveAs("example.pdf");
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

TipsOn a locked down server, give the IIS user (IUSER) read and write permissions to your installation path folder, as well as to your Windows and Temp Folder.

[Remote IronPdfEngine] After installing the IronPdf.Slim package, connect to the engine container and configure the connection at app startup or before calling any IronPDF method.

Assuming IronPdfEngine runs remotely at 123.456.7.8:33350:

Installation.ConnectToIronPdfHost(
    IronPdf.GrpcLayer.IronPdfConnectionConfiguration.RemoteServer("123.456.7.8:33350")
);
Installation.ConnectToIronPdfHost(
    IronPdf.GrpcLayer.IronPdfConnectionConfiguration.RemoteServer("123.456.7.8:33350")
);
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

[Linux] Enable IronPDF to auto-install all required Linux dependencies. The first HTML-to-PDF operation may take longer than usual.

Installation.LinuxAndDockerDependenciesAutoConfig = true;
Installation.LinuxAndDockerDependenciesAutoConfig = true;
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

[Docker] Pre-initialize Chrome engine to preload prerequisites and speed up first-time use in Docker.

IronPdf.Installation.Initialize();
IronPdf.Installation.Initialize();
IronPdf.Installation.Initialize()
$vbLabelText   $csharpLabel

5. Deployment Scenarios

Logo Azure related to 5. Deployment Scenarios

Run & Deploy IronPDF .NET on

Azure Function
Logo Aws related to 5. Deployment Scenarios

Run & Deploy IronPDF .NET on

AWS Lambda
Logo Remote related to 5. Deployment Scenarios

Run IronPDF as a

Remote Container

Next Steps


Frequently Asked Questions

How can I set up IronPdfEngine for remote PDF generation?

To set up IronPdfEngine for remote PDF generation, install the `IronPdf.Slim` package from NuGet and configure the connection settings using the `IronPdfConnectionConfiguration` class. This setup allows you to connect your application to the IronPdfEngine instance remotely.

What are the main benefits of using IronPdfEngine with my application?

Using IronPdfEngine with your application allows for remote execution of PDF tasks, helping avoid platform-specific compatibility issues, especially on older systems and mobile platforms. It also eliminates the need for the .NET runtime during execution.

Why might I choose to use IronPdfEngine instead of the native PDF library?

You might choose IronPdfEngine to run performance-intensive PDF functions remotely, reducing compatibility issues with different operating systems and improving performance by leveraging a Chrome-identical renderer for HTML to PDF conversion.

Is horizontal scaling supported in IronPdfEngine?

No, IronPdfEngine currently does not support horizontal scaling, which means it cannot be load-balanced across multiple instances due to the way PDF file binaries are handled in server memory.

Can IronPdfEngine run on different operating systems?

IronPdfEngine is designed to run on Linux systems using Docker containers. However, the binaries are platform-specific, so you need to ensure you are using the correct version for your operating system.

What should I do if my PDF outputs are different when using IronPdfEngine?

PDF outputs may vary slightly due to different operating system behaviors. To minimize differences, ensure you are using the correct Docker image and check for any OS-specific settings that might affect rendering.

How do I ensure my application is using the correct version of IronPdfEngine?

To ensure compatibility, each version of IronPDF requires a matching version of IronPdfEngine. Make sure to update both components simultaneously to avoid cross-version issues.

What are the limitations when using IronPdfEngine on Windows?

When using IronPdfEngine on Windows, you need Linux Containers for Docker and must ensure the server port is reachable. The binaries are platform-specific, and switching to Linux Containers is required.

How do I configure IronPDF to connect to a remote IronPdfEngine server?

To configure IronPDF for a remote server, use Installation.ConnectToIronPdfHost with the IronPdf.GrpcLayer.IronPdfConnectionConfiguration.RemoteServer method, specifying the server's IP and port details.

What package should I use to minimize the application size when using IronPdfEngine?

You should use the `IronPdf.Slim` package from NuGet, as it includes only the necessary components for running IronPDF with IronPdfEngine, thereby reducing the application size.

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.
Ready to Get Started?
Nuget Downloads 15,486,166 | Version: 2025.10 just released