SKU Generator for Product Variants
A SKU is a prefix plus one short code per attribute, joined by one separator. 3 categories × 5 colours × 6 sizes gives 90 SKUs, from LST-TEE-BLK-XS to LST-SHT-SND-XXL, each 13–15 characters.
Sequence, parent SKU and auto-codes
LST-[Category]-[Colour]-[Size]=UPPER("LST"&"-"&A2&"-"&B2&"-"&C2)Codes in columns A, B, C from row 2. Fill the formula down.
All 90 variants, the full combination of your segment values.
The sample list shows each kind of flag. Replace it with your own.
| Line | SKU | Flags |
|---|
The SKUs are generated and checked in your browser.
How to Generate SKU Numbers in 5 Steps
- Choose the segments. List the attributes that make one item different from the next: category, style, colour, size or pack.
- Give every value a short code. Two to four characters each. BLK for black, XL for extra large. Leave a code out and the generator takes the first letters.
- Pick one separator and one case. A hyphen or underscore between segments, and uppercase throughout.
- Add a prefix or sequence only if needed. A prefix separates brands. A sequence is for items whose attributes alone are not unique.
- Generate, check, export. Generate every combination, clear the duplicate and length flags, then download the CSV for your inventory system.
An Austin, Texas Apparel Brand: 90 SKUs Under 16 Characters
An apparel brand in Austin, TX launches its first range, stored at a 3PL. It uses the house prefix LST. These are the settings loaded in the generator above.
| Row | Category | Colour | Size | Parent SKU | SKU |
|---|---|---|---|---|---|
| 1 | T-Shirt | Black | Extra Small | LST-TEE | LST-TEE-BLK-XS |
| 2 | T-Shirt | Black | Small | LST-TEE | LST-TEE-BLK-S |
| 6 | T-Shirt | Black | Double Extra Large | LST-TEE | LST-TEE-BLK-XXL |
| 7 | T-Shirt | White | Extra Small | LST-TEE | LST-TEE-WHT-XS |
| 30 | T-Shirt | Sand | Double Extra Large | LST-TEE | LST-TEE-SND-XXL |
| 31 | Hoodie | Black | Extra Small | LST-HDE | LST-HDE-BLK-XS |
| 61 | Shorts | Black | Extra Small | LST-SHT | LST-SHT-BLK-XS |
| 90 | Shorts | Sand | Double Extra Large | LST-SHT | LST-SHT-SND-XXL |
Rows 1–6
One colour in every size. That block is what a stocktaker counts on one shelf.
Row 31
The hoodies start, so a sorted export groups each category as a buyer reads it.
With a 3-digit sequence
LST-TEE-BLK-XS-001 to LST-SHT-SND-XXL-090: 17–19 characters, and 90 of 90 SKUs pass 16.
A SKU Is Not a UPC, EAN or Barcode
You create a SKU yourself, for free, today. A retailer asking for a product ID usually wants a GTIN, which is a separate number with its own rules.
| Identifier | Who issues it | Where it is used | Format |
|---|---|---|---|
| SKU | You. No registry, no fee, no application. | Internal: warehouse, 3PL, listings, reports. | Any letters, digits and separator you choose. |
| GTIN (UPC, EAN) | Built from a company prefix licensed through GS1. | External: retailers, marketplaces, point-of-sale scanners. | Fixed numeric lengths: GTIN-8, 12, 13 or 14 digits. |
| Barcode symbol | Printed by you from a number you already hold. | The bars on the label, not the identity. | Code 128, Code 39 or QR for SKUs; UPC or EAN for GTINs. |
Print a SKU as a barcode
Warehouse bin and carton labels usually carry the SKU itself. Turn any code from this page into a Code 128 label with the barcode generator.
Need a UPC or EAN instead
Retail scanning needs a GTIN, not a SKU. Once you hold one, draw UPC-A, EAN-13 or GS1-128 with the GS1 barcode generator.
GS1 US describes a GTIN as "a GS1 identification key used to identify a trade item" and "a globally unique number". Source: GS1 US, What is a GTIN?, checked 2 October 2026.
How to Create SKU Codes in Excel
Put each segment's codes in its own column and join them with one formula. The generator writes it for whatever settings you choose.
=UPPER("LST"&"-"&A2&"-"&B2&"-"&C2)=UPPER("LST"&"-"&A2&"-"&B2&"-"&C2&"-"&TEXT(ROW()-1,"000"))=UPPER("LST"&"-"&A2&"-"&B2&"-"&C2&"-"&TEXT(COUNTIFS($A$2:A2,A2),"000"))The per-parent version counts how many rows above share the parent's codes, so LST-HDE-BLK-XS-001 starts the hoodies at 001 again.
Why SKUs lose their leading zeros
| Fix | How |
|---|---|
| Import the column as text | Use Get & Transform (Power Query) and set the column type to Text before loading. |
| Change the automatic conversion setting | Newer Excel versions let you turn off the removal of leading zeros and the scientific-notation conversion. |
| Prefix with an apostrophe | Type an apostrophe before the value and Excel stores it as text. One cell at a time. |
| Start every SKU with a letter | A code that begins with a letter never looks like a number, so none of the numeric conversions apply. |
Source: Microsoft Support, Keeping leading zeros and large numbers, checked 2 October 2026. The checker flags all-digit codes with a leading zero, digit strings over 15 characters and E-notation patterns.
Only Encode What Will Never Change
A SKU is a permanent name for a physical item. Each attribute you encode has to stay true for as long as you sell it.
| Do not encode | Why it breaks | Where it belongs |
|---|---|---|
| Price or cost | Prices move with promotions, currency and freight. The SKU outlives all three. | The product record, where a change is one edit. |
| Supplier name | You dual-source or switch vendor. The physical item did not change. | A field on the purchase order and item master. |
| Stock quantity or bin | Both change daily, so the code would be wrong within a week. | The warehouse system. A SKU should never move. |
| Launch year or season | Fine for a one-season style, wrong for a staple you still sell years later. | Only where the season defines a genuinely retired product. |
| Sales channel | One unit on two marketplaces becomes two SKUs and splits one stock count. | One SKU per physical unit, mapped to each listing. |
Order segments from most stable to least
| Position | Segment | How stable | Why it sits here |
|---|---|---|---|
| 1 | Prefix or brand | Almost never changes | Groups everything you own at the top of a sort. |
| 2 | Category or family | Rarely changes | Every tee sits together in a sorted export. |
| 3 | Style or model | Fixed once launched | The natural boundary for a parent SKU. |
| 4 | Colour or variant | Fixed per variant | The first variable axis; groups all sizes of one colour. |
| 5 | Size, weight or pack | Fixed per variant | The finest split, so a size run reads down the column. |
| 6 | Sequence number | Assigned once | Only when attributes alone do not make the code unique. |
Characters to Keep Out of a SKU
Labels are read by eye as well as by scanner. These characters are easy to misread or break files, and the generator flags each one.
| Characters | What goes wrong | What to do instead |
|---|---|---|
| O and 0 | The letter O and the digit 0 look alike on a small thermal label. | Leave the letter O out of codes, for example LVE for olive. |
| I, 1 and l | Three glyphs that collapse into one vertical line in many fonts. | Leave I out and force uppercase so a lowercase l never appears. |
| Spaces | Trimmed or split on import, and awkward in URLs and scanner input. | Use a hyphen or underscore between segments. |
| Slash, comma, quote, hash | A comma splits a CSV field. A slash breaks a file path or a URL. | Restrict codes to A–Z, 0–9 and one separator. |
| Mixed case | Case-sensitive systems treat lst-tee-blk and LST-TEE-BLK as two items. | Pick one case and enforce it when the SKU is created. |
The Shopify Help Center advises avoiding a format where 0 and 1 can be confused with O and I, advises against special characters, symbols and spaces, and calls dashes and underscores useful separators. Source: Shopify Help Center, SKUs, checked 2 October 2026.
SKU Formats for Three Kinds of Catalogue
Each row is a preset in the generator, run through the same code. Encode the axis along which you hold separate stock, and nothing else.
| Catalogue | Segments | Values | SKUs | Parents | First SKU | Length | Over 16 |
|---|---|---|---|---|---|---|---|
| Apparel | Prefix LST / Category / Colour / Size | 3 × 5 × 6 | 90 | 3 | LST-TEE-BLK-XS | 13–15 | 0 |
| Skincare | Range / Product / Size / Formula | 2 × 3 × 2 × 2 | 24 | 6 | HYD-SER-30-FF | 13 | 0 |
| Food and drink | Flavour / Pack / Case / 2-digit sequence | 3 × 2 × 2 | 12 | 3 | BBQ-150G-12-01 | 14 | 0 |
Apparel
Two variant axes, colour and size, both in the code. No season code, so carry-over staples keep their SKUs.
Skincare
Volume and formula are separate stock. No prefix, because a single-brand catalogue gains nothing from one.
Food and drink
Pack and case size are what the warehouse counts. A 2-digit sequence numbers the line items.
Parent SKUs, Child SKUs and How Long to Go
Parent SKU
The family without the variant codes, such as LST-TEE. It groups listings and reports. Nothing is picked against it.
Child SKU
The full code with colour and size. This is the sellable unit that holds stock, and it must be unique across the catalogue.
Where to cut
The parent ends where the first variable segment starts. Build children by prefix, so trimming the tail returns the parent.
Six SKU Mistakes the Checker Catches
Switch the tool to "Check a list" and paste your current SKUs. The figures below come from the sample list it loads.
Two values, one code
Green and Grey both auto-code to GRE from their first three letters. The generator lists repeated codes inside a segment.
Case and separator twins
In the sample list, 2 lines differ only by case or separator, such as lst-tee-blk-l and LST_TEE_BLK_L.
Codes past the limit
Adding a 3-digit sequence to the worked example puts 90 of 90 SKUs over 16 characters.
O, I and lowercase l
2 of the 10 sample lines contain one of them, such as OLV for olive. The checker flags each line.
All-digit codes in Excel
00412 opens as 412, and 1E5 is read as a number in scientific notation. 2 of the sample lines carry that risk.
Spaces and symbols
The sample has 1 line with a space and 1 line with a slash. Both break imports and URLs.
What Breaks When You Renumber a Live Catalogue
Changing a SKU is not a one-field edit. The old code sits in records you no longer control.
- Historical orders and invoices keep the code they were raised with.
- Open purchase orders were accepted by your supplier against the old code.
- Labels already printed, and cartons already sealed in a warehouse, carry it.
- Marketplace listings can lose their variant grouping when a SKU changes.
- Your 3PL's item master needs the change loaded before the first receipt under the new code.
Related Inventory and Barcode Tools
See all free logistics tools, or read how Locad handles warehousing and ecommerce fulfillment once your SKUs are set.
SKU Generator Questions
SKUs Ready? Plan Where the Stock Goes
Talk to Locad about receiving, storage and fulfillment for your catalogue.