Create Barcode from Text, URLs, IDs, Numbers, Binary Data & Memory Streams

Barcodes can be generated from strings, binary data, or memory streams. These data formats can be used as input in the BarcodeWriter.CreateBarcode() method.


Get started with IronBarcode

Start using IronBarcode in your project today with a free trial.

First Step:
green arrow pointer

Create Barcode From String

The following code snippet demonstrates how to write barcodes with a string:

:path=/static-assets/barcode/content-code-examples/how-to/create-barcode-from-string.cs
using IronBarCode;

string text = "Hello, World!";
string url = "https://ironsoftware.com/csharp/barcode/";
string receiptID = "2023-08-04-12345"; // Receipt ID (numeric id)
string flightID = "FLT2023NYC-LAX123456"; // Flight ID (alphanumeric id)
string number = "1234";

BarcodeWriter.CreateBarcode(text, BarcodeEncoding.Aztec).SaveAsPng("text.png");
BarcodeWriter.CreateBarcode(url, BarcodeEncoding.QRCode).SaveAsPng("url.png");
BarcodeWriter.CreateBarcode(receiptID, BarcodeEncoding.Code93, 250, 67).SaveAsPng("receiptID.png");
BarcodeWriter.CreateBarcode(flightID, BarcodeEncoding.PDF417, 250, 67).SaveAsPng("flightID.png");
BarcodeWriter.CreateBarcode(number, BarcodeEncoding.Codabar, 250, 67).SaveAsPng("number.png");
Imports IronBarCode

Private text As String = "Hello, World!"
Private url As String = "https://ironsoftware.com/csharp/barcode/"
Private receiptID As String = "2023-08-04-12345" ' Receipt ID (numeric id)
Private flightID As String = "FLT2023NYC-LAX123456" ' Flight ID (alphanumeric id)
Private number As String = "1234"

BarcodeWriter.CreateBarcode(text, BarcodeEncoding.Aztec).SaveAsPng("text.png")
BarcodeWriter.CreateBarcode(url, BarcodeEncoding.QRCode).SaveAsPng("url.png")
BarcodeWriter.CreateBarcode(receiptID, BarcodeEncoding.Code93, 250, 67).SaveAsPng("receiptID.png")
BarcodeWriter.CreateBarcode(flightID, BarcodeEncoding.PDF417, 250, 67).SaveAsPng("flightID.png")
BarcodeWriter.CreateBarcode(number, BarcodeEncoding.Codabar, 250, 67).SaveAsPng("number.png")
$vbLabelText   $csharpLabel

In this code snippet, we encode five different examples of data into five different barcode types: simple text to Aztec, URL to QR Code, a numeric ID to Code 93, an alphanumeric ID to PDF417, and a number to Codabar. The images are then saved as PNG.

Text
URL
Receipt ID
Flight ID
Number

Create Barcode From Byte Array

To create barcodes from data from a byte array, ensure the character encoding aligns with the required BarcodeEncoding, since each barcode type accepts a different character encoding. Here are the different character encodings that can be used in IronBarcode:

  • ASCII (American Standard Code for Information Interchange):

    • Uses 7 bits to represent each character, including English letters, digits, punctuation, and control characters.
    • Example: The ASCII code for the letter 'A' is 65, 'B' is 66, and so on.
  • UTF-8 (Unicode Transformation Format 8-bit):

    • UTF-8 is a variable-length character encoding that can represent all Unicode characters.
    • Example: The UTF-8 encoding of the Euro symbol (€) is the sequence 0xE2 0x82 0xAC.
  • UTF-16 (Unicode Transformation Format 16-bit):

    • Uses 16-bit sequences to encode characters, representing the entire Unicode character set.
    • Example: The UTF-16 encoding of the Greek letter alpha (α) is 0x03B1.
  • UTF-32 (Unicode Transformation Format 32-bit):

    • Uses a fixed 32-bit sequence for each character.
    • Example: The UTF-32 encoding of the Greek letter alpha (α) is 0x000003B1.
  • ISO-8859-1 (Latin-1):
    • Extends ASCII to include characters from Western European languages, using 8 bits for each character.
    • Example: The ISO-8859-1 code for 'é' is 233.

[{i:The default character encoding in IronBarcode is ISO-8859-1.}]

The following code snippet demonstrates generating a barcode from byte data:

:path=/static-assets/barcode/content-code-examples/how-to/create-barcode-from-byte.cs
using IronBarCode;
using System.Text;

byte[] text = Encoding.UTF8.GetBytes("Hello, World!");
byte[] url = Encoding.UTF8.GetBytes("https://ironsoftware.com/csharp/barcode/");
byte[] receiptID = Encoding.UTF8.GetBytes("2023-08-04-12345"); // Receipt ID (numeric id)
byte[] flightID = Encoding.UTF8.GetBytes("FLT2023NYC-LAX123456"); // Flight id (alphanumeric id)
byte[] number = Encoding.UTF8.GetBytes("1234");

BarcodeWriter.CreateBarcode(text, BarcodeEncoding.Aztec).SaveAsPng("text.png");
BarcodeWriter.CreateBarcode(url, BarcodeEncoding.QRCode).SaveAsPng("url.png");
BarcodeWriter.CreateBarcode(receiptID, BarcodeEncoding.Code93, 250, 67).SaveAsPng("receiptID.png");
BarcodeWriter.CreateBarcode(flightID, BarcodeEncoding.PDF417, 250, 67).SaveAsPng("flightID.png");
BarcodeWriter.CreateBarcode(number, BarcodeEncoding.Codabar, 250, 67).SaveAsPng("number.png");
Imports IronBarCode
Imports System.Text

Private text() As Byte = Encoding.UTF8.GetBytes("Hello, World!")
Private url() As Byte = Encoding.UTF8.GetBytes("https://ironsoftware.com/csharp/barcode/")
Private receiptID() As Byte = Encoding.UTF8.GetBytes("2023-08-04-12345") ' Receipt ID (numeric id)
Private flightID() As Byte = Encoding.UTF8.GetBytes("FLT2023NYC-LAX123456") ' Flight id (alphanumeric id)
Private number() As Byte = Encoding.UTF8.GetBytes("1234")

BarcodeWriter.CreateBarcode(text, BarcodeEncoding.Aztec).SaveAsPng("text.png")
BarcodeWriter.CreateBarcode(url, BarcodeEncoding.QRCode).SaveAsPng("url.png")
BarcodeWriter.CreateBarcode(receiptID, BarcodeEncoding.Code93, 250, 67).SaveAsPng("receiptID.png")
BarcodeWriter.CreateBarcode(flightID, BarcodeEncoding.PDF417, 250, 67).SaveAsPng("flightID.png")
BarcodeWriter.CreateBarcode(number, BarcodeEncoding.Codabar, 250, 67).SaveAsPng("number.png")
$vbLabelText   $csharpLabel

In the given snippet, 5 string inputs are transformed into a System.Byte[] object. To convert these byte arrays into barcodes, include them as parameters in BarcodeWriter, along with the desired BarcodeEncoding. Optionally, set MaxWidth and MaxHeight for barcode size.

Create Barcode From Memory Stream

The following code snippet demonstrates how to generate a barcode from a memory stream:

:path=/static-assets/barcode/content-code-examples/how-to/create-barcode-from-stream.cs
using IronBarCode;
using System.IO;
using System.Text;

MemoryStream text = new MemoryStream(Encoding.UTF8.GetBytes("Hello, World!"));
MemoryStream url = new MemoryStream(Encoding.UTF8.GetBytes("https://ironsoftware.com/csharp/barcode/"));
MemoryStream receiptID = new MemoryStream(Encoding.UTF8.GetBytes("2023-08-04-12345")); // Receipt ID (numeric id)
MemoryStream flightID = new MemoryStream(Encoding.UTF8.GetBytes("FLT2023NYC-LAX123456")); // Flight id (alphanumeric id)
MemoryStream number = new MemoryStream(Encoding.UTF8.GetBytes("1234"));

BarcodeWriter.CreateBarcode(text, BarcodeEncoding.Aztec).SaveAsPng("text.png");
BarcodeWriter.CreateBarcode(url, BarcodeEncoding.QRCode).SaveAsPng("url.png");
BarcodeWriter.CreateBarcode(receiptID, BarcodeEncoding.Code93, 250, 67).SaveAsPng("receiptID.png");
BarcodeWriter.CreateBarcode(flightID, BarcodeEncoding.PDF417, 250, 67).SaveAsPng("flightID.png");
BarcodeWriter.CreateBarcode(number, BarcodeEncoding.Codabar, 250, 67).SaveAsPng("number.png");
Imports IronBarCode
Imports System.IO
Imports System.Text

Private text As New MemoryStream(Encoding.UTF8.GetBytes("Hello, World!"))
Private url As New MemoryStream(Encoding.UTF8.GetBytes("https://ironsoftware.com/csharp/barcode/"))
Private receiptID As New MemoryStream(Encoding.UTF8.GetBytes("2023-08-04-12345")) ' Receipt ID (numeric id)
Private flightID As New MemoryStream(Encoding.UTF8.GetBytes("FLT2023NYC-LAX123456")) ' Flight id (alphanumeric id)
Private number As New MemoryStream(Encoding.UTF8.GetBytes("1234"))

BarcodeWriter.CreateBarcode(text, BarcodeEncoding.Aztec).SaveAsPng("text.png")
BarcodeWriter.CreateBarcode(url, BarcodeEncoding.QRCode).SaveAsPng("url.png")
BarcodeWriter.CreateBarcode(receiptID, BarcodeEncoding.Code93, 250, 67).SaveAsPng("receiptID.png")
BarcodeWriter.CreateBarcode(flightID, BarcodeEncoding.PDF417, 250, 67).SaveAsPng("flightID.png")
BarcodeWriter.CreateBarcode(number, BarcodeEncoding.Codabar, 250, 67).SaveAsPng("number.png")
$vbLabelText   $csharpLabel

In this snippet, a MemoryStream is created from a System.Byte[] object. This MemoryStream is then used as input in BarcodeWriter.CreateBarcode(), generating a barcode from memory stream data.

Frequently Asked Questions

How can I create a barcode from a string?

You can use the BarcodeWriter.CreateBarcode method from IronBarcode, providing a string as input. For example, to encode 'Hello, World!' to an Aztec barcode, you would call: BarcodeWriter.CreateBarcode('Hello, World!', BarcodeEncoding.Aztec).

What barcode types can be created from a URL?

URLs can be encoded into different barcode types using IronBarcode, such as QR Code. For example, using BarcodeWriter.CreateBarcode('https://example.com', BarcodeEncoding.QRCode) will generate a QR Code from a URL.

What character encodings are supported for creating barcodes from byte arrays?

IronBarcode supports multiple character encodings including ASCII, UTF-8, UTF-16, UTF-32, and ISO-8859-1. You can choose the appropriate encoding based on your data and the barcode type.

How do I generate a barcode from a memory stream?

To generate a barcode from a memory stream using IronBarcode, first convert your data into a byte array, then create a MemoryStream from it. Use the BarcodeWriter.CreateBarcode method with the MemoryStream as input.

Can I save the generated barcode images in different formats?

Yes, using IronBarcode, the resulting barcodes can be saved in multiple image formats. In the examples provided, the barcodes are saved as PNG files using the SaveAsPng method.

What is the default character encoding used?

The default character encoding in IronBarcode is ISO-8859-1.

Hairil Hasyimi Bin Omar
Software Engineer
Like all great engineers, Hairil is an avid learner. He’s refining his knowledge of C#, Python, and Java, using that knowledge to add value to team members across Iron Software. Hairil joined the Iron Software team from Universiti Teknologi MARA in Malaysia, where he graduated with a Bachelor's degree in Chemical and Process Engineering.