IRONSOFTWAREHOME

How to Use IronPdfEngine with Node.js

Curtis Chau
Curtis Chau
Updated: August 2, 2026

IronPdfEngine is a gRPC server that handles all PDF operations - creation, editing, and reading - on behalf of the Node.js client. The @ironsoftware/ironpdf package is a thin API wrapper that communicates with IronPdfEngine over gRPC; every method call in your Node.js code is executed inside that server process. By default, IronPDF for Node.js spawns IronPdfEngine as a local subprocess, but you can also point it at a remotely hosted instance for shared or containerized deployments.

Quickstart: Set Up IronPdfEngine for Node.js

Install the package and IronPdfEngine runs automatically on the first PDF operation:

npm i @ironsoftware/ironpdf


Why Does IronPDF for Node.js Require IronPdfEngine?

IronPDF for Node.js does not bundle a standalone PDF renderer. The Node.js package is a gRPC client, and IronPdfEngine is the server that performs the actual rendering, editing, and reading work. When your application calls any IronPDF method, the request travels over gRPC to the engine process, which returns the result to your Node.js code.

This architecture keeps the Node.js package lightweight and isolates the rendering environment. It also means the engine version must match the package version exactly - cross-version combinations are not supported.

Please note: Each version of @ironsoftware/ironpdf requires the same-version IronPdfEngine. Verify compatibility by reading the IronPdfGlobalConfig.ironPdfEngineVersion property before deploying any engine update.

How Do You Run IronPdfEngine Locally?

Local deployment is the default mode. IronPDF for Node.js spawns IronPdfEngine as a subprocess at startup and communicates with it until your application shuts down. Two installation approaches are available, each with different tradeoffs.

Option 1: Download IronPdfEngine at Runtime

After installing @ironsoftware/ironpdf, no additional packages are required. On the first run, IronPDF detects the host platform (for example, Windows x64) and downloads the matching IronPdfEngine binaries from the internet.

npm i @ironsoftware/ironpdf

Pros:

  • Keeps the application package small.
  • Deploys to multiple platforms without platform-specific configuration.

Cons:

  • Requires internet access on the first few runs.
  • Slower startup time on initial execution while binaries are fetched.

IronPDF for Node.js supports dedicated engine packages that bundle the IronPdfEngine binary for a specific platform. Install one or more of these packages alongside the main library to eliminate the runtime download.

Important: The ironpdf and ironpdf-engine-xxx-xxx packages must be the same version. The engine package version number refers to the IronPDF release, not the internal engine build.

Windows x64:

npm install @ironsoftware/ironpdf-engine-windows-x64

Windows x86:

npm install @ironsoftware/ironpdf-engine-windows-x86

Linux x64:

npm install @ironsoftware/ironpdf-engine-linux-x64

macOS x64:

npm install @ironsoftware/ironpdf-engine-macos-x64

macOS arm64:

npm install @ironsoftware/ironpdf-engine-macos-arm64

Pros:

  • Faster startup - no download needed at runtime.
  • No internet access required after the dependency is installed.

Cons:

  • Larger application package size.
  • Requires specifying target platforms at build time.

How Do You Connect to a Remote IronPdfEngine?

Remote deployment is appropriate when PDF generation is a shared service - for example, in a containerized microservices architecture, a Kubernetes cluster where multiple Node.js services share one engine pod, or any environment where centralizing the rendering process reduces per-service overhead. Before connecting, pull and start the IronPdfEngine Docker image by following How to Pull and Run IronPdfEngine.

How Do You Verify the Required Engine Version?

The engine version must match the Node.js package version. Read the ironPdfEngineVersion property to confirm which version to pull:

const ironPdfEngineVersion = IronPdfGlobalConfig.ironPdfEngineVersion;
console.log(`Required IronPdfEngine version: ${ironPdfEngineVersion}`);
JavaScript

Use the printed version number when specifying the Docker image tag. Running a mismatched version will cause gRPC communication errors.

How Do You Configure the Remote Connection?

Assume IronPdfEngine is running at 123.456.7.8:33350. Place the configuration call at the start of your application - before any IronPDF method invocation.

IronPdfGlobalConfig.setConfig({
    ironPdfEngineDockerAddress: "123.456.7.8:33350"
});
JavaScript

The address must be accessible from the Node.js host. Verify that no firewall rule blocks port 33350 between the application server and the engine host.

Tips: When using a remote IronPdfEngine, you do not need to install any ironpdf-engine-xxx-xxx dependency package. The local engine is bypassed entirely once ironPdfEngineDockerAddress is set.

What Are the Next Steps?

Setting up IronPdfEngine is the foundation for all PDF work in Node.js. Once the engine is running - locally or remotely - the full IronPDF API is available: convert HTML to PDF, merge documents, add stamps and watermarks, extract text, and more.

Frequently Asked Questions

What is IronPdfEngine used for in Node.js applications?

IronPdfEngine is a gRPC server that performs all PDF operations such as creation, editing, and reading, as an underlying service for Node.js applications using IronPDF.

How do you install IronPDF for Node.js?

You can install IronPDF for Node.js by running `npm install @ironsoftware/ironpdf`. This will also set up the IronPdfEngine as needed for PDF operations.

Can IronPdfEngine be deployed remotely?

Yes, IronPdfEngine can be deployed remotely for containerized or shared environments. It requires configuring the IronPdfEngine Docker address in your Node.js application settings.

Why do IronPDF and IronPdfEngine versions need to match?

The IronPDF package for Node.js communicates with IronPdfEngine via gRPC, requiring both versions to be identical to ensure compatibility and avoid communication errors.

What are the differences between runtime download and pre-installed dependencies for IronPdfEngine?

Runtime download keeps the application small and supports multi-platforms, but requires internet access and can delay startup. Pre-installed dependencies offer faster startup and no need for internet after installation but increase package size and require platform-specific setups.

How is IronPdfEngine started in a local setup?

In a local deployment, IronPdfEngine is automatically started as a subprocess on the first PDF operation after installing the IronPDF package for Node.js.

Is internet required to run IronPdfEngine locally after the initial setup?

No internet is required for running IronPdfEngine locally after the initial setup if you use pre-installed platform-specific engine packages.

How can you verify the required IronPdfEngine version for Node.js?

The required IronPdfEngine version for Node.js can be verified using the `IronPdfGlobalConfig.ironPdfEngineVersion` property to ensure compatibility before deploying.

What is the advantage of deploying IronPdfEngine as a remote service?

Deploying IronPdfEngine remotely centralizes the PDF rendering process, reduces per-service overhead, and suits environments like containerized microservices and Kubernetes clusters.

Curtis Chau
Technical Writer

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.

...
Read More

Ready to Get Started?

Version:2026.8just released

Get your free 30-day Trial Key instantly.
No credit card or account creation required
Node.js Module Download for PDF
Install with npm

Version: 2026.8

  1. Download and install Node.js 12+.
  2. Execute the above command in the terminal.

Licenses from $999

Key in blue circle

Get your free 30-day Trial Key instantly.

Your trial license will be sent to your email address

No limitations. 100% unlocked. No credit card.

bullet_checkedNo credit card or account creation requiredNo limitations. 100% unlocked. No credit card.
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
Join Millions of Engineers who’ve tried IronPDF
Book your free Live Demo
Booking Badge

Trusted by Millions of Engineers Worldwide

Iron Software's customer logos
Get Your No-Obligation Consult
Complete the form below or email sales@ironsoftware.com
Your details will always be kept confidential.
Trusted by Millions of Engineers Worldwide
Iron Software's customer logos
Get your free 30-day Trial Key instantly.
No credit card or account creation required