Put GTIN, price and weight in one GS1-128 barcode
LabelCraft - barcode labels for Shopify that print at exactly the size you set.
Every label prints at the size you set - measured, not approximate.
Overflow or a missing barcode always raises a visible warning before you print.
Modules snap to your printer's dots, so codes stay crisp and scan first time.
We never overwrite or reassign a product's existing barcode.
A retail EAN-13 carries one thing: the product number. A GS1-128 barcode carries several - the GTIN, the net weight, the price - each one tagged so a scanner knows what it is reading. That is the format warehouse and 3PL receiving systems expect, and it is why a single GS1-128 label can replace a row of separate stickers.
What an Application Identifier is
Inside a GS1-128 symbol each field starts with an Application Identifier (AI) - a 2-to-4 digit prefix, written in parentheses, that tells the scanner what the digits after it mean. (01) introduces a 14-digit GTIN; (310n) a net weight in kilograms; (392n) an amount payable. The AI is part of the encoded data, not decoration, so one symbol can hold a GTIN, a weight and a price without the scanner ever confusing one for another.
The element string LabelCraft builds
Give LabelCraft a variant with GTIN 4006381333931, a net weight of 0.5 kg and a price of 19.99, and it builds this exact element string:
(01)04006381333931(3103)000500(3922)1999
(01) 04006381333931- the GTIN-14. Your 13-digit EAN-13 is padded with a leading zero to the 14 digits AI (01) always uses.(3103) 000500- the net weight. The trailing 3 means three implied decimals, so000500reads as 0.500 kg.(3922) 1999- the amount payable. The trailing 2 means two decimals, so1999reads as 19.99.
Weight: (310n) for kilograms, (320n) for pounds
LabelCraft encodes metric weights under (310n) and imperial weights under (320n), always as six digits with three implied decimals. Grams and ounces are converted first, so 500 g and 0.5 kg both encode as (3103)000500. A weight with no unit is never guessed - LabelCraft rejects it rather than print a barcode that scans as the wrong mass.
Price: (392n) plain, (393n) with a currency
An amount on its own uses (392n). When you embed the currency too, LabelCraft uses (393n), which prefixes the amount with the 3-digit ISO-4217 numeric currency code. A price of 10.99 in EUR (numeric code 978) encodes as (3932)9781099. An unknown currency is rejected, never guessed - a wrong currency on a price barcode is a silent mispricing.
One symbol only holds so much
A single GS1-128 symbol is capped by the GS1 General Specifications at 48 encoded characters. Pack in a GTIN, a weight, a long price and (later) a lot or expiry, and you can run past that ceiling - at which point a careless generator either fails or lets the symbol grow so wide it overflows the label and drops the trailing fields. LabelCraft assesses the payload before it prints and tells you which AI would not fit, so the overflow is never silent.
How LabelCraft prints it
Add a GS1-128 element to your template and switch on the GTIN, weight and price fields you want. Every field is validated on its own and as a whole: an invalid GTIN, an unconvertible weight, an unknown currency or an over-capacity payload is a hard stop, not a half-right barcode. The result is the one thing a receiving label has to be - scannable, and carrying exactly the data the warehouse expects.
Install free - 200 labels per month →
Related: GS1 barcodes and GTINs, the GTIN check digit, receiving barcode labels - or contact LabelCraft support.
Related guides
- How to print barcode labels when you receive inventory in Shopify
- Print bin, shelf and stock-location labels
- Shopify Receives by SKU, Not Barcode — How to Label by Barcode
- Does a Shopify Barcode App Multiply Your Case or Pack Quantities?
- Reconcile a supplier packing list against a Shopify transfer
- Partial shipment received? Print labels for just the delta
- Lot, Batch & Expiry Labels for Shopify Receiving
- Too much data in one barcode: when a GS1-128 overflows
- Carton and case labels: ITF-14 and GS1-128 on the outer box