FNC1
FNC1 is a special function character in Code 128 that, placed in the first position, turns the symbol into a GS1-128 barcode carrying Application Identifier element strings.
What You Need to Know
On its own, Code 128 is a general-purpose ASCII conveyor belt. GS1 needed a way for scanners to recognize "this symbol contains structured GS1 data" unambiguously, and the answer was FNC1 in the leading position — creating GS1-128 (formerly UCC/EAN-128). Inside the data, FNC1 also acts as a variable-length field separator, terminating open-ended element strings such as lot numbers (AI 10) before the next identifier begins.
FNC1 never appears in the transmitted data — it is a control function, like the start and stop characters. Generators insert it automatically when you choose the GS1-128 format and supply Application Identifier strings. The classic user error is pasting raw parentheses like (01) into a plain Code 128 generator and expecting scanners to understand GS1 structure: without FNC1 framing, it is just text.
Where FNC1 Applies
Code 128 carrying GS1 Application Identifier element strings — the standard barcode of global logistics.
Generate GS1-128 →The full-height 14-digit GS1 DataBar that scans from any angle at retail POS — successor to EAN/UPC for tiny items.
Generate GS1 DataBar Omnidirectional →The 14-digit Global Trade Item Number for cases and inner packs, carried by GS1-128 or ITF-14 symbols.
Generate GS1-14 (GTIN-14) →