In this page, we will learn how to generate Code 39 barcode (a linear, self-checking barcode symbology) in your SQL Server Reporting Service (SSRS) reports in .NET projects.
  • Step-by-step instructions to generate Code 39 barcodes in SSRS Paginated Reports using a SSRS Barcode Generator library.
  • All Code 39 property settings are configured exclusively in the Report Item Property pane during report design in SSRS.
  • Detailed coverage of Code 39 data encoding (standard mode, Full ASCII mode), check digit settings, start/stop characters, and dimension size configurations for SSRS reports.
  • Customization options for Code 39 barcodes (wide/narrow ratio, intercharacter space) to fit your SSRS report layout.

How to create, print Code 39 in SSRS Reports in ASP.NET, WinForms application?

Create Code 39 Barcodes in SSRS Reports Projects Using .NET Control

Generate & print Code39 barcodes in SQL Server Reporting Services 2005, 2008, 2008R2, 2012, 2014

  • Generate Code 39 barcodes in Microsoft SQL Server Reporting Services (SSRS) reports
  • Using Barcode Custom Report Item (CRI) to print Code 39 barcodes.
  • Drag & drop Code 39 barcode report item to your Reporting Service report layout page.
  • Completely developed in C# managed code with digital signature.
  • Fully compatible with SQL Server Reporting Services 2005 and 2008 versions.
  • Reliable & mature Code39 barcode generation for Reporting Service using .NET Barcode Generator.




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:
  • 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:
  • 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:
  • 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:
  • 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:
  • 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:
  • 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:
  • 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:
  • 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.

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.
  • 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.
You can generate and customize Code 39 barcode size through SSRS report item property settings in Visual Studio .NET.

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.







































Start with free trial package:








































Terms of Use | Privacy Policy
Copyright © OnBarcode.com . All rights reserved.