Supply-chain element strings

GS1-128 barcode generator

Build a GS1-128 symbol from a deliberately limited set of application identifiers for GTIN, expiration date, lot, and serial traceability.

Loading GS1-128 tool…

Supported application identifiers

This pilot accepts parenthesized AI syntax in canonical order. AI (01) is required; AI (17), (10), and (21) are optional. Raw FNC1 characters and arbitrary AIs are intentionally rejected.

  • (01): valid 14-digit GTIN
  • (17): calendar date in YYMMDD
  • (10): 1–20 character lot
  • (21): 1–20 character serial

FNC1 separation is automatic

AI (01) and (17) have fixed lengths. AI (10) and (21) are variable length, so the encoder inserts FNC1 when a following element requires separation. Parentheses are human-readable notation and are not encoded as data.

  • AI order: 01, 17, 10, 21
  • Duplicate AIs are rejected
  • Lot and serial use a conservative uppercase character subset

GS1-128 barcode generator FAQ

Are the parentheses encoded?

No. They identify AIs in the input and printed text; the barcode carries the AI digits, values, and required FNC1 separators.

Can I use another GS1 AI?

Not in this pilot. Supporting only 01, 17, 10, and 21 keeps field length and validation behavior explicit.

How are variable fields separated?

The GS1 encoder inserts FNC1 after a variable-length field when another element follows.

Is an expiration day of 00 accepted?

No. This generator deliberately requires a basic valid calendar date, including an actual day, in YYMMDD form.