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 generate a barcode from a text string in C#?

To generate a barcode from a text string using IronBarcode, use the BarcodeWriter.CreateBarcode method and provide the string as input. For example, encoding 'SampleText' into a QR Code can be done using BarcodeWriter.CreateBarcode('SampleText', BarcodeEncoding.QRCode).

Is it possible to create barcodes from numeric and alphanumeric IDs?

Yes, you can create barcodes from numeric and alphanumeric IDs using IronBarcode. The BarcodeWriter.CreateBarcode method can encode these IDs into various barcode formats such as Code 93 and Codabar.

How can I convert binary data into a barcode?

To convert binary data into a barcode with IronBarcode, first convert the binary data into a byte array. Then, use the BarcodeWriter.CreateBarcode method to generate the barcode, specifying the desired encoding such as PDF417.

What steps are involved in generating a barcode from a URL?

Generating a barcode from a URL in C# using IronBarcode involves using the BarcodeWriter.CreateBarcode method with the URL as input. For instance, to create a QR Code from 'https://example.com', use BarcodeWriter.CreateBarcode('https://example.com', BarcodeEncoding.QRCode).

How can I ensure character encoding compatibility when creating barcodes from byte arrays?

IronBarcode supports multiple character encodings, including ASCII, UTF-8, UTF-16, UTF-32, and ISO-8859-1. When creating barcodes from byte arrays, choose the encoding that matches your data. The default is ISO-8859-1.

What method should I use to save a generated barcode as an image file?

To save a generated barcode as an image file in IronBarcode, use methods like SaveAsPng to save the barcode as a PNG file. IronBarcode supports saving in various formats, ensuring flexibility in handling the output.

Can I generate a barcode directly from a memory stream?

Yes, you can generate a barcode from a memory stream using IronBarcode. Convert your data into a byte array, create a MemoryStream from it, and then use the BarcodeWriter.CreateBarcode method with the MemoryStream as input.

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 ...Read More