Etsy → Shopify · product import
Import Etsy Products to Shopify
Shopify imports products from a CSV — but not Etsy's CSV. The two files share almost no column names, so the job is reformatting: Etsy's export in, Shopify's import format out. Here's exactly how the fields map, and a free converter that does it in your browser.
How the fields map
Etsy's “Currently for Sale Listings” export and Shopify's product import template, column by column:
| Etsy column | Shopify column | Notes |
|---|---|---|
| TITLE | Title | Also used as image alt text. Shopify caps titles at 255 characters — longer ones are truncated with a warning. |
| DESCRIPTION | Body (HTML) | Line breaks preserved as HTML. |
| PRICE | Variant Price | Starting value for every variant — Etsy's file has no per-variant prices, so you set the real ones in the bulk grid before download. |
| QUANTITY | Variant Inventory Qty | Same: one listing-level number, editable per variant in the grid. |
| TAGS | Tags | Comma-separated list passes straight through. |
| VARIATION 1–3 | Option1–3 Name / Value | Each combination of your variation values becomes its own Shopify variant row. Shopify allows at most 3 option types. |
| SKU | Variant SKU | Carried when Etsy's file provides it; editable per variant in the grid either way. |
| IMAGE1–IMAGE10 | Image Src | One image row per photo; Shopify downloads each image from the URL during import. |
| MATERIALS | — | Shopify's import CSV has no materials field — this is the one Etsy column that has nowhere to go. |
| CURRENCY_CODE | — | Shopify's import has no currency column; prices land in your store currency. You'll see a warning if your file mixes currencies. |
Shopify is strict about this file: column names must match its template exactly, or the column is silently ignored — no error, just missing data. That, plus one-row-per-variant layout and handle generation, is what the converter below automates.
never uploaded
Drop your EtsyListingsDownload.csv here or click to choose a file
Free for your first 25 listings · no signup
Privacy: the conversion happens locally in this page. Your CSV is never uploaded, stored, or seen by us.
Running the import in Shopify
Products → Import
In Shopify admin, open Products, click Import, and choose the converted file you downloaded above.
Review the preview
Shopify shows a preview before committing. Check a multi-variant product: each size/color combination should appear with its own price.
Spot-check after import
Images take a few minutes to fetch. Products arrive as active — if you'd rather review first, select all and bulk-set status to Draft.
Common questions
Why did some of my columns disappear on a raw import?
If you fed Etsy's CSV to Shopify directly, every column vanished — none of Etsy's headers match Shopify's template, and Shopify skips unknown columns without complaining. The file has to be reformatted first; that's the whole job.
Why are all my variant prices identical after importing?
Because Etsy's export lists one price per listing, not per variant — any converter that doesn't ask you for variant prices is just copying the flat price onto every row. The full story on that gap →. The bulk grid above exists so you can fix it in minutes before importing instead of retyping prices in Shopify admin after.
Is this free?
First 25 listings, completely — variants, images, grid and all, no signup. Larger shops: $29 one-time for the full export. Full tool page and FAQ →