Barcodes GS1-128 Runs in your browser

GS1-128 Barcode Generator

Build GS1-128 barcodes with Application Identifiers and FNC1.

Your data is processed locally in your browser and is not uploaded to our servers.

What is GS1-128?

GS1-128 is Code 128 used according to the GS1 rules: the symbol starts with an FNC1 character marking it as a GS1 structure, and the data is a series of element strings, each introduced by an Application Identifier that says what the following value means. It is the workhorse of shipping and logistics labels — SSCC pallet numbers, batch and lot codes, expiry dates, weights.

How to enter your data

Type Application Identifiers in parentheses, followed by their value, one after another: (01)09521234543213(17)261231(10)LOT-4821. The parentheses are for humans — they appear in the text under the bars and are never encoded. Where the standard requires a separator, an FNC1 character is inserted for you.

What gets checked

Every element is validated before anything is drawn: the AI must be one this tool knows, the value must match its data type and length, dates must be real dates in YYMMDD form, and identifiers that carry a check digit — GTIN, SSCC, GLN, GSIN — must have the right one. If something is wrong you get a specific message naming the AI and the problem.

Why only some Application Identifiers

The GS1 General Specifications define hundreds of AIs with varied and sometimes subtle rules. This tool implements a curated subset it can validate completely — identification keys, dates, batch and serial numbers, counts, measures and the common logistics AIs. Anything outside that set is refused with an explanation rather than encoded on a guess, because an incorrectly structured GS1 barcode fails at a trading partner's dock, not on your screen.

Fixed and variable length

Some element strings have a predefined length and need no separator; the rest are variable and are terminated by FNC1 unless they are last in the symbol. Getting that wrong is the classic GS1-128 mistake, so the encoder applies the rule for you and reports how many FNC1 characters ended up in the symbol.

Limitations

GS1 keys such as GTINs and SSCCs are issued to licensed GS1 members — generating a symbol does not allocate a number. GS1 DataMatrix is not offered here, because the vendored renderer cannot produce 2-D symbols and we will not approximate one. See the GS1 basics guide.

Frequently asked questions

Are the parentheses part of the barcode?

No. They are shown in the human-readable line only. The encoder inserts FNC1 characters where the standard requires a separator.

Why was my Application Identifier rejected?

It is outside the set this tool can validate completely. Rather than encode it on a guess, it is refused — an invalid GS1 symbol causes real problems downstream.

Do I need to be a GS1 member?

To use GS1 identification keys such as GTINs and SSCCs in trade, yes. The barcode is just the printed form of a number you must be entitled to use.

Can you make GS1 DataMatrix?

No. Producing 2-D GS1 symbols needs an encoder this site does not ship, and an incorrect one would be worse than none.

Curious how we build and check these codes? Read our methodology, and the disclaimer on what a generated barcode image is and is not.