Iron Barcode Features for C# & VB .NET
Published: 2022-02-21 08:09:32

---
canonical_url: https://ironsoftware.com/csharp/barcode/features/
---

IronBarCode is a .NET library allowing developers to read and generate barcodes. This leading .NET barcode library IronBarCode supports a wide range of 1 and 2 dimensional barcodes including decorated (colored and branded) QR codes.

## Docs & Support

- Online Object reference documentation
- Useful get started snippets and tutorials on [ironsoftware.com](https://ironsoftware.com/)
- Nuget Installer
- Github repos with more examples
- Supported and regularly updated by Team Iron

## Platform

- Supports .NET Core 2x & 3x, .NET Standard, and .NET Framework 4x
- Full Azure support

## Supported Barcode Formats

### 2 Dimensional Matrix Barcode Formats supporting Text, Numbers and Binary Data

QR Code, Aztec, and Data Matrix .Net reading & creation

![Image 1](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/e342xzz3q6ja6u82xtbw.png)

**READ ONLY**

- MaxiCode "UPS Barcode"
- USPS Intelligent MailBarcode aka "IMB" "USPS OneCode Barcodes" and "IM Barcode"

### Modern Linear Barcode Formats supporting Text, Numbers, and Binary Data

PDF417, Code 39, Code 128 barcode generator for C#

![Image 2](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/yvnj57158qh9fcb7klo6.png)
 
**READ ONLY**

- Rss14 (with support for stacked linear rendering). Aka "Reduce Space Symbology 14 barcode"
- RSS Expanded aka "GS1 Databar" or just "Databar"

### Older Linear Barcode Formats supporting Numeric codes only

![Image 3](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/mnl37dwb80qwospxo392.png)

## Barcode Reading Features

### Get Started Quickly

IronBarcode.BarcodeReader Static Class API makes barcode and QR reading a 1 line task.

The QuicklyReadOneBarcode and QuicklyReadAllBarcodes methods have automatic settings which analyze your input documents and make judgement calls on all advanced settings, suitable for the majority of use cases.

This gives ease of use while providing a calculated balance of speed vs accuracy.

### Read Any Image or PDF

Supports barcode reading from:

- Jpeg, Jpeg2000, Png, Bmp, Tiff & Gif Image formats from files
- System.Drawing.Image, System.Drawing.Bitmap Objects and System.IO.Stream
- Read one or many frames from within multi-page GIF and TIFF images
- Read Barcodes from PDF documents on single, multiple or all pages

### IronBarcode.BarcodeReader Settings

**Greater accuracy and performance**
- Specify the reader to scan for 1, many or all BarcodeFormats for greater accuracy and performance
- Choose to specify Crop Areas within scanned document regions to increase accuracy and efficiency
- BarcodeResult image objects, can be disabled to further increase performance
- Automatically managed Multithreading for batch barcode scanning and and also for reading multiple pages within Multi-Frame Tiffs, Gifs and PDFs

**Image Correction to Read Barcodes that other libraries can not**

- Document noise and contrast correction to read imperfect scans and photographs
- Orientation correction which will un-rotate and remove perspective from images to make distorted barcodes readable
- Repairs small (thumbnail) images or land digital noise within barcodes to make them readable
- Full support of all native image formats including opacity

### IronBarcode.BarcodeReader Output

- Text barcode Data. all .Net text encodings supported, default as UTF-8)
- Numerica Data
- Binary Data
- A System.Drawing.Bitmap of the Barcode which was read

## Barcode Writing Features

### Developer Friendly

A fault tolerant barcode and QR writing API using the BarcodeWriter and QRCodeWriter static classes. In most cases, Barcode data can be retrieved in 2 lines of code.

**Fault Tolerance**
- Null checking
- Automatic checking, correction addition of checksums such as GTIN checksums for UPC-A and UPC-E barcodes
- Aware of format lengths and will zero pad numbers to ensure valid barcodes are generated
- A detailed Exception model comprising of 7 custom exception types which guides developers to solve critical issues giving detailed error messages.

**Easy Encoding**
- Encodes text, urls, binary data (byte[], streams) and numbers depending on format support.
- Static BarcodeWriter class makes creating a barcode image a 1 line code task.

### Detailed Style and Layout Control

A LINQ style Fluent API for the GeneratedBarcode class allows for inline barcode styling including:

- Resizing while automatically keeping valid barcode proportions.
- Add margins / borders
- Check final image dimensions
- Recoloring barcodes and their backgrounds
- Verify barcodes are readable after styling using a single method call
- Add text annotations or print the barcode values automatically above or below any barcode using any installed typeface. Features automatic text sizing and positioning.

### Barcode Export Formats

**Export as Images**
- Save as Image Files Jpeg, Jpeg2000, Png, Bmp, - Tiff & Gif Image formats
- Save as Image Streams
- Save to System.Drawing.Image
- Save to System.Drawing.Bitmap
- Save to System.IO.Stream

**Export to HTML**
- Save to a DataURI for inline embedding in HTML
- Save to a complete HTML img with the full barcode image embedded
- Save as an HTML File

**Export to PDF or Add to an existing PDF**
- SaveAs Pdf File, PDF Stream or PDF binary data
- Stamp / Annotate onto a set position within an Existing PDF

### Extended QR code Support

Class QRCodeWriter provides advanced support for rendering QR codes with advanced features:

- Custom QR Error Correction settings allowing barcodes to become faster to read and more fault tolerant
- Add Logos to QR codes with automatic "snap to QR grid" image alignment
- Support for colored QR codes