Used by 700,000+ people
Free GS1-128 barcode generator.
GS1-128 is the barcode for the SSCC, GTIN, batch and dates on cartons and pallets. Type each Application Identifier (AI) followed by its value, then download the barcode.
How to create a GS1-128 barcode
-
01
Collect the values and their AIs
Take the SSCC, GTIN (Global Trade Item Number), batch and dates from your shipping data. The generator adds no GS1 check digits and does not check lengths: a GTIN under (01) needs all 14 digits, an SSCC under (00) all 18.
-
02
Type the element strings in order
Enter each AI and its value without parentheses, with predefined-length AIs such as (01) and (17) first. If another AI follows a field without a predefined length, such as (10), type
\Fbetween them and switch on Escape sequences. -
03
Set the size and download
For cartons and pallets, set your printer's resolution and a module width of at least 0.495 mm, then download PNG for your label software, or SVG with a plan. In your layout, make the bars at least 31.75 mm high and keep 10 modules clear on each side.
What is a GS1-128 barcode?
A GS1-128 barcode is a Code 128 symbol for GS1 data, used on cartons and pallets in the supply chain. GS1 makes it the mandatory carrier for the SSCC (Serial Shipping Container Code) on logistic units. FNC1 (Function 1 Symbol Character) right after the start character, a position reserved for the GS1 system, sets it apart from other Code 128 symbols. Its data is a series of element strings, each an Application Identifier (AI) such as (00), (01) or (10) followed by its value.
Where GS1-128 is scanned
GS1-128 is scanned in the supply chain; retail checkouts use EAN-13, UPC-A or GS1 DataBar instead. A supplier marks each pallet with its SSCC, which the customer's warehouse scans at receiving to call up the delivery data sent by EDI (electronic data interchange). Scanning the SSCC also makes cross docking and shipment routing possible.
Outer cases that need a batch or expiry date can carry them in GS1-128, since ITF-14 holds only the 14-digit GTIN. Cases of 10 chickens or whole cheeses carry a GTIN starting with 9 plus the net weight. For items used in manufacturing and MRO (maintenance, repair and overhaul), GS1-128, GS1 DataMatrix and GS1 QR Code take precedence as carriers.
One scan instead of three, at GS1 dimensions
The example at the top of the page holds the GTIN, expiry date and batch in one GS1-128, so a single scan captures all three. The element strings share one start pattern, check character and stop character, which takes less space than separate barcodes.
The drawing shows it at GS1's target module width for cartons and pallets, 0.495 mm, with bars at the 31.75 mm minimum. With 10-module quiet zones of 4.95 mm, it is 141.57 mm wide, within the 165.10 mm maximum. The minimum print grade is 1.5 (C).
Formats, SSCC label templates and automation
Download GS1-128 as GIF, JPG or PNG for free; SVG comes with a plan. For complete pallet labels, TEC-IT's GS1 logistic label templates print the SSCC and other GS1-128 symbols with a 0.495 mm narrow bar.
TEC-IT's barcode software adds the FNC1 and the modulo 103 check character automatically. Barcode Studio imports CSV files, for example the SSCCs of all pallets in a shipment, and exports the barcodes in one run. TBarCode Office links GS1-128 to Excel cells and Word mail merge; TBarCode/SAPwin prints it from SAPscript and Smart Forms.
GS1-128 at a glance
- Type
- Linear; a subset of Code 128 reserved for GS1 data
- Specification
- GS1 General Specifications, section 5.4 (Release 26.0, 2026); Code 128: ISO/IEC 15417
- Start pattern
- Start character A, B or C, then FNC1
- Character set
- GS1 subset of ISO/IEC 646: 82 characters (digits, letters, 20 symbols), no space
- Data capacity
- 48 data characters including AIs and separators; longer data needs a second symbol
- Maximum length
- 165.10 mm including quiet zones
- Check character
- Modulo 103, added by the generator, not shown in the text line
- X-dimension
- 0.495–0.940 mm on logistic units; 0.495–1.016 mm on trade items in general distribution
- Bar height
- At least 31.75 mm in general distribution
- Quiet zone
- 10X left and right
How GS1-128 data is structured
AIs starting with 00–03, 11–13, 15–17, 20, 31–36 or 41 have a predefined length, so the next AI follows directly. All others must end with a separator (FNC1) if another AI follows, even fixed-length ones such as (422) country of origin.
| AI | Content | Data format | FNC1 before the next AI |
|---|---|---|---|
| (00) | SSCC of a logistic unit | 18 digits | No |
| (01) | GTIN of a trade item | 14 digits | No |
| (02) | GTIN of the contents of a logistic unit | 14 digits | No |
| (10) | Batch or lot number | Up to 20 characters | Yes |
| (17) | Expiration date | YYMMDD | No |
| (21) | Serial number | Up to 20 characters | Yes |
| (310n) | Net weight in kg, n decimal places | 6 digits | No |
| (37) | Count of contained trade items | Up to 8 digits | Yes |
For a case with GTIN 19521234543210, expiry date 31 December 2026 and batch ABC123, type 01195212345432101726123110ABC123. No FNC1 is needed, because the only variable-length field comes last.
A pallet of 40 such cases that is not traded as a unit lists its content under (02) and the count under (37). Type 02195212345432103740\F10ABC123, where \F ends the count. The example numbers use GS1 Prefix 952, reserved for examples.
The pallet's SSCC ends with a check digit, calculated like the GTIN check digit:
- Take the first 17 digits (extension digit, GS1 Company Prefix and serial reference): 09521234567890123.
- Multiply them alternately by 3 and 1, starting with 3 on the left, and add the products: 135.
- Subtract it from the next equal or higher multiple of ten: 140 − 135 = 5, so you enter
00095212345678901235.
GS1-128 sizes and print checks
- Whole printer dots: use a module width of whole dots, such as 4 dots (0.500 mm) at 203 dpi or 6 dots (0.508 mm) at 300 dpi. At 0.495 mm and 300 dpi, the generated image mixes 5- and 6-dot modules.
- Width: at 0.495 mm an SSCC symbol is 77.2 mm wide and 87.1 mm with both quiet zones, so it fits an A6 label (105 mm wide).
- Margins and height: by default the downloaded image has no quiet zone and bars shorter than 31.75 mm. Leave 10X of white space on each side and stretch it vertically only; if the text distorts, hide it and set it in your layout.
- Text line: AIs in parentheses, a clear font such as OCR-B, at least 2 mm high (3 mm on GS1 logistic labels).
- Orientation: on cartons and pallets in general distribution the bars must stand upright, so do not rotate the symbol by 90° to save space.
- Verification: check prints with an ISO/IEC 15416 verifier. The GS1 minimum for cartons and pallets, 1.5/10/660, means grade 1.5 (C) or better with a 0.254 mm aperture at 660 nm.
GS1-128 data entry mistakes and fixes
- Typing the parentheses. The generator encodes them as data, so scanners send (01)… instead of 01… while the printed text looks right. Leave them out; the text line gets them automatically.
- No FNC1 after a variable-length field.
10ABC1232112345reads as one batch number, ABC1232112345, not batch ABC123 plus serial number 12345. Type10ABC123\F2112345. - \F without escape sequences. The barcode then holds a backslash and an F, and the backslash is not in the GS1 character set. Switch on Escape sequences and use a capital F:
\fis a form feed. - Wrong or missing check digit. The generator prints a 13-digit GTIN under (01) or a mistyped last digit as entered. Calculate the check digit first.
- (01) for pallet contents. A logistic unit that is not a trade item lists its contents under (02), with the SSCC and the count (37). (01) and (02) must not share a unit.
GS1-128 compared with related barcodes
The EAN-14 generator takes only a GTIN: it adds AI (01) and, if you enter 13 digits, the check digit. Use GS1-128 once a batch, date or SSCC is involved.
Without FNC1 after the start character, a Code 128 symbol is never GS1-128, even if its digits look like AIs. Use it for codes outside the GS1 system.
GS1 DataMatrix holds the same element strings in a small 2D symbol for image-based scanners. On logistic units it normally accompanies the GS1-128 and must repeat its element strings.
GS1 DataBar Expanded carries the same AIs, up to 74 digits or 41 letters, and is built for omnidirectional checkout scanners and variable-weight retail items.
GS1-128 Composite adds a 2D component for extra data. Its largest form, CC-C with up to 2,361 digits, exists only with GS1-128.
Frequently asked questions
Learn more about GS1-128.
Is EAN-128 the same as GS1-128?
How do I enter FNC1 in a GS1-128 barcode?
\F where a separator is needed and switch on Escape sequences in the generator. The FNC1 after the start character is added for you, so never type one at the beginning. Separators belong only after fields without a predefined length that another AI follows.
What does a scanner send when it reads GS1-128?
Is an SSCC barcode a GS1-128?
More resources
Code-128, GS1-128 Barcode Symbology
Code 128 is a barcode symbology and also a subject to the standards of the GS1 Organization. The high data density of this barcode enables many possible…
GuideGS1 Application Identifier (AI)
Barcodes in the GS1 system (like GS1-128 ) use Application Identifiers (AIs) to provide information about the structure of the encoded data. An Application…
FAQLogistics Labeling FAQ
The Serial Shipping Container Code identifies one logistic unit — a pallet, case or parcel. Encoded under Application Identifier (00) , it is the key a…
ProductBarcode Studio
100+ barcode types, a live quality check and batch export.
ProductTBarCode Office
Add compliant barcodes to documents, mail merges and spreadsheets.
ProductTBarCode/SAPwin
The Barcode DLL for SAP: print barcodes from SAPscript, Smart Forms and ABAP on almost every printer – via SAPSprint, SAPGUI or WWI.