Skip to content
Centangle Global

Free template

A Shopify product CSV template, with variants, images and SEO fields

The short answer

Shopify imports products from a CSV file that uses its own column names. Download this template, keep its header row, and give each variant its own row sharing one URL handle. A new product needs only a Title. Then import it from Products > Import in your Shopify admin. Below: every column, a worked example and five platforms’ exports.

Key facts

As of October 2026

  • To import a new product, the only column Shopify requires is Title, plus URL handle when the product has variants.
  • Each variant is a row of its own, sharing its product’s URL handle. A Shopify product can have up to 3 options and 2,048 variants.
  • A Shopify product can have up to 250 images, one image per row, each at a public web address.
  • Shopify’s SEO title can be up to 70 characters and its SEO description up to 320. Left blank, Shopify uses the product’s own title and description.
  • A product CSV can’t be larger than 15 MB, and Shopify asks for it to be saved as UTF-8.
  • Collection is the only column you can add to Shopify’s format, and it puts a product in one collection.

What’s in the Shopify product CSV template?

A CSV file that opens in Google Sheets, Excel or Numbers, with Shopify’s own header row, word for word, and six example rows to replace: one T-shirt in three sizes and two colours. It’s saved as UTF-8, as Shopify asks. Free to use for your own store or your clients’.

Download the template (CSV)

The product

ColumnWhat goes in it
TitleThe product’s name. The only column a new product must have. Fill it in on the product’s first row only.
URL handleThe end of the product’s web address: letters, numbers and dashes, no spaces. Needed when a product has variants, and the same on every row of that product.
DescriptionWhat the product is. First row only.
VendorWho makes it. If you make it yourself, Shopify suggests your store’s name. First row only.
Product categoryA category from Shopify’s Standard Product Taxonomy, as its full path or its ID. Shopify uses it to work out tax rates in the US.
TypeYour own label for grouping products, in any words you like.
TagsKeywords for search and filters, separated by commas in one cell: up to 250 a product. First row only.
Published on online storetrue to show the product on your online store, or false to keep it off.
Statusactive, draft or archived. If the column is there, the product’s first row needs one of them.

Variants and options

ColumnWhat goes in it
SKUThe variant’s own stock code, one on each row.
Option1 nameThe first option’s name, such as Size, on the product’s first row. A product can have up to 3 options, and up to 2,048 variants.
Option1 valueThis row’s value for that option, such as Small. Each variant is one row.
Option2 nameThe second option’s name, such as Colour, on the first row.
Option2 valueThis row’s value for the second option, such as Navy.
Option3 name and Option3 valueA third option, if the product has one.

Price, tax and stock

ColumnWhat goes in it
PriceThe variant’s price, as a number with no currency sign, such as 25.00. Blank becomes 0.00.
Compare-at priceThe original price, to show a reduction. Leave it blank if there isn’t one.
Charge taxtrue to charge tax on the variant, or false not to.
Inventory trackershopify to have Shopify count the stock, or blank not to track it.
Inventory quantityHow many you have. Only for a store with one location; with more, Shopify’s inventory CSV sets stock instead.
Continue selling when out of stockdeny to stop selling at 0, or continue to keep selling.

Shipping

ColumnWhat goes in it
Weight value (grams)The weight in grams, as a whole number with no unit: 4 pounds is 1814.
Weight unit for displayThe unit your store shows the weight in: g, kg, lb or oz.
Requires shippingtrue for something you post, false for something you don’t.
Fulfillment servicemanual, unless a fulfilment service you’ve set up in Shopify sends your orders.

Images

ColumnWhat goes in it
Product image URLA public web address for an image, starting https:// and with no password. One image per row, up to 250 a product.
Image positionWhere the image comes in the product’s order, from 1.
Image alt textA short description for screen readers and search engines: up to 512 characters, best at 125 or fewer.
Variant image URLThe image for this row’s variant, such as the navy shirt on the navy rows.

Search engines

ColumnWhat goes in it
SEO titleThe title in search results, up to 70 characters. Left blank, Shopify uses the product’s title.
SEO descriptionThe description in search results, up to 320 characters. Left blank, Shopify uses the product’s description.

Collection

ColumnWhat goes in it
CollectionThe one column Shopify lets you add: a collection to put the product in, made for you if it doesn’t exist. One collection a product, up to 255 characters.

The template keeps Shopify’s other columns, blank and in the order of its sample file: barcodes, linked options, cost per item, tax code, unit prices, gift card, a colour field, Google Shopping and packed sizes. Fill one in only if you use it.

What does a product with variants look like in the CSV?

The template’s example rows, with 10 of its columns: one T-shirt with Size and Colour options, as six variants. Title and the option names are on the first row only, and every row has the URL handle. Its image addresses are on example.com, a web address kept for examples.

URL handleTitleOption1 nameOption1 valueOption2 nameOption2 valueSKUPriceInventory quantityImage position
organic-cotton-t-shirtOrganic cotton T-shirtSizeSmallColourNavyTEE-NAVY-S25.00101
organic-cotton-t-shirtSmallSandTEE-SAND-S25.0082
organic-cotton-t-shirtMediumNavyTEE-NAVY-M25.0012
organic-cotton-t-shirtMediumSandTEE-SAND-M25.009
organic-cotton-t-shirtLargeNavyTEE-NAVY-L25.006
organic-cotton-t-shirtLargeSandTEE-SAND-L25.005

How do I get my products out of Etsy, Wix, Squarespace, BigCommerce or WooCommerce?

Each platform exports its products as a CSV file with its own column names. Export it, then copy each column into the template. The steps are from each platform’s own help page.

Etsy

  1. Sign in to Etsy, click You, then Shop Manager.
  2. Go to Settings > Options > Download Data, and click Download CSV.
  3. Etsy puts each listing on one row, with all of a variation’s values in one cell. Give each variant its own row under the listing’s row, with the same URL handle, its option values, price and quantity.
  4. Keep only that variant’s SKU on each row, then delete Etsy’s VARIATION columns.

Etsy’s file has only the listings currently for sale: their title, description, price, currency code, quantity, tags, materials, image URLs and SKUs. Shopify’s free Store Migration app takes Etsy’s file unedited, but imports a listing with 101 or more variation combinations without its variants.

Source: Etsy Help: How to download your listing information

Wix

  1. Go to the Products tab in your site’s dashboard.
  2. Select the checkbox at the top left to choose every product.
  3. Click More Actions, then Export, choose an export option and click Export.
  4. Copy each column into the template’s matching column, one row per variant.

Wix exports up to 5,000 rows per file, and can’t export digital products. Shopify’s free Store Migration app also reads Wix’s file, though Shopify says some platforms’ files need small edits afterwards.

Source: Wix Help Center: Exporting your product list

Squarespace

  1. Open the Products & Services panel and click Products.
  2. Click Export all.
  3. Copy each column into the template’s matching column, one row per variant, and add the image addresses Squarespace leaves out.

Squarespace exports up to 10,000 physical and service products. Its file leaves out featured images, variant images, image alt text and reviews. Shopify’s Store Migration app doesn’t list Squarespace.

Source: Squarespace Help Center: Export products to a .csv

BigCommerce

  1. Go to Products > Export to export the whole catalogue.
  2. Click Start export. When it finishes, click the file’s name to download it.
  3. Copy each column into the template’s matching column: Page Title into SEO title and Meta Description into SEO description, for example.

BigCommerce’s file puts variants and images on rows of their own, marked Variant and Image in its Item column, and the image addresses are in its Internal Image URL (Export) column. Fields BigCommerce doesn’t list as supported, such as bulk pricing, don’t export. Shopify’s Store Migration app doesn’t list BigCommerce.

Source: BigCommerce Help Center: Exporting your products

WooCommerce

  1. Go to Products > All Products, and select Export at the top of the page.
  2. Leave Export all columns selected, and select Generate CSV.
  3. Copy each column into the template’s matching column. A variation row names its parent product’s SKU in the Parent column: give it the parent’s URL handle instead.

Each variation is a row of its own in WooCommerce’s file, and the first address in its Images column is the featured image. WooCommerce may leave attribute values out of variation names, so take each variant’s options from its Attribute columns. Shopify’s free Store Migration app also reads WooCommerce’s file.

Source: WooCommerce: Product CSV importer and exporter

Can I import my old store’s export into Shopify as it is?

Not through Shopify’s own importer: it needs Shopify’s column names, matched exactly, capitals included, and if a header is missing or the format doesn’t match, the import fails. So copy your export into this template, column by column.

Shopify’s free Store Migration app is the other route. It reads product files from platforms including Etsy, WooCommerce and Wix, though Shopify says some platforms’ files need small edits afterwards. It doesn’t list Squarespace or BigCommerce.

What should I check before I import?

  • Delete the example rows. Every row left in the file becomes a product.
  • Keep the header row exactly as it is, and save the file as CSV in UTF-8. Google Sheets does that by default.
  • Don’t sort the sheet in Excel or Numbers. Shopify warns that sorting can separate products from their image links.
  • Check every image address opens in a browser without a password. Shopify downloads each image during the import.
  • Keep a copy of your product data. An import can’t be cancelled once it starts, and Shopify keeps no history of past imports.
  • If a product fails to import, check each of its variants has a value for every option.

What does it cost if you move my products for me?

We move stores to Shopify for US$1,250, fixed, in US dollars, for businesses in the US, the UK and Canada: up to 300 products, 3 to 4 weeks, with your customers, your order history and the full redirect map. Getting the products into Shopify’s format is part of it.

How do I import the template into Shopify?

  1. 01

    Fill in the template

    One row per variant, all sharing the product’s URL handle, and one image per row. Delete the example rows.

  2. 02

    Save it as a CSV

    In UTF-8, and under 15 MB. Split a bigger file into smaller ones and import each.

  3. 03

    Open the importer

    In your Shopify admin, go to Products, click Import, then Add file, and choose your CSV.

  4. 04

    Choose where it’s published

    New products go to all your sales channels unless you untick Publish new products to all sales channels. Leave Overwrite products with matching handles unticked for new products.

  5. 05

    Import and check

    Click Upload and continue, then Import products. Shopify emails you when it’s done; then check prices, stock, weights and variants.

Where do these platform facts come from?

From Shopify’s Help Center and each platform’s own help pages, checked on 28 October 2026 and re-checked every quarter. They change their tools, so check the linked page before you rely on a step. The template is ours: Shopify doesn’t make or endorse it.

What else do people ask?

What columns does a Shopify product CSV need?

For new products, only Title, plus URL handle when a product has variants. To update products, URL handle and Title. This template keeps every column in Shopify’s sample file, plus Collection, and this page explains the ones its worked example fills in.

How do I add variants in a Shopify product CSV?

Give each variant its own row. Put every field on the product’s first row, with the option names, such as Size and Colour. On each row after it, enter the same URL handle, that variant’s option values, SKU, price and stock, and leave Title, Description, Vendor and Tags blank.

How do I add more than one image to a product?

One image per row. The first goes on the product’s first row, and each extra one on another row of the same product: a variant’s row, or a row with just the URL handle. Put its address in Product image URL and its place in Image position. The images must be at public addresses, such as Content > Files in your Shopify admin.

Why did my Shopify product CSV import fail?

Usually one of these: a column name that doesn’t match Shopify’s exactly, capitals included; a file not saved as UTF-8; a file over 15 MB; a variant missing a value for one of the product’s options; or related columns with only some of them filled in. For related columns, Shopify’s error message says which blanks need a value.

Can I import customers or orders with this template?

No, it’s for products. Shopify imports customers from a CSV file of their own, and past orders come across only through a migration app or Shopify’s API.

Can I use this template for my own clients?

Yes, you have our permission: download it, change it to suit the job and use it with your clients. A link back to this page is appreciated, not required.

Would you rather we moved your products?

Book a 20-minute call and bring your store’s address. We’ll tell you whether the fixed-price move fits, what it costs, and what we’d move first. If a move isn’t what you need, we’ll say so.

contact@centangleglobal.com · Phone and WhatsApp +1 (307) 269-6427 · A reply within one working day