IRONSOFTWAREHOME

IronBarcode Architecture (2025.2+)

Curtis Chau
Curtis Chau
Updated: June 24, 2026

As of version 2025.2, the IronBarcode package is split into separate managed, native, and machine learning layers. The structure mirrors the naming conventions already used by IronOCR and IronPDF, which gives cleaner cross-platform support and easier maintenance.

Package Structure

Main Distribution

The top-level NuGet packages map to a target platform:

  • BarCode: the default package for Windows, and the primary NuGet for general-purpose use.
  • BarCode.Linux, BarCode.MacOS, and similar: OS-specific distributions that follow the same naming convention as IronOCR and IronPDF.

Internal Package Layers

Each top-level package is assembled from several internal subpackages, each owning one concern.

1. BarCode.Slim

Holds the managed core: the C# code, the interop layer, all PDF-related code, and every C# third-party dependency. This is the central logic and binding layer that drives IronBarcode's managed features.

2. IronSoftware.ReaderInternals.XXX

Contains the native C++ code for reading, writing, and detecting barcodes. Platform-specific variants exist for Windows, Linux, Mac, and others.

3. BarCode.Detection

Carries the machine learning detection logic, currently written in C# on top of ONNX Runtime. It does not depend on the OS at this stage.

Please note: BarCode.Detection will eventually move to ncnn, a native C++ ML inference library, which will then introduce OS-specific variants.

Mobile Platform Exclusions

BarCode.Detection is not bundled into Barcode.iOS or Barcode.Android. The omission is deliberate: ML detection raises performance concerns and compatibility limitations on mobile platforms.

Benefits

The restructured architecture delivers:

  • A modular separation between managed and native code.
  • Clean, OS-targeted packaging.
  • Future-proofing for high-performance native ML detection.
  • Closer alignment with the other Iron Software libraries.
  • Easier maintenance and troubleshooting.
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?

Nuget Downloads 2,422,100Version:2026.9just released

Get your free 30-day Trial Key instantly.
No credit card or account creation required
C# NuGet Library for PDF
Install with NuGet

Version: 2026.9

PM > Install-Package BarCode
nuget.org/packages/BarCode/
  1. In Solution Explorer, right-click References, Manage NuGet Packages
  2. Select Browse and search "IronBarCode"
  3. Select the package and install
C# PDF DLL
Download DLL

Version: 2026.9

  1. Download and unzip IronBarCode to a location such as ~/Libs within your Solution directory
  2. In Visual Studio Solution Explorer, right click References. Select Browse, "IronBarCode.dll"

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