Color swatch generator
Turn hex codes, a pasted list or a product photo into a matching set of color swatches.
Generator
Type your options once and get every combination with its SKU and price, ready to import into Shopify in the columns its own sample file uses. A plain CSV of the matrix works in any spreadsheet.
8 variants from 2 options. Ready to download.
The plain CSV is the matrix alone (options, SKU, price), so it opens in any spreadsheet and suits any store or marketplace.
| # | Size | Color | SKU | Price |
|---|---|---|---|---|
| 1 | S | Navy | CLA-S-NAV | $25.00 |
| 2 | S | Sand | CLA-S-SAN | $25.00 |
| 3 | M | Navy | CLA-M-NAV | $25.00 |
| 4 | M | Sand | CLA-M-SAN | $25.00 |
| 5 | L | Navy | CLA-L-NAV | $25.00 |
| 6 | L | Sand | CLA-L-SAN | $25.00 |
| 7 | XL | Navy | CLA-XL-NAV | $27.00 |
| 8 | XL | Sand | CLA-XL-SAN | $27.00 |
The product, options and SKU pattern are written into the page address, so a shared link opens the same variants. Barcodes stay in the page and are not put in the address.
SKU mode
Paste names from a spreadsheet, a supplier list or your own notes, one per line, and get a SKU for each from the same pattern. Nothing has to be a Shopify variant.
5 SKUs. Every SKU is different.
| # | Name | SKU |
|---|---|---|
| 1 | Classic Tee, Navy, Large | ACM-CLA-NAV-LAR |
| 2 | Classic Tee, Sand, Small | ACM-CLA-SAN-SMA |
| 3 | Canvas Tote, Natural | ACM-CAN-NAT |
| 4 | Enamel Mug, White, 12 oz | ACM-ENA-WHI-12O |
| 5 | Gift Card | ACM-GIF |
First row: all product fields plus the first image URL. Each following row: the same URL handle, with Title, Description, Vendor and Tags left blank, and that variant's details and image URL filled in. Shopify's sample file follows that pattern, and so does the file from this tool.
The columns come in the order of Shopify's sample file, checked on October 23, 2026. The sample also has a column for one metafield, Color (product.metafields.shopify.color-pattern); metafield columns differ from store to store, so the tool leaves it out. Linked-to columns, which connect an option to a category metafield, stay blank.
Shopify wants weight in whole grams with no unit, so 5.125 kg goes in as 5125 and 4 lb as 1814; the tool converts what you type and keeps your unit for display. Prices are written with two decimals. A value with a comma, a quote or a line break is wrapped in quotes, with any quote doubled, so it stays in its column.
Variant-level columns (e.g. SKU, Weight value (grams)) need Option1 name and Option1 value in the file; without them Shopify creates a new default variant and deletes the existing variants.
| Current name | Older name |
|---|---|
| URL handle | Handle |
| Title | Title |
| Vendor | Vendor |
| Type | Type |
| Tags | Tags |
| Published on online store | Published |
| Status | Status |
| SKU | Variant SKU |
| Option1 name | Option1 Name |
| Option1 value | Option1 Value |
| Price | Variant Price |
| Cost per item | Cost per item |
| Charge tax | Variant Taxable |
| Inventory tracker | Variant Inventory Tracker |
| Inventory quantity | Variant Inventory Qty |
| Continue selling when out of stock | Variant Inventory Policy |
| Weight value (grams) | Variant Grams |
| Weight unit for display | Variant Weight Unit |
| Requires shipping | Variant Requires Shipping |
| Fulfillment service | Variant Fulfillment Service |
| Gift card | Gift Card |
| Variant Barcodes (or Barcodes) | Variant Barcode |
Shopify publishes no table pairing the old and new names. These pairs match the column descriptions on the current and the August 2025 versions of its help page.
Option2 and Option3 follow the same pattern as Option1.
The starting product above has 8 variants from 2 options.
Shopify product CSV
The file is UTF-8 with a comma between columns, one header row and one row per variant, in the order of the preview table. It has 60 columns, the ones in Shopify's sample file today, and the tool fills the ones it knows.
In Shopify, go to Products, then Import, and choose the file. Shopify shows a preview of the first product before anything is saved, so check the options and prices there.
To change a product that already exists, keep its URL handle and tick "Overwrite products with matching handles". A blank cell in a non-required column overwrites the existing value with blank. Changing Option1/2/3 value deletes existing variant IDs and creates new ones.
The file leaves images, the description, SEO fields and the product category blank, so add them in the product editor afterwards, or fill those columns in a spreadsheet before you import.
Enter the product title, then each option and its values above. The tool lists every combination and writes them in the columns of Shopify's own sample file: the first row holds the product, and each following row repeats the URL handle with that variant's values, SKU and price. Download it and import it from Products in your admin.
Up to 2,048 variants and 3 options per product. Past 100 variants, some themes, apps and sales channels may not keep up, and Shopify names Stocky and the legacy Order Printer as two that do not. For more than 3 options or 2,048 variants, Shopify points to an app, line item properties or, on Plus, Combined Listings.
Shopify renamed its product CSV columns: Handle became URL handle, Body (HTML) became Description, Variant SKU became SKU, and so on. Exports and the sample file use the new names, and Shopify says it still imports the old ones. Pick Legacy if another tool or an old spreadsheet expects them.
That is how Shopify's sample file lays out a product with variants. The first row carries the product's own fields; every row after it repeats only the URL handle, so Shopify knows the rows belong together, and fills in that variant's options, SKU, price and stock.
Short, unique and readable by the people who pick and pack: a product code, then the option values in a fixed order, such as TEE-NAV-M. Use letters, digits and a dash, keep the same length for each part, and avoid letters that look like digits (O and 0, I and 1). The tool flags any SKU that repeats.
Yes. The SKU generator further down takes any list of names, one per line, and makes a SKU for each with the same pattern controls. Put the parts after commas, like "Classic Tee, Navy, Large", to use them as {option1} to {option3}.
Check each UPC or EAN, download the bars and print a sheet of labels for every variant.