How to Add the FNC1 Function Code for GS1-128
Route: FAQ - [ How to Add the FNC1 Function Code for GS1-128 ]The FNC1 function code serves two purposes in GS1-128 barcodes:
- Distinguishing Between GS1-128 and Code 128 Types
Since GS1-128 is derived from Code 128, FNC1 is used as the start character for GS1-128 barcodes to differentiate the two types. If the start character is not FNC1, the barcode is classified as Code 128.
- Data Separation for Application Identifiers (AIs)
If a GS1-128 barcode contains multiple AI-associated data segments, FNC1 must be added at the end of variable-length data to indicate the termination of that specific AI data segment.
How to Add the FNC1 Function Code
1. How to Add the FNC1 Start Character
For the FNC1 start character (as mentioned in Purpose 1), no additional FNC1 input is required in the barcode content when generating a barcode using the GS1-128 type. The DoingLabel program automatically adds this FNC1 start character.

2. How to Add FNC1 at the End of Variable-Length Data
For the FNC1 function (as mentioned in Purpose 2), there are two methods to add the code:
Method 1: Automatic FNC1 Addition by the Program
Check the option "Auto-add FNC1 code based on parenthesis position in Application Identifier (AI)". DoingLabel will then add the FNC1 function code automatically.

Note: When using this function, the AIs in the input barcode content must be enclosed in parentheses. Otherwise, the DoingLabel program cannot determine where to place the FNC1 function code.
Example:The correct input barcode content is (91)012345(3100)123456(21)000
(all AIs are enclosed in parentheses). The DoingLabel program will:
- Automatically identify fixed-length and variable-length AIs;
- Add FNC1 at the end of variable-length AIs, converting the content to
(91)012345{FNC1}(3100)123456(21)000
; - Generate the GS1-128 barcode.
Method 2: Manual FNC1 Addition
If the option "Auto-add FNC1 code based on parenthesis position in Application Identifier (AI)" is disabled, you need to add the FNC1 code manually.
Insert the replacement symbol {FNC1}
at the end of the variable-length AI data in the GS1-128 barcode content. The program will automatically replace {FNC1}
with the actual FNC1 function code.
Example:The target GS1-128 barcode content includes 3 AI data segments: (91)012345
, (3100)123456
, and (21)000
. Among these:
(91)
and(21)
are variable-length data;(3100)
is fixed-length data.
Thus, the input barcode content should be:(91)012345{FNC1}(3100)123456(21)000
{FNC1}
is added after the variable-length data(91)
;- No FNC1 is needed for the fixed-length data
(3100)
; (21)
is variable-length data but does not require FNC1 since it is the last segment.
References
- How to Use the FNC1 Function Character in GS1-128 Barcodes: https://y56y.com/article/detail/198
- GS1-128 Application Identifiers (GB/T 16986-2018): https://openstd.samr.gov.cn/bzgk/gb/newGbInfo?hcno=72C5A898207BD87E2F5DE7B028C5C184
- Kindly refrain from reposting this article unless you have obtained permission.
- This is a translated article. Should you find any translation mistakes or content errors, please refer to the Original Article (Chinese), which takes precedence.
- Due to ongoing version iterations, the feature details and interface screenshots included in this article may not be updated in a timely manner, leading to potential discrepancies between the article content and the actual product. For the most accurate information, please refer to the features of the latest version.