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 Shopify
- In Shopify admin, go to Products.
- Click Export, choose All products and "CSV for Excel, Numbers, or other spreadsheet programs", then Export products.
- Shopify emails the file if the export is large (for example when a product has more than 100 variants). Download it from the email link.
What to know about the Shopify file
- Shopify to Shopify keeps every column of Shopify's template, including fulfillment service, packed dimensions, unit prices and tax codes. Custom metafields and market prices are not carried over, and you are told which.
- Gift card products are left out: gift cards cannot be created by importing a product file.
- Products that are active but hidden from the online store stay hidden.
- Weights are read from the grams column, so the unit is never guessed.
What the WooCommerce file gets
- The column labels of WooCommerce's built-in importer (checked against WooCommerce 11.2.2), so columns map automatically.
- Variable products with their variations, each variation linked to the parent by SKU. A parent SKU is made from the URL handle when the source has none.
- Weights converted to your WooCommerce weight unit, with the matching column label such as Weight (kg).
- Repeated SKUs left blank on the later rows, because WooCommerce rejects duplicate SKUs.
- Products hidden from the online store written with catalog visibility hidden, and products that need no shipping written as virtual.
- Attributes as product-level (not global) attributes.
2. Before and after
Before: the Shopify products CSV
Title,URL handle,Description,Vendor,Product category,Type,Tags,Published on online store,Status,SKU,Variant Barcodes,Option1 name,Option1... Garment Dyed Tee,garment-dyed-tee,"<p>Soft cotton tee, ""garment dyed"", pre-shrunk.</p> <ul><li>100% cotton</li><li>Unisex, regular fit</li></ul>",Acme Threads,,T-Shirt,"cotton, tee, unisex",TRUE,active,GDT-S-BLK,,Size,S,,Col... ,garment-dyed-tee,,,,,,,,GDT-S-WHT,,,S,,,White,,,,,28.00,35.00,,TRUE,,,,,,shopify,0,CONTINUE,181,lb,TRUE,manual,,,,https://cdn.example.co... ,garment-dyed-tee,,,,,,,,GDT-M-BLK,,,M,,,Black,,,,,28.00,,,TRUE,,,,,,shopify,7,DENY,195,lb,TRUE,manual,,,,,,,,,,,,,,,,,,,,,,,,, ,garment-dyed-tee,,,,,,,,GDT-M-WHT,,,M,,,White,,,,,28.00,,,TRUE,,,,,,shopify,3,DENY,195,lb,TRUE,manual,,,,,,,,,,,,,,,,,,,,,,,,,
After: woocommerce-products.csv
| Type | SKU | Name | Published | Is featured? | Visibility in catalog | Description | Tax status | In stock? | Stock | Backorders allowed? | Weight (kg) |
|---|---|---|---|---|---|---|---|---|---|---|---|
| variable | garment-dyed-tee | Garment Dyed Tee | 1 | 0 | visible | <p>Soft cotton tee, "garment dyed", pre-shrunk.</p>\n<ul>... | taxable | ||||
| variation | GDT-S-BLK | Garment Dyed Tee - S, Black | 1 | taxable | 1 | 10 | 0 | 0.181 | |||
| variation | GDT-S-WHT | Garment Dyed Tee - S, White | 1 | taxable | 1 | 0 | 1 | 0.181 | |||
| variation | GDT-M-BLK | Garment Dyed Tee - M, Black | 1 | taxable | 1 | 7 | 0 | 0.195 | |||
| variation | GDT-M-WHT | Garment Dyed Tee - M, White | 1 | taxable | 1 | 3 | 0 | 0.195 | |||
| simple | WRAP | Gift Wrap | -1 | 0 | hidden | Recycled paper wrap | none | 1 | 0 | 0.05 |
12 of 29 columns shown (empty columns hidden, 15 more with data).
What the converter reported for this sample
2 products read, 2 written.
- Not carried over: "Garment Dyed Tee": the main product was given the SKU "garment-dyed-tee" so WooCommerce can link its options (variations) to it. Nothing to do.
- Not carried over: Vendor names were not carried over: WooCommerce core has no vendor column (Brands exists only on newer versions).
Sample products made up for this page, laid out exactly like a real Shopify export. The "after" file and the notes were produced from it by the same converter this page runs.
3. Import into WooCommerce
- In WordPress, go to Products, then All Products, and click Import.
- Choose woocommerce-products.csv and click Continue.
- On the column mapping screen, check that each column is matched. If the weight column is not matched, pick Weight for it.
- Click Run the importer. WooCommerce shows a count of imported, skipped and failed products at the end.
Before you import everything
- Vendor and barcodes are not written: core WooCommerce has no vendor column, and the barcode (GTIN) column does not map automatically in 11.2.
- Weight column labels other than Weight (lbs) are taken from WooCommerce's source code rather than a sample file. If yours is not matched on the mapping screen, match it by hand.
- Images are imported by WooCommerce downloading each link, so the links must be public.
- 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 WooCommerce CSV that fails? Use the WooCommerce CSV checker.
Questions
- Does Shopify have a tool to export to WooCommerce?
- Shopify's export is in Shopify's own layout, which WooCommerce does not read directly. CatalogHop rewrites it in WooCommerce's column labels, with variations linked to their parent products.
- What about my Shopify customers and orders?
- They are not part of a product export and CatalogHop does not convert them. Only products, variants, images, tags and SEO fields move.
- 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 does not check the WooCommerce file before download, so run it through the WooCommerce CSV checker on this site. 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.