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
Your barcode GS1-128 (00)395011010000004185(01)19501101020914(10)US-4471
Check digitSSCC 5 · GTIN 4
FNC1 separators0
Symbol width176.0 mm

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.

Element string(00)395011010000004185(01)19501101020914(10)US-4471
Encoded data, separators shown00395011010000004185011950110102091410US-4471

    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

    1. 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.
    2. 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.
    3. Enter the data. Leave the check digit off and the tool computes it. For GS1-128, add one row per Application Identifier.
    4. Set the size and test. Take the X dimension from your partner's label specification, download the SVG and scan a test print.
    Retail unit, USUPC-A

    12 digit GTIN. The checkout barcode in the US and Canada.

    Retail unitEAN-13

    13 digit GTIN. The checkout barcode in most other countries.

    Outer caseITF-14

    14 digit case GTIN, built to print on corrugated board.

    Carton or pallet labelGS1-128

    SSCC plus GTIN, count, batch, dates and weight in one symbol.

    You need to encodeUseMode in this toolNot generated here
    A product GTIN for checkoutUPC-A or EAN-13GTINUPC-E, EAN-8
    A case GTIN on a shipper cartonITF-14, or GS1-128 with AI 01GTIN or GS1-128—
    A pallet or carton identity (SSCC)GS1-128 with AI 00GS1-128—
    Batch, expiry or weight with the GTINGS1-128GS1-128GS1 DataMatrix, GS1 DataBar
    A web link a shopper can scanGS1 Digital Link QR—GS1 QR code

    How the GS1 Check Digit Is Calculated

    Step 1

    weight digits 3, 1, 3, 1 … from the right

    The rightmost digit you entered is weighted by 3.

    Step 2

    sum = Σ digit × weight

    For 39501101000000418 the sum is 75.

    Step 3

    check = next multiple of 10 − sum

    80 − 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.

    KeyDigits you typeExample digitsCheck digitComplete keySymbolWidth incl. quiet zones
    GTIN-12 (UPC-A)11614141000012614141000012UPC-A37.3 mm at X 0.33 mm
    GTIN-13 (EAN-13)1295011010209179501101020917EAN-1337.3 mm at X 0.33 mm
    GTIN-14 (ITF-14)131950110102091419501101020914ITF-1470.3 mm at X 0.5 mm
    SSCC (AI 00)17395011010000004185395011010000004185GS1-12888.0 mm at X 0.5 mm
    GLN (AI 410)1295011010000189501101000018GS1-12877.0 mm at X 0.5 mm
    What it catches. Swap the last two SSCC digits to 39501101000000481 and the check digit becomes 9, not 5. A scanner or this validator rejects the misread.

    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
    SituationSeparator neededWhySymptom when it is wrong
    Predefined length AI, another field followsNoLength is known from the AI itselfAn extra separator becomes part of the next AI
    Variable length AI, another field followsYesThe value has no fixed endThe next AI is absorbed into this value
    Variable length AI, last fieldNoEnd of data terminates itA trailing separator adds an empty field
    Fixed format AI outside the predefined listYesPredefined length is a published listAI 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.

    AIData titleMeaningFormatSeparator requiredCheck digit
    00SSCCSerial Shipping Container CodeN2+N18NoYes
    01GTINGlobal Trade Item NumberN2+N14NoYes
    02CONTENTGTIN of contained trade itemsN2+N14NoYes
    10BATCH/LOTBatch or lot numberN2+X..20YesNo
    11PROD DATEProduction date, YYMMDDN2+N6NoNo
    15BEST BEFOREBest before date, YYMMDDN2+N6NoNo
    17USE BY OR EXPIRYExpiration date, YYMMDDN2+N6NoNo
    21SERIALSerial numberN2+X..20YesNo
    30VAR. COUNTVariable count of itemsN2+N..8YesNo
    310nNET WEIGHT (kg)Net weight, kilogramsN4+N6NoNo
    320nNET WEIGHT (lb)Net weight, poundsN4+N6NoNo
    330nGROSS WEIGHT (kg)Logistic weight, kilogramsN4+N6NoNo
    340nGROSS WEIGHT (lb)Logistic weight, poundsN4+N6NoNo
    37COUNTCount of trade itemsN2+N..8YesNo
    400ORDER NUMBERCustomer purchase order numberN3+X..30YesNo
    402GSINGlobal Shipment Id NumberN3+N17YesYes
    403ROUTERouting codeN3+X..30YesNo
    410SHIP TO LOCShip to or deliver to GLNN3+N13NoYes
    422ORIGINCountry of originN3+N3YesNo
    The trailing n in weight AIs is the number of decimal places. AI 3302 with 048600 reads as 486.00 kg; AI 3303 with the same digits reads as 48.600 kg.

    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.

    StepCase GTIN-14 from a base unitWorked figures
    1Start from the base unit GTIN09501101020917
    2Drop its check digit and leading zero950110102091
    3Put the indicator digit in front1950110102091
    4Recalculate the check digit over 13 digits4
    5Read the result as the case GTIN19501101020914
    • 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.

    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.

    FieldAIValue enteredPredefined lengthSeparator after it
    SSCC of the pallet00395011010000004185YesNo
    Case GTIN-140119501101020914YesNo
    Cases on the pallet3796NoYes, a field follows
    Gross weight, lb (1 decimal)3401010680YesNo
    Expiry date17270131YesNo
    Batch or lot10US-4471NoNo, 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.

    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 asksWhat they scanWhat it unlocks
    Retail checkoutUPC-A or EAN-13Price lookup at the register
    3PL inbound teamSSCC on the palletReceipt matched to the advance ship notice
    Marketplace fulfillment centerCase GTIN and countAutomated putaway of the case
    Your own warehouseBatch and expiryFirst 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.

    Six GS1 Barcode Mistakes That Fail at Receiving

    1

    Missing separator

    (10)US-4471 run straight into (17)270131 scans fine but reads as one batch value. The expiry is lost.

    2

    Wrong check digit

    An SSCC ending 4 instead of 5 is rejected by a receiving system. Let the tool compute it.

    3

    Invented GTINs

    A made-up number can collide with another company's product. Use only numbers licensed to you.

    4

    One GTIN-14 for two case sizes

    A case of 6 and a case of 12 are different trade items and need different indicators.

    5

    Stretched images

    Scaling a barcode unevenly changes bar ratios. Regenerate the SVG at the right X dimension instead.

    6

    Spaces 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.

    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.