GS1 Barcode Generator
Type your data and the check digit and separators are added. The 17 SSCC digits 39501101000000418 get check digit 5, encoded as (00)395011010000004185.
(00)395011010000004185(01)19501101020914(10)US-4471 18 digits. Predefined length, no separator needed. Check digit 5 added: 395011010000004185.
14 digits. Predefined length, no separator needed.
1 to 20 characters. Variable length, separator added when a field follows.
(00)395011010000004185(01)19501101020914(10)US-447100395011010000004185011950110102091410US-4471Type the digits without the check digit and it is added, or type them all and it is verified.
Check digit calculator: SSCC, GTIN, GLN
Check digit 5. Works for any GS1 key length: 7, 11, 12, 13, 16 or 17 digits in.
Validator: split a scanned element string into fields
Bracket notation works. For raw scanner output, write each separator as a pipe, <FNC1> or <GS>.
The barcode is drawn in your browser. This tool draws numbers you hold; it does not issue GTINs.
How to Make a GS1 Barcode in 4 Steps
- Get the number first. License a GS1 Company Prefix or single GTINs from your national GS1 office. The barcode is only a picture of that number.
- Pick the symbol for where it goes. UPC-A or EAN-13 on the retail unit, ITF-14 on the outer case, GS1-128 on carton and pallet labels.
- Enter the data. Leave the check digit off and the tool computes it. For GS1-128, add one row per Application Identifier.
- Set the size and test. Take the X dimension from your partner's label specification, download the SVG and scan a test print.
12 digit GTIN. The checkout barcode in the US and Canada.
13 digit GTIN. The checkout barcode in most other countries.
14 digit case GTIN, built to print on corrugated board.
SSCC plus GTIN, count, batch, dates and weight in one symbol.
| You need to encode | Use | Mode in this tool | Not generated here |
|---|---|---|---|
| A product GTIN for checkout | UPC-A or EAN-13 | GTIN | UPC-E, EAN-8 |
| A case GTIN on a shipper carton | ITF-14, or GS1-128 with AI 01 | GTIN or GS1-128 | — |
| A pallet or carton identity (SSCC) | GS1-128 with AI 00 | GS1-128 | — |
| Batch, expiry or weight with the GTIN | GS1-128 | GS1-128 | GS1 DataMatrix, GS1 DataBar |
| A web link a shopper can scan | GS1 Digital Link QR | — | GS1 QR code |
How the GS1 Check Digit Is Calculated
Step 1
weight digits 3, 1, 3, 1 … from the rightThe rightmost digit you entered is weighted by 3.
Step 2
sum = Σ digit × weightFor 39501101000000418 the sum is 75.
Step 3
check = next multiple of 10 − sum80 − 75 = 5, so the SSCC is 395011010000004185.
Every GS1 key uses the same arithmetic. These figures come from the engine that draws your barcode. The prefixes are illustrative, so substitute your own.
| Key | Digits you type | Example digits | Check digit | Complete key | Symbol | Width incl. quiet zones |
|---|---|---|---|---|---|---|
| GTIN-12 (UPC-A) | 11 | 61414100001 | 2 | 614141000012 | UPC-A | 37.3 mm at X 0.33 mm |
| GTIN-13 (EAN-13) | 12 | 950110102091 | 7 | 9501101020917 | EAN-13 | 37.3 mm at X 0.33 mm |
| GTIN-14 (ITF-14) | 13 | 1950110102091 | 4 | 19501101020914 | ITF-14 | 70.3 mm at X 0.5 mm |
| SSCC (AI 00) | 17 | 39501101000000418 | 5 | 395011010000004185 | GS1-128 | 88.0 mm at X 0.5 mm |
| GLN (AI 410) | 12 | 950110100001 | 8 | 9501101000018 | GS1-128 | 77.0 mm at X 0.5 mm |
Method as published by GS1: How to calculate a check digit manually. X dimensions in the table are example settings, not a specification.
Fixed Length vs Variable Length Application Identifiers
Predefined length AI
The decoder knows how many characters to take, so the next AI can follow with no separator.
(01)19501101020914(17)270131 Variable length AI
The decoder cannot tell where the value stops. An FNC1 separator ends it, unless it is the last field.
(10)US-4471 ‹FNC1› (17)270131 | Situation | Separator needed | Why | Symptom when it is wrong |
|---|---|---|---|
| Predefined length AI, another field follows | No | Length is known from the AI itself | An extra separator becomes part of the next AI |
| Variable length AI, another field follows | Yes | The value has no fixed end | The next AI is absorbed into this value |
| Variable length AI, last field | No | End of data terminates it | A trailing separator adds an empty field |
| Fixed format AI outside the predefined list | Yes | Predefined length is a published list | AI 402 and AI 422 run into the next field |
- Predefined length prefixes: 00 to 04, 11 to 20, 31 to 36 and 41.
- Everything else needs an FNC1 separator when another field follows.
- AI 422 always holds three digits, yet it is not on the list, so it still needs a separator.
Application Identifiers This Generator Encodes
N means digits, X means character set 82, and two dots mark a variable length up to that maximum. This table is read from the generator's own data.
| AI | Data title | Meaning | Format | Separator required | Check digit |
|---|---|---|---|---|---|
| 00 | SSCC | Serial Shipping Container Code | N2+N18 | No | Yes |
| 01 | GTIN | Global Trade Item Number | N2+N14 | No | Yes |
| 02 | CONTENT | GTIN of contained trade items | N2+N14 | No | Yes |
| 10 | BATCH/LOT | Batch or lot number | N2+X..20 | Yes | No |
| 11 | PROD DATE | Production date, YYMMDD | N2+N6 | No | No |
| 15 | BEST BEFORE | Best before date, YYMMDD | N2+N6 | No | No |
| 17 | USE BY OR EXPIRY | Expiration date, YYMMDD | N2+N6 | No | No |
| 21 | SERIAL | Serial number | N2+X..20 | Yes | No |
| 30 | VAR. COUNT | Variable count of items | N2+N..8 | Yes | No |
| 310n | NET WEIGHT (kg) | Net weight, kilograms | N4+N6 | No | No |
| 320n | NET WEIGHT (lb) | Net weight, pounds | N4+N6 | No | No |
| 330n | GROSS WEIGHT (kg) | Logistic weight, kilograms | N4+N6 | No | No |
| 340n | GROSS WEIGHT (lb) | Logistic weight, pounds | N4+N6 | No | No |
| 37 | COUNT | Count of trade items | N2+N..8 | Yes | No |
| 400 | ORDER NUMBER | Customer purchase order number | N3+X..30 | Yes | No |
| 402 | GSIN | Global Shipment Id Number | N3+N17 | Yes | Yes |
| 403 | ROUTE | Routing code | N3+X..30 | Yes | No |
| 410 | SHIP TO LOC | Ship to or deliver to GLN | N3+N13 | No | Yes |
| 422 | ORIGIN | Country of origin | N3+N3 | Yes | No |
Source: GS1 Application Identifiers reference data, ref.gs1.org/ai, vocabulary version 1.2, last modified 26 January 2026. Any AI we could not source is left out rather than guessed.
How SSCC-18 and Case GTIN-14 Numbers Are Built
Extension digit
One SSCC digit, 0 to 9, that you choose to widen your serial capacity.
Company prefix
Issued by a GS1 member organisation. Its length sets how many digits remain.
Serial reference
Allocated by you, one per pallet or carton. Never reuse one while partners keep records.
Check digit
Calculated from the 17 digits in front of it, never allocated.
| Step | Case GTIN-14 from a base unit | Worked figures |
|---|---|---|
| 1 | Start from the base unit GTIN | 09501101020917 |
| 2 | Drop its check digit and leading zero | 950110102091 |
| 3 | Put the indicator digit in front | 1950110102091 |
| 4 | Recalculate the check digit over 13 digits | 4 |
| 5 | Read the result as the case GTIN | 19501101020914 |
- Indicator 1 to 8 tells packaging levels apart; 0 is the base unit and 9 marks variable measure items.
- A case of 6 and a case of 12 of the same item need two different GTIN-14s.
- An SSCC names one physical pallet. An identical pallet tomorrow gets a new one.
Worked example A GS1-128 Pallet Label From a California Warehouse
A pallet of 96 cases leaves Ontario, California for a distribution center in Dallas, Texas. Its label carries the SSCC and the case details in one GS1-128.
Field AI Value entered Predefined length Separator after it SSCC of the pallet 00 395011010000004185Yes No Case GTIN-14 01 19501101020914Yes No Cases on the pallet 37 96No Yes, a field follows Gross weight, lb (1 decimal) 3401 010680Yes No Expiry date 17 270131Yes No Batch or lot 10 US-4471No No, it is last
6fields in one symbol 1FNC1 separator, after AI 37 1,068.0 lbgross weight, about 484.4 kg 242.0 mmwide at X 0.5 mm, 42 symbol characters Element string(00)395011010000004185(01)19501101020914(37)96(3401)010680(17)270131(10)US-4471 Encoded data, separators shown0039501101000000418501195011010209143796 ‹FNC1› 34010106801727013110US-4471 - AI 00 and AI 01 are predefined length, so they run straight into each other.
- AI 37 is variable length and a field follows, so a separator closes it.
- AI 10 is variable length but last, so no trailing separator is added.
- Move the batch into the middle and the string needs 2 separators and 47 characters, 269.5 mm wide instead of 242.0 mm.
Press Load US pallet example in the generator to see this symbol drawn. At 242.0 mm it will not fit across a 4 × 6 in label, which is 101.6 mm wide, so lower the X dimension your specification allows or split the fields across stacked GS1-128 symbols.
Free vs licensed Getting a GS1 Barcode: What Is Free and What Is Not
Free: the drawing
Any correct encoder, this one included, draws the same bars for the same number. You do not pay for the image.
Licensed: the number
A GTIN is built on a prefix or single GTIN licensed from a GS1 member organisation. Fees vary by country.
Your call: the specification
Size, placement and required AIs are set by your retailer, marketplace or 3PL label guide.
Who asks What they scan What it unlocks Retail checkout UPC-A or EAN-13 Price lookup at the register 3PL inbound team SSCC on the pallet Receipt matched to the advance ship notice Marketplace fulfillment center Case GTIN and count Automated putaway of the case Your own warehouse Batch and expiry First expiry, first out picking and lot recall
No conformance claim. This tool encodes your data correctly. Whether a label passes a retailer or carrier specification is decided by that document and their testing. Avoid rework Six GS1 Barcode Mistakes That Fail at Receiving
1Missing separator
(10)US-4471 run straight into (17)270131 scans fine but reads as one batch value. The expiry is lost.
2Wrong check digit
An SSCC ending 4 instead of 5 is rejected by a receiving system. Let the tool compute it.
3Invented GTINs
A made-up number can collide with another company's product. Use only numbers licensed to you.
4One GTIN-14 for two case sizes
A case of 6 and a case of 12 are different trade items and need different indicators.
5Stretched images
Scaling a barcode unevenly changes bar ratios. Regenerate the SVG at the right X dimension instead.
6Spaces in a batch
A space is not in character set 82, so "US 4471" is rejected. Use a hyphen or close the gap.
Before artwork sign-off
- Take the X dimension from the label specification.
- Leave the quiet zone clear on both sides.
- Print dark bars on a light, matte background.
Before a production run
- Test print at the exact intended size.
- Scan it on the real surface with your own scanners.
- Check the decoded string field by field with the validator.
Next step Related Labelling and Warehouse Tools
Barcode generator Bulk retail and internal barcodes, including Code 128 and Code 39, with a print sheet. SKU generator Build an internal SKU scheme to sit alongside your GTINs. Shipping label generator Create the carrier label the carton or pallet travels under. Pallet calculator Work out cases per pallet before you allocate an SSCC.
See all free logistics tools, or read how Locad handles warehousing and ecommerce fulfillment once labelled stock arrives.
FAQ GS1 Barcode Generator Questions
Choose GS1-128 for logistics data or GTIN for a UPC-A, EAN-13 or ITF-14, then type your numbers. The check digit is added if you leave it off, the barcode redraws as you type, and you can download it as SVG. The barcode is drawn in your browser. Drawing the barcode is free, here or in any generator. The number inside it is not. A GTIN must be built on a GS1 Company Prefix or a single GTIN licensed from a GS1 member organisation. A free generator cannot give you a licensed number, only draw one you already hold. The cost is the licence for the numbers, not the image. GS1 member organisations set their own fees by country and by how many GTINs you need, and they change over time. Ask your national GS1 office for the current price rather than trusting a figure found online. GS1-128 is Code 128 carrying GS1 Application Identifier data. The symbol starts with an FNC1 character, which tells the scanner the data is AI formatted. It is the barcode used on carton and pallet labels, most often carrying an SSCC plus the GTIN, count, batch and dates. All three carry a GTIN and nothing else. UPC-A holds a 12 digit GTIN and is the retail checkout barcode in the US and Canada. EAN-13 holds a 13 digit GTIN for retail elsewhere. ITF-14 holds a 14 digit case GTIN and is printed on corrugated outer cases. Weight the digits 3, 1, 3, 1 starting from the right, add them up, and subtract the total from the next multiple of ten. For the SSCC digits 39501101000000418 the weighted sum is 75, the next multiple of ten is 80, so the check digit is 5. Only Application Identifiers on the predefined length list may be followed directly by the next AI. Every other AI is variable length and must be ended by an FNC1 separator, unless it is the last field. This tool places separators for you and shows where they went. An SSCC is 18 digits: an extension digit you choose, your GS1 Company Prefix, a serial reference you allocate, and a check digit. The first three parts always total 17 digits, so a longer prefix leaves a shorter serial reference. Type the 17 digits and the tool adds the check digit. It tells packaging levels of the same product apart, such as an inner pack and an outer case. Put the indicator in front of the base GTIN without its check digit, then recalculate. Base unit 09501101020917 with indicator 1 becomes case GTIN 19501101020914. In your browser. The Application Identifier table, the check digit arithmetic, the barcode encoding and the SVG drawing all run in your browser tab, so the symbol redraws on every keystroke without a server round trip. Need SSCC-Labelled Inbound Handled?
Talk to Locad about warehousing and fulfillment where inbound labelling is agreed with suppliers up front and every receipt is scanned.