Code 39 Barcode Data Characters Encoding in SSRS Reports
Code 39 supports two main encoding modes: Standard Mode and Full ASCII Mode. Both can be easily implemented in your SSRS reports, with all settings configured in the Report Item Property pane.
Code 39 Standard Mode
Code 39 Standard Mode supports 43 characters, which is suitable for most basic SSRS report use cases (e.g., product codes, serial numbers). The supported characters include:
To use Code 39 Standard Mode in your SSRS report:
- Numeric digits: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9
- Uppercase letters: A - Z
- Special characters: - (Dash), $ (Dollar), % (Percentage), (Space), . (Point), / (Slash), + (Plus)
- Start/Stop character (asterisk *) Automatically added by the library, no need to include in your data
To use Code 39 Standard Mode in your SSRS report:
- Set the Type property to CODE39 in the Report Item Property pane.
- Set the Data property to the data you want to encode (bind to an SSRS dataset Field).
Code 39 Full ASCII Mode
Code 39 Full ASCII Mode supports the full 128-character ASCII set (per ISO 646 IRV). This is ideal for SSRS reports that require lowercase letters or additional special characters.
To use Code 39 Full ASCII Mode in your SSRS report:
To use Code 39 Full ASCII Mode in your SSRS report:
- Set the Type property to CODE39 EX in the Report Item Property pane
- Set the Data property to the full ASCII data (bind to an SSRS dataset Field with lowercase or special characters).
Note: Ensure your barcode scanner supports Full ASCII Mode if you use CODE39 EX in your SSRS report. Otherwise, the barcode may not scan correctly.
Code 39 Barcode Check Digit
Code 39 does not include a check digit by default.
However, for SSRS reports requiring enhanced data security (e.g., inventory tracking, order processing), you can add a modulo 43 (MOD43) check digit.
To add a check digit to Code 39 in your SSRS report:
To add a check digit to Code 39 in your SSRS report:
- Set the AddCheckSum property to true in the Report Item Property pane.
Hide Check Digit in HRI
You can enable the check digit for data security but hide it in the HRI (Human Readable Interpretation). The text displayed below the barcode in your SSRS report.
To hide the check digit in HRI:
To hide the check digit in HRI:
- Set the ShowCheckSumChar property to false in the Report Item Property pane.
Code 39 Start/Stop Characters
Code 39 uses the asterisk (*) as Start and Stop characters. These characters are required for scanning but should not be part of your SSRS dataset data. The SSRS Barcode library adds them automatically.
You can control whether the Start/Stop characters (asterisks) are displayed in the HRI of your SSRS report:
You can control whether the Start/Stop characters (asterisks) are displayed in the HRI of your SSRS report:
- Set the ShowStartStopInText property to false to hide the asterisks in HRI (recommended for SSRS reports for cleaner display).
- Set it to true if you need the asterisks to be visible in the HRI.
Code 39 Barcode Dimension Size in SSRS Reports
You can fully customize the size of your Code 39 barcode to fit your SSRS report's layout. All dimension settings are configured in the Report Item Property pane of the Image control.
Here are the key configurable properties:
Here are the key configurable properties:
- UOM (Unit of Measure): Choose PIXEL, CM, or INCH. Match this to your SSRS report's unit settings for consistency.
- X: Width of the narrow element (minimum width is defined by your application's specifications).
- Y: Height of the barcode module (adjust based on your SSRS report's vertical space).
- N: Wide/narrow ratio. Valid values range from 2.0 to 3.0 (inclusive), default is 2.0.
- I: Width of the intercharacter gap (space between two characters):
- Minimum gap is equal to X (narrow element width).
- Maximum gap: For X < 0.287mm, it is 5.3X; for X ≥ 0.287mm, it is 1.52mm or 3X (whichever is greater).
- LeftMargin, RightMargin: Quiet zones (empty space around the barcode). Minimum width is 10X (critical for scannability).
Note: Insufficient quiet zones (less than 10X) will make the Code 39 barcode unreadable after Report Deployment to the SSRS Web Portal.
Customize Code 39 Barcode in SSRS Reports
You can further customize your Code 39 barcode's appearance to fit your SSRS report's design using two key bar and space module properties (both configured in the Report Item Property pane):
- N: Wide bar width vs narrow bar width ratio (valid values: 2.0 - 3.0 inclusive, default is 2.0).
- I: Intercharacter space (space between two characters), which is a multiple of X (narrow bar width, default is 1.0f).
Wide Bar vs Narrow Bar Ratio (N)
The ratio N controls the width of wide bars relative to narrow bars. Adjust this to make the barcode more scannable or to fit your SSRS report's layout.
To set the ratio N in your SSRS report:
To set the ratio N in your SSRS report:
- Set the N property to your desired value (2.0 to 3.0) in the Report Item Property pane
Intercharacter Space (I)
The intercharacter space (I) controls the gap between individual characters in the Code 39 barcode. Adjust this to improve readability or fit your SSRS report's space constraints.
To set the intercharacter space in your SSRS report:
To set the intercharacter space in your SSRS report:
- Set the I property to your desired multiple of X (default is 1.0f) in the Report Item Property pane.
Summary
This guide provides a complete workflow for printing Code 39 barcodes in SQL Server Reporting Service (SSRS) reports in C# ASP.NET, Windows Form application.
Every aspect of Code 39 implementation, from basic generation and data encoding (Standard Mode and Full ASCII Mode) to check digit settings, start/stop characters, dimension customization, and appearance tweaks, is detailed explained specifically for SSRS report projects.
Common Asked Questions
What is the use of Code 39 barcode?
Code 39, also known as Code 3 of 9, is the first barcode symbology to encode both numbers and letters (Upper case letters only). It is most commonly used in
the inventory, government, military, automotive and electronics industries.
Using SQL Server Reporting Services barcode generator library, you can create, print, and insert Code 39 barcodes in SSRS report designer, and preview them in SSRS report viewer using Visual Studio .NET. You will easiy enable Code 39 barcode generation functions in SSRS reports in ASP.NET Core, Windows Forms applications.
Using SQL Server Reporting Services barcode generator library, you can create, print, and insert Code 39 barcodes in SSRS report designer, and preview them in SSRS report viewer using Visual Studio .NET. You will easiy enable Code 39 barcode generation functions in SSRS reports in ASP.NET Core, Windows Forms applications.
What is the difference between barcode 39 and barcode 93?
Bath Code 39 and Code 93 are linear (1d) barcode formats.
Code 93 is an updated version of Code 39. Code 93 is a higher-density barcode type compared to Code 39.
Using SQL Server Reporting Services barcode generator software, you can create both Code 39 and Code 93 in SSRS reports.
What is the difference between Code 39 and Code 128 barcodes?
Bath Code 39 and Code 128 are linear (1d) barcode symbologies.
Code 128 requires a compulsory checksum digit. If the Code 128 barcode is damaged, it may still be scannable. Code 39 checksum is optional.
If the Code 39 barcode without checksum is damaged, it won't be scannable.
Using SQL Server Reporting Services barcode generator software, you can create both Code 39 and Code 93 in SSRS reports in Visual Studio ASP.NET, MVC, Windows Forms projects.
Can Code 39 barcode encode lowercase letters in SSRS reports?
Code 39 barcode standard version does not support lowercase letters encoding, it supports uppercase letters only.
However the Code 39 extended version does. OnBarcode SQL Server Reporting Services Barcode Generator software does support both Code 39 standard and extend versions.
You can quickly draw, print and insert Code 39 with uppcase and lowercase letters in SSRS reports.
What is the minimum size for Code 39 barcode?
The recommended minimum height for Code 39 manual scanning is 5.0mm or 15 % of Code 39 width (excluding quiet zones), whichever is greater.
Code 39 barcodes need meet the following barcode dimension size requirements.
Code 39 barcodes need meet the following barcode dimension size requirements.
- X (X): the mimumum bar width (X module) is defined by the application specification.
- Y: the minimum height is 5.0mm or 15% of symbol width (excluding quiet zones), whichever is greater.
What is the ratio of narrow to wide bars in Code 39 barcode?
The valid wide bar vs narrow bar ratio of Code 39 barcode is from 2 to 3 inclusive. By default, the SQL Server Reporting Services barcode software will apply bar ratio as 3.
You can print and customize the Code 39 in SSRS report through property
N in SSRS report item property settings in Visual Studio .NET.
