Nobody issues SKU numbers. Unlike a UPC, which carries a GTIN licensed through GS1, a SKU is a code you make up for your own stock. That freedom is the problem: without a plan, the first ten products get ten different styles of code, and by product fifty nobody can tell from a SKU what it is.

This guide is the method, in order, with one worked example from start to finish. The rules that make a single SKU good or bad, with a table of bad SKUs and their fixes, are in the barcode inventory guide. Here the focus is on building the whole system, including what happens when you add product number 51.

Step 1: List every variant you count separately

Start with a spreadsheet of everything you sell, one row per thing you stock and count on its own. A shirt that comes in three colors and four sizes is twelve rows, because a black medium and a black large are counted and reordered separately. Amazon's seller guide asks for the same thing: a separate SKU for every product in your inventory (Amazon).

Leave out what you don't count. Shipping boxes and tape usually don't need SKUs; a reorder point is enough.

While you build the list, note which attributes really vary. They become your segments in step 2, and they are also how your store will group the rows. Shopify allows up to 3 options per product (Shopify), and Etsy allows variations on up to 3 item attributes per listing (Etsy). If a product varies on more than three attributes, those platforms make you split it, so consider doing the same in your SKUs.

Step 2: Choose the segments and their order

A segment is one part of the SKU that stands for one attribute. Order the segments from general to specific: product type first, then style or flavor, then size. Sorted lists then keep related items together, and anyone can read a SKU left to right.

BusinessSegment 1Segment 2Segment 3
ClothingStyle (TS, HD)Color (BLK, NVY)Size (S, M, L)
CandlesProduct (CND, WMT)Scent (CED, LAV)Size in oz (04, 08)
HardwarePart type (BLT, NUT)Spec (M6X20)Finish (ZN, SS)

Keep a segment only if it separates things you count separately. Prices, suppliers, shelf locations and dates change, and a SKU should not, so they never get a segment. (Etsy's help page suggests building SKUs around where items are stored, but locations move; keep them in a separate location code.) Two to four segments are plenty for most small shops. Etsy suggests keeping SKUs to 4 to 8 characters for most inventory (Etsy), while Amazon's guide says SKUs are usually 8 to 10 letters and numbers (Amazon). Either way, every extra segment makes the code longer.

Step 3: Write a code dictionary

The dictionary is a short table that gives every value of every segment its code. It is the part most shops skip, and it is the part that keeps SKUs consistent a year later. A few rules make it work:

  • Fixed length per segment. In the candle example below, every scent code has three letters and every size code two digits. SKUs then line up and sort cleanly.
  • Letters and digits only, uppercase. Etsy's tips warn against symbols such as commas or slashes, which confuse programs like Excel (Etsy). A dash between segments is fine.
  • No letter O or letter I. Etsy points out they are easily mistaken for numbers. Choose CTR for citrus, not CIT.
  • Start each SKU with a letter. Excel removes leading zeros from codes such as 00123 (Microsoft Support), so a SKU like 0408 turns into 408 in a spreadsheet. A product code in segment 1 avoids that. Excel can also turn a continuous string of letters and numbers into a date, so format the SKU column as Text before you paste a list in.

Here is the dictionary for the worked example, a small candle shop with two product lines:

SegmentCodeMeaning
ProductCNDJar candle
ProductWMTWax melts
ScentCEDCedar
ScentLAVLavender
ScentCTRCitrus
Size044 oz
Size088 oz
Size1616 oz

Every code avoids O and I, every product code is three letters, and every size is two digits.

Step 4: Generate the list and check it

Combining the codes by hand is where typos creep in, so let a tool do it. The SKU generator takes one segment per box in the same CODE = meaning format as the dictionary and builds every combination. It flags O and I, symbols, SKUs that start with a digit, SKUs over 20 characters and duplicates, and exports the list as a CSV.

A generator makes every combination, and not every combination exists. In the example, jar candles come in 8 and 16 oz and wax melts only in 4 oz. So run it once per product line:

  1. Jar candles: 1 product × 3 scents × 2 sizes = 6 SKUs, from CND-CED-08 to CND-CTR-16.
  2. Wax melts: 1 product × 3 scents × 1 size = 3 SKUs: WMT-CED-04, WMT-LAV-04 and WMT-CTR-04.

That is 9 SKUs, each 10 characters long with dashes. If you want Etsy's 4 to 8 characters, choose no separator and get CNDCED08, which is 8 characters. Dashes are easier to read aloud, so it is a trade-off, not a rule. Pick one and use it everywhere.

Then check the list against reality: one row for every variant in your step 1 spreadsheet, no SKU left over, and no SKU that matches one you already use.

Step 5: Connect each SKU to its GTIN and your sales channels

A SKU doesn't replace a UPC. GS1 US explains the difference: a GTIN is issued through GS1 and every retailer uses the same number for your product, while a SKU is a code you create yourself and differs from business to business (GS1 US). If a product goes to retail or a marketplace that requires product IDs, it needs both, so add a GTIN column next to the SKU in your master list. How the four numbers an Amazon seller deals with fit together is covered in FNSKU vs ASIN vs SKU vs UPC.

Then load the SKUs into each channel:

  • Shopify takes a product CSV in which each variant row has its own SKU value and its Option1, Option2 and Option3 values (Shopify).
  • Etsy has you enter a SKU under Inventory and pricing, or per option when you turn on SKU for a variation; it allows unique SKUs for up to 400 option combinations per listing (Etsy).
  • Amazon asks for your SKU in the SKU field when you add a product, and creates and assigns one if you leave it out (Amazon).

Use your own SKU in every channel rather than letting each platform invent one. One code across your store, your marketplace listings and your stockroom makes reports and reorders line up. For shelf and bin labels, send the list to the label sheet tool, which prints each SKU as a Code 128 barcode.

Step 6: Write down the rules for new products

The system pays off when you add products later. Keep the dictionary and the master list in one shared file, and follow the same steps for every new item:

  1. Reuse existing codes where they fit. A new 8 oz cedar wax melt is WMT-CED-08, not WMT-CDR-08.
  2. Add a new code to the dictionary before you use it, following the same length and character rules.
  3. Never change a SKU that is already in use. Amazon asks that your existing SKUs remain unchanged unless you delete the product (Amazon).
  4. Never reuse a retired SKU for something else; mark it retired in the master list instead.

If two people add products, give one of them the job of approving new codes. A dictionary that anyone can edit drifts back into ten different styles.

Next step

Put your segment codes into the SKU generator, download the CSV, and paste it next to your product list. Then compare row by row before you load anything into your store.

Sources

  1. GS1 US: What is a GTIN? (accessed )
  2. Amazon (Sell on Amazon): What is a SKU—and how does it help ecommerce sellers? (accessed )
  3. Etsy Help: How to Use SKU for Your Inventory (accessed )
  4. Etsy Help: How to Add Variations to Your Listings (accessed )
  5. Shopify Help Center: Using CSV files to import and export products (accessed )
  6. Microsoft Support: Keeping leading zeros and large numbers (accessed )

Edited by Plain Barcode. Drafted with AI writing tools and checked against the sources listed above.

How guides are researched and corrected: Editorial Policy. Spotted an error? Email hello@plainbarcode.com.