Barcode tools · logistics and labels

GS1-128 barcode generator.

Type your Application Identifiers in brackets, for example (01)09501101530003(17)270131(10)ABC123. The tool checks each AI’s length, characters, date and check digit, places the FNC1 characters, and draws a Code 128 symbol that starts Start + FNC1 as GS1-128 requires.

Source: GS1 Barcode Syntax Dictionary and GS1 General Specifications; checked 2026-09-30 Checks format and check digits only, not whether a number was ever issued

Advertisement

Element string

Examples: (00) SSCC 18 digits, (01) GTIN 14 digits, (10) batch up to 20, (17) expiry YYMMDD, (21) serial up to 20. Put variable-length elements last to avoid separators.

Barcode

How a GS1-128 symbol is built

GS1-128 is the Code 128 symbology used for GS1 data: Start character, FNC1, the element string, a modulo-103 check character, Stop. The element string is a series of elements, each an Application Identifier (AI) followed by its data. Predefined-length AIs (00, 01, 11 to 17, 20, 31nn and 41x among those supported here) are followed directly by the next AI. After a variable-length element (10, 21, 30, 37, 240, 241, 400, 420 and others) an FNC1 character separates it from the next AI unless it is last. The brackets you type are for people and are not encoded. The quiet zone is drawn as 10 module widths on each side.

Worked example

Input (01)09501101530003(17)270131(10)ABC123 encodes 105 (Start C), 102 (FNC1), then digit pairs 01 09 50 11 01 53 00 03 17 27 01 31 10, then 100 (switch to Code B) for ABC123: 33 34 35 17 18 19. The check character is (105 + 1×102 + 2×1 + 3×9 + …) mod 103 = 55, then Stop 106. The GTIN check digit 3 is the GS1 mod-10 digit of 0950110153000: weights 3 and 1 alternate from the right, which gives a sum of 47 and a check digit of 3 (50 minus 47).

What is verified

What is not verified

This confirms format and checksum only, not that a GTIN, SSCC or GLN was issued to you. Rules that need tables (country and currency codes, company-prefix length, mandatory AI pairings such as 37 requiring 02) are not enforced. Always run a test print through a scanner or a verifier before a production label run, and check your trading partner’s label specification for size and placement.

Frequently asked questions

What is the difference between Code 128 and GS1-128?

GS1-128 is Code 128 used under GS1 rules: the symbol starts with a Start character followed by FNC1, and the data is a chain of Application Identifiers. A plain Code 128 barcode has no FNC1 in first position, so a scanner reads it as ordinary text rather than as GS1 data.

When is an FNC1 separator inserted?

After a variable-length element, such as (10) batch or (21) serial, when another element follows. Predefined-length AIs such as (00), (01) and (17) never need one. Keeping variable-length elements last avoids separators altogether.

Does a valid check digit mean my GTIN or SSCC exists?

No. The tool confirms length, characters, dates and the GS1 mod-10 check digit only. It cannot tell whether a number was issued to you by GS1 or your GS1 member organisation.

Which AIs does this generator support?

The AIs numbered below 500 plus the 31nn to 36nn and 39nn families in the GS1 Barcode Syntax Dictionary, as carried by the GS1 Application Identifier lookup on this site. An AI outside that list is refused because the generator cannot know whether it needs an FNC1.

Is my data sent anywhere?

No. Encoding and downloads happen in your browser; nothing is uploaded.

Should I print it with the numbers underneath?

The human-readable line under the bars shows each AI in brackets, as GS1 recommends. Brackets are for people only; they are not encoded in the barcode.

Sources, all checked 2026-09-30: GS1 Barcode Syntax Dictionary, github.com/gs1/gs1-syntax-dictionary (predefined-length flags, AI formats, check-digit and date linters); GS1 Application Identifiers, gs1.org/standards/barcodes/application-identifiers; GS1 check digit calculation, gs1.org/services/how-calculate-check-digit-manually; Code 128 symbol table and check character per ISO/IEC 15417.

Advertisement
Advertisement
Listening…