Move products from Etsy to Shopify


Need ongoing inventory sync between Etsy and Shopify?

This article covers a one-time product move. If you want your stock levels to stay in sync automatically, see Etsy ↔ Shopify Inventory Sync.

What this guide covers

  • Exporting your product data from Etsy
  • Preparing a CSV that Shopify can import
  • Importing products into Shopify
  • Common issues and how to fix them
  • What to do next (keep inventory in sync)

Before you start

What usually migrates well

  • Product titles, descriptions, tags
  • Prices, SKU codes
  • Variants/options (e.g., Size, Color)
  • Primary images (if you include valid image URLs in your CSV)

What usually doesn’t migrate (or needs separate steps)

  • Customer reviews/ratings
  • Historical orders and listing stats
  • Some shipping profiles, shop policies
  • Complex personalization settings

Tip: Keep a backup of your Etsy data and do a small test import in Shopify before attempting your full catalog.


Method A: Use a migration app (fastest for non-technical)

If you’d prefer not to reformat spreadsheets, a migration app can map Etsy → Shopify fields for you and pull images automatically. Search for “Etsy to Shopify product import” in the Shopify App Store, compare reviews, and run a test on a handful of listings first.

  • Pros: Quick, handles image downloads/variants.
  • Cons: Subscription or one-time fee; you may still need to tidy up data post-import.

Method B: Manual CSV (DIY and free)

Etsy’s export file won’t import directly into Shopify—you’ll reformat it to match Shopify’s Product CSV structure.

Step 1: Export your products from Etsy

  1. In Etsy, go to Shop Manager → Settings → Options → Download Data.
  2. Export your Listings as CSV and save the file.

Step 2: Get Shopify’s CSV structure

  1. In Shopify admin, go to Products → Import.
  2. Download the sample product CSV (this shows the exact columns Shopify expects).

Step 3: Map Etsy columns to Shopify’s format

Open both CSVs in Google Sheets or Excel. Create a new sheet that follows Shopify’s columns, then copy data across from Etsy where appropriate.

Common mappings (typical examples):

  • TitleTitle
  • DescriptionBody (HTML) (keep basic formatting)
  • PriceVariant Price
  • SKUVariant SKU
  • Quantity (your available stock) → Variant Inventory Qty
  • Who made / When made / Category → often omitted; instead set Product Type, Vendor, Tags manually or via rules
  • Image URLsImage Src (include full, publicly accessible URLs)

Variants & options

  • In Shopify, the first row of a product includes Option1 Name (e.g., “Size”) and Option1 Value (e.g., “Small”).
  • Each additional variant gets its own row, repeating the same Handle (product identifier) and filling Option1/2/3 Value as needed.
  • Include Variant Inventory Qty, Variant SKU, Variant Price per row.

Inventory management fields

  • To have Shopify track stock, set Variant Inventory Tracker to shopify .
  • If you prefer to manage stock elsewhere (e.g., Craftybase), you can leave this blank and enable sync later.

Images

  • Use Image Src with a full URL; repeat the product Handle on multiple rows to add multiple images.
  • Add Image Position (1, 2, 3…) if you want to control order.

Tip: Keep numbers as plain values (no currency symbols). Don’t delete required column headers even if you leave cells blank.

Step 4: Import into Shopify

  1. In Shopify admin, go to Products → Import.
  2. Upload your CSV and choose Overwrite any current products that have the same handle only if you intend to replace existing items.
  3. Run the import and check the preview for field mapping warnings.

    After import, spot-check:

    • Variant counts and prices
    • Images attached and ordered correctly
    • Collections/menus (you may need to assign these in Shopify)

Troubleshooting

“Invalid headers” or “Unrecognized columns”

Ensure your file uses Shopify’s exact column names from the sample CSV.

Variants didn’t combine under one product

Confirm the Handle is identical across all variant rows for the same product.

Images didn’t import

Check that Image Src links are public and end in a valid image file path. If they’re private or timed links, upload images directly in Shopify after import.

Inventory is wrong

If you manage stock in multiple locations, you’ll need to update location quantities in Shopify after the import (Shopify’s product CSV is product-level; location counts may require an additional inventory CSV or manual adjustment).

Descriptions look messy

Paste descriptions as clean HTML or plain text. Remove unsupported formatting from the Etsy export.


After your products are in Shopify: keep inventory in sync

If you sell on both Etsy and Shopify, you’ll want stock to stay aligned to prevent overselling. That’s where Craftybase helps:

  • Import orders from both channels
  • Deduct raw materials and update finished product counts (BoMs/recipes supported)
  • Optionally push the new stock back to Etsy and Shopify automatically—or require approval first
  • See a change history for every sync

Learn more: Etsy ↔ Shopify Inventory Sync or go deeper About Stock Push


FAQs

Can I migrate my customers and order history?

This article focuses on products. Orders/customers generally require separate exports or a migration app.

Will my reviews come across?

Reviews usually don’t migrate via product CSV. You’ll need a reviews app or separate import.

Do I have to use a CSV?

No—you can use a migration app. For small catalogs, manual re-creation in Shopify can also be viable.


Need a hand?

Did this answer your question? Thanks for the feedback There was a problem submitting your feedback. Please try again later.