Free generator
Free GS1-128 barcode generator
Type GS1 Application Identifiers in parentheses, such as (01) for a GTIN, (17) for an expiry date or (00) for an SSCC. The generator checks them, inserts the FNC1 characters and draws the barcode at GS1’s logistics sizes.
- Free to use
- No sign-up
- No watermark
- Personal and commercial use
- Runs in your browser
Application Identifiers in parentheses, e.g. (01) GTIN, (17) expiry YYMMDD, (10) batch/lot, (00) SSCC. When to use GS1-128
3 elements encoded with FNC1 separators where needed.
A barcode is only as unique as its number: the same number always draws the same bars. For trade, use numbers licensed to your company; anyone can check who a GTIN belongs to in Verified by GS1 (how).
The preview also updates as you type.
Preview · printed sizeScale in mm
Black on white only: colored bars and backgrounds are a common cause of scan failures. Everything is drawn in your browser; nothing you type is sent anywhere.
The width of the narrowest bar. Defaults follow GS1’s standard size for this type. Size and print settings explained
SVG downloads at the printed size above, for design and label software. PNG for a 300 dpi printer (12 dots/mm): 6 printer dots per module, so X is 0.500 mm and the bars 32.08 mm tall; print it at 100% scale. Free for personal and commercial use, with no watermark. Test a printed sample with the scanner that will read it.
- Free to use
- No sign-up
- No watermark
- Personal and commercial use
- Runs in your browser
GS1-128 at a glance
| What it is | Code 128 with FNC1 right after the start character, reserved for GS1 data |
|---|---|
| Encodes | GS1 element strings: an Application Identifier (AI), then its data, repeated |
| Characters | GS1’s 82-character set: A–Z, a–z, 0–9 and 20 symbols; no spaces |
| Length | At most 48 data characters, and at most 165.10 mm long including quiet zones |
| Separators | An FNC1 after each AI whose length is not predefined, unless it is the last one |
| Check character | Modulo 103, always present, never printed in the text |
| X-dimension | 0.495 to 1.016 mm for trade items in distribution; 0.495 to 0.940 mm for logistic units |
| Bar height | At least 31.75 mm in general distribution |
| Quiet zones | At least 10X on each side |
| Text | The data with each AI in parentheses, for example (01)09520123456788 |
These come from section 5.4 and symbol specification tables 2 and 5 of the GS1 General Specifications. GS1 US notes that GS1-128 barcodes can only be created with a GS1 Company Prefix membership: the GTINs and SSCCs inside must come from your own prefix.
A printed example
09520123456788 (GS1’s demonstration prefix 952), expiry 31 December 2027 and batch ABC123. That is 32 data characters; the batch comes last, so no separator is needed.What each setting does for GS1-128
- Data. Write each element as (AI)value. The generator checks that predefined-length AIs have the right length, that (00), (01) and (02) have correct check digits, that dates such as (17) are real YYMMDD dates (day 00 is allowed and means the end of the month, except on regulated healthcare products since 1 January 2025), that lots and serials stay within 20 characters, and that only GS1’s 82 characters are used. Spaces are ignored, since GS1 data cannot contain them, and a value cannot contain parentheses, because they mark the AIs. It refuses more than 48 data characters, and warns when the symbol would be longer than 165.10 mm.
- FNC1. Added after every element whose AI is not in GS1’s predefined-length table (such as 10, 21, 30 or 37), except the last. Put fixed-length elements first and you need fewer separators; GS1 recommends that order.
- X-dimension and height. Start at 0.495 mm and 31.75 mm. The generator warns outside 0.495–1.016 mm and below 31.75 mm.
- Text. Printed under the bars with the AIs in parentheses. The parentheses are not encoded; the scanner sends the AIs and data without them.
Common AIs
| AI | Data | Format |
|---|---|---|
| (00) | SSCC, the serial number of a logistic unit | 18 digits |
| (01) | GTIN of a trade item | 14 digits |
| (10) | Batch or lot number | up to 20 characters |
| (17) | Expiration date | YYMMDD |
| (21) | Serial number | up to 20 characters |
| (37) | Count of trade items in a logistic unit | up to 8 digits |
The Application Identifiers guide covers more of them and the date rules.
Common mistakes
- Typing a 12- or 13-digit GTIN after (01). AI (01) always takes 14 digits; pad with leading zeros (
09520123456788). - Putting a variable-length AI first without a separator. The generator adds the FNC1 for you; other tools may not, and the scanner then runs two fields together.
- Making a symbol too long to scan. At 0.495 mm the example above is already 141.6 mm wide; split long data over two GS1-128 symbols.
- Using a “GS1-128” for internal codes. Plain internal codes belong in Code 128, which has no FNC1 and no AI rules.
Worked example: an SSCC for a pallet label
- Build an SSCC from extension digit 0, GS1’s example company prefix 0614141 and serial reference 123456789, then type
(00)006141411234567890. The generator confirms the check digit, 0. - (00) has a predefined length, so no separator follows it. The symbol has 20 data characters and is 176 modules wide with its quiet zones: 87.1 mm at 0.495 mm.
- Print it at 203 dpi: the PNG uses 4 dots per module, 0.500 mm, with 32.13 mm bars. GS1 limits SSCC symbols to an X of 0.940 mm because of the 165.10 mm length limit (for the 176 modules here, 0.938 mm is the most that fits).
The full label layout is in GS1-128 and SSCC shipping labels.
Sources
- GS1: GS1 General Specifications Standard (Release 26.0) (accessed )
- ISO: ISO/IEC 15417:2007, Code 128 bar code symbology specification (amended by Amd 1:2026) (accessed )
- GS1 US: Types of Barcodes (accessed )
More tools for labels and numbers
- 14 types
Barcode generator
Fourteen barcode types, GS1 sizes built in, and downloads ready for design software or a label printer.
Open the tool - QR
QR code generator
Links, Wi-Fi, email, phone and text QR codes that never expire.
Open the tool - CSV to PDF
Bulk barcode generator
Turn a list or CSV into Avery and A4 label sheets, a ZIP of SVG or PNG files, or ZPL for a label printer.
Open the tool - 30-up
Barcode label sheets
Print numbered Code 128 or QR labels on 30-up sheets or a label printer.
Open the tool - 2D
GS1 Digital Link generator
Turn a UPC or GTIN, with batch, expiry or serial, into a GS1 Digital Link QR code or GS1 DataMatrix.
Open the tool - Scan
Barcode checker
Scan a barcode or QR code with your camera or a photo and check its digits, GS1 data and which domain its link opens.
Open the tool - CSV
SKU generator
Build consistent SKUs from product, color and size codes, then export CSV.
Open the tool - GS1
Check digit calculator
Calculate or verify GS1 check digits and convert UPC-E, UPC-A, EAN-13 and GTIN-14.
Open the tool