Wix to Shopify product CSV converter

In short: Wix Stores exports products as a CSV (often catalog_products.csv). Older stores use a layout that starts with handleId; stores on the new product catalog use one that starts with handle. Both are read. Shopify's product importer wants its own template: exact column names, one row per variant, all rows of a product together, plain-number prices and weights in grams. Drop the Wix file below to get one from the other. It is converted on your device and never uploaded.

Convert Wix to Shopify

Wix to Shopify

Your Wix Stores products CSV.

Your file stays on this device

It is read and converted by this page, inside your browser. Nothing from the file is uploaded, and the tool keeps working offline once the page has loaded.

Loading the converter...

What moves: products, variants, prices, stock, SKUs, images, tags, descriptions and SEO fields where both platforms have them. What does not: customers, orders, reviews, gift card balances, blog posts, pages and URL redirects are not in a product export, so CatalogHop does not convert them.

1. Export your products from Wix

  1. In your Wix dashboard, open your store's Products list.
  2. Click More Actions (or the export icon), then Export, and choose all products.
  3. Save the CSV. Menu names differ a little between Wix dashboard versions; the file is the same.
  4. Note your store's weight unit (in the store settings). The file does not say whether weights are in pounds or kilograms, so this page asks you before you download.

What to know about the Wix file

  • Images are Wix media IDs, not links. Links are built as https://static.wixstatic.com/media/ followed by the ID, which is Wix's usual image host but is not documented by Wix. Open a couple of them in a browser before importing.
  • Weights have no unit in the file, so the page asks for your Wix weight unit before you can download. Every weight, and so every weight-based shipping rate, depends on it.
  • Variant prices are the product price plus the variant surcharge. Ribbons, additional info sections and custom text fields are not carried over.
  • Products with options but no variant rows are expanded into every combination, with a note. Variants hidden in Wix are converted like the others and listed, so you can delete them.
  • Colour choices are carried over by name (the colour swatch code is dropped).

What the Shopify file gets

  • The 61 columns of Shopify's current product template, as UTF-8 with no byte order mark.
  • One row per variant, with extra rows for additional images, and all rows of a product kept together.
  • Weights in whole grams, with your display unit kept.
  • Products with no options get the usual "Title" / "Default Title" option.
  • Products Shopify would reject (more than 3 options, more than 2,048 variants, repeated option combinations, a blank or negative price, or anything else the Shopify checker on this site finds) are left out of the file and listed on screen so you can fix them in the source.
  • Image paths that are not full web links are left out with a note, so the product itself still imports.
  • Files over Shopify's 15 MB limit are also offered as smaller parts, each product kept whole.

2. Before and after

Before: the Wix Stores products CSV

handleId,fieldType,name,description,productImageUrl,collection,sku,ribbon,price,surcharge,visible,discountMode,discountValue,inventory,we...
product_11111111-aaaa-bbbb-cccc-000000000001,Product,Ribbed Beanie,"<p>Soft acrylic, one size.</p>",abc123_0001~mv2.jpg;abc123_0002~mv2.j...
product_11111111-aaaa-bbbb-cccc-000000000001,Variant,,,,,BEA-BLK-K,,,,true,,,5,0.2,,,,Black,,,Kids,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
product_11111111-aaaa-bbbb-cccc-000000000001,Variant,,,,,BEA-BLK-A,,,2.5,true,,,8,0.25,,,,Black,,,Adult,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
product_11111111-aaaa-bbbb-cccc-000000000001,Variant,,,,,BEA-WHT-K,,,,true,,,0,0.2,,,,White,,,Kids,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
product_11111111-aaaa-bbbb-cccc-000000000001,Variant,,,,,BEA-WHT-A,,,2.5,true,,,3,0.25,,,,White,,,Adult,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,

After: shopify-products.csv

After: first rows of shopify-products.csv
RowTitleURL handleDescriptionVendorTypePublished on online storeStatusSKUOption1 nameOption1 valueOption2 name
ProductRibbed Beanieribbed-beanie<p>Soft acrylic, one size.</p>North KnitHatsTRUEactiveBEA-BLK-KColorBlackSize
Variantribbed-beanieBEA-BLK-ABlack
Variantribbed-beanieBEA-WHT-KWhite
Variantribbed-beanieBEA-WHT-AWhite
Extra imageribbed-beanie
ProductEnamel Pinenamel-pinHard enamel, gold plating.AccessoriesFALSEdraftPIN-01TitleDefault Title

12 of 62 columns shown (empty columns hidden, 15 more with data).

What the converter reported for this sample

2 products read, 2 written.

  • Check this: Wix exports image IDs rather than links. Image links were built as https://static.wixstatic.com/media/<id>, Wix's usual image host. Open one in a browser before importing to make sure it loads.
  • Not carried over: These Wix fields have no equivalent in the destination and were not carried over: ribbons, additional info sections.

Sample products made up for this page, laid out exactly like a real Wix export. The "after" file and the notes were produced from it by the same converter this page runs.

3. Import into Shopify

  1. In Shopify admin, go to Products and click Import.
  2. Click Add file and choose shopify-products.csv.
  3. Leave "Publish new products to all sales channels" and the overwrite option as you need them. Overwrite replaces products that have the same URL handle.
  4. Click Upload and preview, look over the first product, then Import products. Shopify emails you when it finishes, including any rows it skipped.

Before you import everything

  • A few of Shopify's rules are our best reading rather than something Shopify states outright: that the 2,048 variant limit also applies to CSV imports, that decimal gram weights should be rounded, and that "Title" is the option name for products without options. Try a small file first.
  • Images are imported by Shopify downloading each link. Links that are private, slow or removed fail on Shopify's side, which no file check can see.
  • Inventory quantity in the file only applies to stores with a single location. With more than one location, set stock after import (or with Shopify's inventory CSV).
  • Import the file as it is. Opening it in Excel or Google Sheets and saving again can change prices, SKUs and accents.
  • Import a handful of products first, open them in your store and check variants, prices, stock and images. Then import the rest.

Already have a Shopify CSV that fails? Use the Shopify CSV checker.

Questions

Will my Wix images come across?
The Wix file holds image IDs, not links. CatalogHop builds links on Wix's usual image host. Shopify downloads each one during import, so open a couple in your browser first; if they load, Shopify can usually fetch them while your Wix site is still live.
Is my file uploaded anywhere?
No. The page reads the file with your browser and converts it there. The only thing the site records is an anonymous count: which converter was used, a rough row count, and whether it worked. The privacy page lists every field.
Will the import definitely work?
Nobody can promise that from a file alone. The converter follows each importer's documented rules, leaves out products that would be rejected and tells you about them, and checks the Shopify file against Shopify's documented import rules before download. Import a few products first, look at them in your store, then import the rest.
Does it move customers, orders or reviews?
No. Only products move. Customers, orders, reviews, gift card balances, blog posts, pages and URL redirects are not in a product export, so CatalogHop does not convert them.
Is it free?
Yes. There is no account and no limit on how many files you convert.

Related converters