What do you want to do?

ProductsExample

Every combination of option values becomes a variant with its own SKU.

Product 1: Classic Crew T-Shirt

Options

12 variants

Up to three options. Separate values with commas.

More fieldsBrand · Product code
Product 2: Canvas Tote Bag

Options

2 variants

Up to three options. Separate values with commas.

More fieldsBrand · Product code
SKU pattern

First SKU

TSH-001-BLK-S

Product type - 001 - Option 1 - Option 2 - Option 3

Customize patternHyphen (-) · Uppercase

Segments, in SKU order

  1. Type a code for any value. Values left blank use the first letter + consonants rule, shown in grey.

SKUs14TSH-001-BLK-S

Generated SKUs

SKUs14

14 SKUs for 2 products. All SKUs are unique.

Products2
Duplicates0
Need a look0

Adds a Status column set to draft, so you can add prices, images and descriptions before the products go live.

Import the CSV into Shopify
  1. In Shopify admin, go to Products and click Import.
  2. Click Add file and choose the downloaded CSV.
  3. Leave Overwrite products with matching handles unselected. Shopify then ignores any product whose URL handle already exists, so your current products stay as they are.
  4. Click Upload and continue, check the preview, then click Import products.

Variants without a price are created at 0.00, Shopify’s default. Add prices before you sell.

Generated SKUs, one row per variant
#SKUChecksProductVariant
1TSH-001-BLK-SOKClassic Crew T-ShirtBlack / S
2TSH-001-BLK-MOKClassic Crew T-ShirtBlack / M
3TSH-001-BLK-LOKClassic Crew T-ShirtBlack / L
4TSH-001-BLK-XLOKClassic Crew T-ShirtBlack / XL
5TSH-001-WHT-SOKClassic Crew T-ShirtWhite / S
6TSH-001-WHT-MOKClassic Crew T-ShirtWhite / M
7TSH-001-WHT-LOKClassic Crew T-ShirtWhite / L
8TSH-001-WHT-XLOKClassic Crew T-ShirtWhite / XL
9TSH-001-NVY-SOKClassic Crew T-ShirtNavy / S
10TSH-001-NVY-MOKClassic Crew T-ShirtNavy / M
11TSH-001-NVY-LOKClassic Crew T-ShirtNavy / L
12TSH-001-NVY-XLOKClassic Crew T-ShirtNavy / XL
13BAG-002-NTROKCanvas Tote BagNatural
14BAG-002-BLKOKCanvas Tote BagBlack

A SKU generator turns one naming rule into a stock keeping unit (SKU) code for every product variant, such as TSH-001-BLK-S for a black T-shirt in size S. This free SKU generator for Shopify builds those codes from the product type, a sequence number and the option values you choose, flags duplicates and risky characters, and gives you a CSV that Shopify can import. It can also fill the empty SKU cells in a product export from your store.

What is a SKU, and how is it different from a barcode?

In Shopify, a SKU is an optional code that identifies a product or variant within your business, in a format you choose. A barcode is an identifier for scanning: a custom value, or a number from a global registry such as a GTIN, UPC or EAN (Product details page). GS1 US describes a GTIN as a permanent number issued only by GS1, and a SKU as a code you create for your own inventory (GS1 US). A variant can have both. To print a barcode image from a code, use the Shopify barcode generator.

What makes a good SKU format?

Shopify’s SKU guidelines come down to a few rules; the tool checks the ones it can:

  • One SKU per variant. A shirt in 3 sizes and 4 colors needs 12 SKUs. Shopify shows a warning in the Inventory section when it detects a duplicate.
  • Letters, digits, hyphens and underscores. Shopify advises against spaces, special characters and symbols because they can cause search problems.
  • No O/0 or I/1 mix-ups. Avoid formats where the digits 0 and 1 can be read as the letters O and I.
  • Short. Shopify suggests no more than 16 characters; depending on your range, 4 to 8 can be enough.
  • Consistent. If BLK means black on one product, it means black on every product. Keep one letter case too, because Shopify treats ABC123 and abc123 as different SKUs.
  • Room to grow. Leave enough digits for the products you plan to add.

Spreadsheets add one more risk. Excel removes leading zeros and shows large numbers in scientific notation (Microsoft Support), so a digits-only SKU such as 00123 can change when the file is opened and saved. Including a letter avoids that.

How to use this SKU generator

  1. In Build SKUs, enter each product’s title and up to three options with comma-separated values. The tool creates every combination.
  2. Under SKU pattern, switch segments on or off and order them with the arrows. Give each an abbreviation rule: the first letters (Black → BLA), the first letter plus consonants (Black → BLC), initials, the whole value, or codes you type, such as BLK for Black.
  3. Choose a separator and the sequence settings. Numbers can count products, every SKU, or restart within each product.
  4. Fix anything flagged in the Checks column, then download the CSV or copy the SKUs.

How do I get the SKUs into Shopify?

  • One variant at a time. In Shopify admin, go to Products and open the product. Click the variant in the Variants section, add the SKU in the Inventory section, then click Save.
  • Bulk editor. Select the products, click Bulk edit, then add the SKU column from Columns. If saving fails with “Update the invalid values, then save again”, Shopify names a variant missing a required SKU and metafield validation errors as typical causes (Bulk editing). See how to fix Shopify metafield validation errors.
  • New products by CSV. The download uses the column headers from Shopify’s product CSV template. Import it from Products > Import with Overwrite products with matching handles unselected, so Shopify ignores any product whose URL handle already exists (Importing products with a CSV file).
  • Existing products by CSV. Export your products, switch to Fill SKUs in a Shopify export, upload the file, then import the updated file with overwrite selected. Overwrite replaces the store’s values in every column the file contains, and a blank cell in a non-required column clears that value, so import straight after exporting. The SKU columns only download leaves price and inventory out, which Shopify says keeps their current values, but includes Status, because Shopify uploads a product as active when that column is missing (Using CSV files). Import the one-product test file first, as the Shopify product CSV update checklist recommends.

What are the limits?

  • Shopify allows up to 3 options and 2,048 variants per product (Adding variants). The tool refuses larger products and warns above 100 variants, which Shopify says some third-party themes and custom apps might not support.
  • Duplicate checks cover only the products on this page or in the uploaded file.
  • The fill mode needs a Shopify product export with a URL handle (or Handle) column and a SKU (or Variant SKU) column.
  • A product CSV can’t exceed 15 MB, and an import can’t be cancelled once it starts.
  • Add SKUs before you start selling. Shopify notes that SKUs added after an order was placed won’t appear in historical reports.

Frequently asked questions

Does Shopify require a SKU for every product?

No. Shopify treats the SKU as an optional code. In practice you need one when a variant uses a custom fulfillment service, because the SKU column can’t be blank then (Using CSV files), and Shopify notes that many apps and services require SKUs to sync inventory (Using SKUs).

Can two variants share the same SKU?

Shopify says each product and variant must have its own unique SKU, and that duplicates can cause issues with third-party integrations and inventory tracking. If you deliberately share a SKU, for example for a bundle, Shopify says you can ignore its duplicate warning (Using SKUs).

Can I use the manufacturer’s barcode number as my SKU?

You can, because Shopify lets you choose the SKU format. Two things to weigh first: a digits-only code such as a GTIN can lose its leading zeros when the file passes through Excel, and codes from different suppliers can clash. Another option is to put the GTIN in Shopify’s barcode field and give the variant its own SKU. GS1 US describes the GTIN as a global product number and the SKU as an internal code, noting that retailers selling the same item each assign it their own SKU (GS1 US).

Will importing the generated CSV change products I already have?

Not if you leave Overwrite products with matching handles unselected. Shopify then ignores every product in the file whose URL handle already exists (Importing products). The tool builds handles from your titles, so a new product with the same title as an existing one is skipped: give it a different title and download again.

How do I keep SKUs consistent when I add products later?

Write down the pattern: the segment order, separator, rules and any custom codes. Next time, set the same options and change Start at in the sequence segment to the next unused number. The tool doesn’t save settings between visits, and it only checks duplicates against the products on the page, so search your store for a new SKU if you’re unsure.

Sources

Last updated October 26, 2026

More free Shopify tools

All tools

Shopify Barcode Generator

Products & catalog

Make UPC, EAN and Code 128 barcodes with correct check digits, and print label sheets from a list or a Shopify product CSV.

Size Chart Generator

Products & catalog

Build a size chart in centimetres, inches or both, then copy accessible HTML for Shopify or download a PNG or CSV.

Shopify Profit Margin Calculator

Pricing & profit

Work out profit, net margin and markup per order after fees, shipping, ads and refunds, or the price you need for a target margin.