๐Ÿ“„
QR Tools Live

Garment Barcode Generator: Free Code 128 SKU Labels

Built by Najeeb · last updated August 20, 2026 · checked against our testing process

Code 128 handles a full style-color-size-batch SKU in one code, like TSHIRT-BLK-M-001. For a code sold at a retail chain register instead of your own shop, you need a GS1-assigned GTIN (EAN-13/UPC-A) — see the sections below.

How to use the garment barcode generator

  1. Choose your SKU pattern: style code, color, size, and an optional batch or lot number, separated by hyphens (e.g. TSHIRT-BLK-M-2601).
  2. Enter the code: type or paste your SKU string into the box. The barcode updates instantly using Code 128.
  3. Check the preview: confirm the bars render cleanly and the text underneath matches your SKU exactly, with no typos in style, color, or size segments.
  4. Download as PNG or SVG: PNG for a quick print run, SVG if you're sending the file to a label or hang-tag printer for sharp scaling.
  5. Print at hang-tag size: keep a clean margin around the code and make sure no fold or crease will cross the bars once it's attached to the garment.

Why Code 128 is the right garment barcode format

A garment barcode has to carry more than a plain SKU number. Style, color, size, and often a batch or lot number all need to fit in one scan, and the code still has to look clean on a hang-tag the size of a thumbnail. Code 128 does this because it's fully alphanumeric: letters, numbers, and symbols like hyphens all encode cleanly, and the format is dense enough that a string like TSHIRT-BLK-M-2601 prints small without turning into a blur of bars. UPC-A and EAN-13, by contrast, are digits-only and fixed-length, built for a checkout scanner reading a single retail product number, not a style-color-size-batch string. This tool generates Code 128 barcodes in your browser using JsBarcode, defaulted to a garment SKU pattern, with nothing uploaded and no account needed.

Internal tracking vs. a retail-chain barcode

This is the distinction that trips up most small clothing brands. If you're tagging your own inventory for your own point-of-sale system, in your own boutique, thrift store, consignment shop, or small production run, you don't need to register anything. Any SKU pattern that makes sense to you and your staff is a valid barcode. Scan it at your own register, and it works.

That changes the moment the garment is going to sit on a shelf at a different retailer and get scanned at their chain point-of-sale: that's where a homemade Code 128 stops being enough. Most multi-store and big-box retailers require a real GS1-assigned GTIN, printed as a UPC-A or EAN-13, tied to your company's registered prefix. That's a separate process through GS1 with its own cost structure, and it's not something this tool, or any free generator, can substitute for. So the question to ask before printing 500 hang-tags is simple: is this garment leaving my own checkout, or someone else's? If it's just yours, barcodes for clothing built on an internal Code 128 system are standard practice and perfectly legitimate.

A SKU pattern that actually scales

The pattern most small brands and shops land on is: style code, color, size, and an optional batch or lot number, separated by hyphens. It reads left to right the way a person would describe the item out loud.

Example: TSHIRT-BLK-M-2601 decodes as t-shirt style, black, medium, batch 2601. A hoodie in the same system might be HOODIE-GRY-L-2602. Keep style codes short and consistent (3-8 characters), use a fixed short color abbreviation list so BLK always means black and never blue, and use standard size letters (XS-XXL) or numeric sizes as your line expects. The batch or lot segment is optional but worth keeping if you run multiple production batches of the same style, color, and size across the year: it separates a spring restock from a fall one without inventing a whole new style code.

Where to put the barcode on a garment

Print the code onto a hang-tag, not into the fabric. A barcode sewn or printed directly onto cloth stretches, wrinkles, and curves with the garment, and a curved or distorted barcode is exactly what scanners struggle to read. A flat paper or cardstock hang-tag, attached with a tag pin or plastic loop, keeps the code rigid and scannable. Leave a clean margin (the quiet zone) around the barcode, and don't let a folded tag edge cross through the bars: a scanner reading through a fold is the single most common reason a "correct" barcode won't scan at the register.

For material, durable cardstock covers most cases, since these are hang-tags customers or staff remove at purchase, not permanent labels. If the tag needs to survive laundering, such as private-label care labels or rental uniforms, use the woven or synthetic tag stock made for that purpose through a label vendor, rather than an ordinary paper tag.

Why garment barcoding isn't general retail barcoding

A single grocery product has one barcode. A single garment style rarely does. One t-shirt design in 4 colors and 5 sizes is already 20 unique SKUs before you've made a second style. Multiply that across a real collection and a small brand can be managing hundreds of individual codes. Paying for that many GS1 GTINs adds up fast for a business selling only through its own boutique or website, which is exactly why an internal Code 128 system, built on a clear style-color-size-batch pattern, is the more practical route for small operations. Save GTIN registration for garments actually going into someone else's retail chain.

Worked example

A small clothing brand is prepping its first production run: 8 styles, 4 colors, 5 sizes, sold only through their own boutique and online store. That's 160 unique SKUs (8 × 4 × 5). No big-box retailer is involved, so no GTIN registration is needed. They build codes like JKT02-NVY-L-2601 for jacket style 2, navy, large, first 2026 batch, generate all 160 as Code 128 barcodes with this tool, print them on cardstock hang-tags, and attach one per garment before the run ships to the shop floor. If a wholesale account later wants to stock the line in their own stores, that's the point to look into GS1 registration, not before.

Will your SKU fit the tag? Code 128 width math

Code 128 gets wider with every character you add. The symbol needs 11 modules per character plus 35 modules for the start, check, and stop patterns, so TSHIRT-BLK-M-2601 at 17 characters comes to 222 modules. Printed at 0.25 mm per module, a normal density on a 300 DPI label printer, that is 55.5 mm of bars, and the spec wants a quiet zone of 10 modules on each side, another 5 mm. A standard 2 inch hang tag is 50.8 mm wide, so the code overflows. Two fixes work: trim to a 10 to 12 character SKU like TS-BLK-M-26, which drops to 156 modules and 39 mm, or rotate the barcode 90 degrees so it runs along the long edge of the tag. Shorter codes also scan more reliably on cheap handheld scanners.

Label stock and the real cost per label

StockSpecTypical cost per labelBest for
Laser sheet labels (Avery 5160 format)66.7 x 25.4 mm, 30 per sheetAbout $0.02 plus tonerSmall batches on an office printer
Direct thermal roll2.25 x 1.25 in on a Dymo or RolloAbout $0.01 to $0.02Volume runs, no ink or toner
Preprinted tags from a print shopYour artwork on cardstockAbout $0.08 to $0.15Polished retail presentation

Give the 160 SKU worked example above a run of 50 units per SKU and you are printing 8,000 labels. On a thermal roll that is roughly $80 to $160 total. Preprinted, the same run costs $640 to $1,200, so a typical $100 to $250 thermal printer pays for itself on the first batch. If the tag also needs a scannable link to care instructions or a product page, size it with the QR code for labels tool so both codes fit.

Which labels survive the wash

Direct thermal labels contain no ink; heat darkens a coating on the paper. They typically fade within 6 to 12 months and turn black under an iron or in a hot car, so keep them for shipping boxes and shelf bins. Anything sewn into a garment needs thermal transfer printing with a resin ribbon on nylon taffeta or satin polyester, the standard combination for care labels, rated for dozens of wash cycles. Cardstock hang tags need no wash rating at all because they come off at the register.

Will Shopify POS or Square scan a homemade Code 128?

Yes. Shopify POS, Square, and Lightspeed all read Code 128 against the barcode field on an item, and none of them care that you generated the code yourself. A USB scanner in keyboard wedge mode, typically $25 to $40, types the decoded text into whatever field the cursor sits in, so it also works in a plain spreadsheet for stock counts. One gotcha: the scanner outputs exactly the string you encoded, character for character. If the tag says TS-BLK-M-26 but the POS field holds TSBLKM26, the lookup fails. Paste the same SKU column into this generator and your POS so every hyphen matches.

What each barcode route costs

Your situationUseWhat it costs
Own shop, markets, consignment, your own websiteCode 128 from this page$0
A US retail chain asks for UPCsGS1 US registration, then the UPC-A generator$30 for a single GTIN, or $250 up front plus $50 per year for a prefix covering 10 products
Exporting to EU or UK retailGS1 membership, then the EAN-13 generatorFees vary by country GS1 office

For anything outside these three formats, start with the multi-format barcode generator.

Printing 160 codes without a bulk tool

The generator makes one barcode at a time, so treat your spreadsheet as the master list and work down the SKU column: generate, download, and name each file with its exact SKU. Budget 20 to 30 minutes for 160 codes, and it only happens once per season. Drop the finished files into your label software's grid layout, 30 per sheet on the Avery format above. Skip the shortcut of typing SKUs into a Code 128 barcode font inside a mail merge: Code 128 requires a computed check character plus encoded start and stop patterns, so raw text pushed through a font produces bars that will not scan.

Related tools

Need a barcode in a different symbology, or for something other than a garment? The multi-format barcode generator covers Code 128, Code 39, and other formats in one place. If a garment is headed for a retail chain and needs a real registered code, generate the visual with the UPC-A barcode generator once you have your GS1-assigned number.

Frequently Asked Questions

Do I need to register with GS1 to make a garment barcode?

No, not if you're tagging inventory for your own store, boutique, or consignment shop. Any SKU pattern your own system understands is fine. GS1 registration only matters if the garment will be scanned at a different retailer's chain register.

What's the difference between a garment barcode and a UPC code?

A garment barcode is usually Code 128, an alphanumeric format that can hold a full style-color-size-batch string like TSHIRT-BLK-M-2601 in one code. A UPC-A is digits-only, fixed-length, and tied to a GS1-registered number meant for retail-chain checkout.

Can I use this Code 128 barcode in someone else's retail chain?

No. A homemade Code 128 works for your own point-of-sale and inventory, but most multi-store and big-box retailers require a real GS1-assigned GTIN printed as a UPC-A or EAN-13 before they'll stock and scan the item.

What SKU pattern should I use for style, color, and size?

Style code, color, size, and an optional batch number, separated by hyphens, such as TSHIRT-BLK-M-2601. Keep style codes short, use a fixed color abbreviation list, and stick to standard size letters or numbers.

Where should I put the barcode on a piece of clothing?

On a hang-tag, not sewn or printed into the fabric. Cloth stretches and curves, which distorts the bars. A flat cardstock tag with a clean margin around the code scans reliably; a folded tag edge across the bars won't.

Can garment barcodes survive washing?

Most hang-tag barcodes are removed at purchase and don't need to. If a tag has to survive laundering, such as a private-label care label, use woven or synthetic tag stock from a label vendor instead of paper.

Is my SKU data uploaded anywhere?

No. The barcode is generated in your browser using JsBarcode. Nothing you type is sent to or stored on a server, and no account or signup is required.