The KeepAutomation GS1-128 Barcode Generator for RDLC is a fully GS1-compliant linear barcode component built for .NET ecosystems.
As a standardized GS1 data carrier, GS1-128 (also referred to as EAN-128) streamlines structured business data encoding for supply chain and compliance reporting.
This guide simplifies the GS1-128 (EAN-128) barcode creation process for RDLC local reports using C# code.
It is fully optimized for .NET Framework projects, including ASP.NET Web Forms, MVC and WinForms environments.
KA.Barcode for RDLC is a RDLC development tool that easily adds GS1-128 barcode into RDLC Reports as graphics objects. No other barcode fonts or any third party tool is needed for EAN-128 barcode creation in RDLC Reports.
GS1-128 is a standard application barcode built based on Code 128 which is one of the most popular alphanumeric barcode symbology. GS1-128 is used in GS1 applications globally. The GS1 Application Identifiers are encoded with GS1-128.
GS1-128 barcodes follow strict global GS1 specifications, making them ideal for regulated .NET reporting workflows.
Understanding supported character sets helps avoid encoding errors in RDLC and Crystal Reports.
Encodable Character Set
- Subset of ISO/IEC 646 International Reference Version, optimized for GS1 Application Identifier (AI) element strings
- Extended ASCII characters, covering the ASCII 128 - 255 range
- Four non-data function characters (FNC1 - FNC4); only FNC1 is used for GS1-128 (FNC2 and FNC4 are excluded)
- Four code set selection characters, including single-character code set shift functionality
- Three dedicated start characters and one stop character for barcode scanner recognition
Note
We recommend avoiding manual input of function characters, code set selectors, or start/stop characters into the Data property.
The .NET barcode library automatically inserts these critical characters to meet GS1 and RDLC compliance standards.
Manual insertion will break barcode formatting and cause scanning failures in finished reports.
GS1-128 barcodes require a mandatory MOD 103 check digit, matching the Code 128 check digit standard.
This check digit preserves data integrity for RDLC reports used in supply chain and compliance workflows.
- The MOD 103 check digit does not appear in the barcode's Human Readable Interpretation (HRI)
- The AddCheckSum property does not apply to GS1-128 and will be ignored by the C# library
- The library automatically adds the check digit right before the stop character in every GS1-128 symbol
Note
Never manually edit the Data property to add FNC1 function or control characters.
You can customize GS1-128 barcode dimensions to align with RDLC print layouts and GS1 compliance rules.
These settings also apply to Crystal Reports for consistent sizing across .NET reporting platforms.
Proper dimension setup prevents barcode distortion and ensures reliable scanner readability.
- AutoResize: Set to false to enable manual adjustment of X and Y properties
- X: Width of the narrowest barcode module; follow minimum GS1 application requirements
- Y: Height of individual barcode modules; adjust for optimal RDLC report readability
- Quiet Zones: LeftMargin, RightMargin, TopMargin, BottomMargin; minimum 10X width for GS1/RDLC compliance
Note
We recommend previewing the RDLC report to confirm barcode dimensions match configured values.
Check for no stretching or distortion within the RDLC Image control boundaries.
For high-resolution 300 DPI printing, adjust the Resolution property to match RDLC print settings.
This avoids blurry barcodes and maintains full GS1 compliance for printed or exported reports.
What makes Code 128 different from GS1-128?
GS1-128 is a Code 128-based format required by the GS1 System. The difference is that Code 128 is the general barcode technology,
while GS1-128 is a specific implementation of it. GS1-128 uses a subset of the encoding characters available in Code 128.
What makes GS1-128 different from GTIN-14?
Both barcodes carry GS1 business information. GS1-128 can carry rich, detailed business data,
while a GTIN-14 barcode is limited to a single piece of information: the 14-digit GTIN.
What is GS1-128 used to encode?
The GS1-128 format encodes logistical data, supports up to 48 data characters. It encodes logistical data including batch/lot numbers,
product serial numbers, production dates, expiry dates, weights and prices.
What are the minimum and maximum dimensions of GS1-128?
The narrowest bar in a GS1-128 barcode, known as the X-dimension, determines its size.
The allowable X-dimension is between a minimum of 0.495 mm and a maximum of 1.016 mm.
What is the GS1-128 barcode's function code?
GS1-128 only works with Function Code 1 (FNC1), the FNC1 character serves as the primary function code and is positioned directly after the start character.
Encode FNC1 immediately following the GS1 start character.