BigCommerce to Shopify product CSV converter

In short: BigCommerce exports products as a CSV whose first column is Item: a Product row, then one Variant row per option combination and one Image row per picture. 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 BigCommerce file below to get one from the other. It is converted on your device and never uploaded.

Convert BigCommerce to Shopify

BigCommerce to Shopify

Your BigCommerce 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, 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 BigCommerce

  1. In your BigCommerce control panel, open Products, then Export.
  2. Export all products as CSV and download the file. Menu names can differ a little between BigCommerce versions; the file's first column must be called Item.
  3. An older "Bulk Edit" export (first column Item Type) is not read by this converter. Export again with the current export.
  4. Note your store's weight unit (in the store settings). The file does not include it, so this page asks you before you download.

What to know about the BigCommerce file

  • Categories and brands are exported as ID numbers, not names, so they cannot be carried over. Recreate them in the new store. Each file with them says so.
  • Weights have no unit in the file, so the page asks for your BigCommerce weight unit before you can download.
  • A variant with a blank price takes the product price, as BigCommerce documents. That it also takes the product's sale price is our reading, and each file with such variants says so. A sale price lower than the price becomes the compare-at price; with no sale, a higher retail price (MSRP) is used as the compare-at price. Where BigCommerce does not say which price shoppers saw, the converter tells you which one it wrote.
  • When BigCommerce tracks stock for the whole product rather than per variant, the stock cannot be split, so tracking is turned off for those variants with a note.
  • Not carried over, and listed when present: custom fields, videos, download files of digital products, dimensions, shipping settings, featured flag and search keywords. Modifier options and price rules are not in the export at all, so they do not move.
  • Swatch colours are carried over by name; the colour codes are dropped.
  • Is Visible must be TRUE or FALSE. A product with a blank or unclear value is kept as a draft, with a note, so nothing hidden is published by mistake.
  • BigCommerce's Variant and Image rows belong to the Product row above them. Do not sort the file in a spreadsheet before converting; the converter warns when the order looks changed.
  • Built from BigCommerce's published sample export and field documentation. It was not tested by importing into a live store.

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 BigCommerce products CSV

Item,ID,Name,Type,SKU,Options,Inventory Tracking,Current Stock,Low Stock,Price,Cost Price,Retail Price,Sale Price,Brand ID,Channels,Categ...
Product,77,[Sample] Fog Linen Chambray Towel - Beige Stripe,physical,SLCTBS,,none,0,0,49.00,0.00,0.00,0.00,,1,23;18,"<p>The perfect beach...
<p>Measures 75 x 145 cm/29.5 x 57 in</p>
<p>100% Linen</p>",,,/fog-linen-chambray-towel-beige-stripe/,,,,,,,,FALSE,0.00,1.00,0.00,0.00,0.00,TRUE,FALSE,,0,New,FALSE,0,,,,,,,,,,
Variant,1,,,SLCTBS-A9615491,Type=Rectangle|Name=Size|Value=XSType=Swatch|Name=Color|Value=Silver[#cccccc],,0,0,,0.00,,,,,,,,,,,,,0,,,,FAL...
Variant,2,,,SLCTBS-5596D19E,Type=Rectangle|Name=Size|Value=SType=Swatch|Name=Color|Value=Silver[#cccccc],,0,0,,0.00,,,,,,,,,,,,,0,,,,FALS...

After: shopify-products.csv

After: first rows of shopify-products.csv
RowTitleURL handleDescriptionPublished on online storeStatusSKUOption1 nameOption1 valueOption2 nameOption2 valuePrice
Product[Sample] Fog Linen Chambray Towel - Beige Stripefog-linen-chambray-towel-beige-stripe<p>The perfect beach towel: thin, lightweight and highly ...TRUEactiveSLCTBS-A9615491SizeXSColorSilver49.00
Variantfog-linen-chambray-towel-beige-stripeSLCTBS-5596D19ESSilver49.00
Variantfog-linen-chambray-towel-beige-stripeSLCTBS-08950B35MSilver49.00
Variantfog-linen-chambray-towel-beige-stripeSLCTBS-7765C099LSilver49.00
Extra imagefog-linen-chambray-towel-beige-stripe
Extra imagefog-linen-chambray-towel-beige-stripe

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

What the converter reported for this sample

5 products read, 5 written.

  • Check this: BigCommerce exports categories as ID numbers (for example 23;18), not names, so categories were not carried over. Recreate them in the new store.
  • Check this: BigCommerce exports brands as ID numbers, not names, so brands were not carried over as the vendor. Set the vendor or brand in the new store.
  • Check this: "Wool Beanie": custom fields were not carried over (the destination file has no place for them).
  • Not carried over: "Wool Beanie": the YouTube video on line 33 was not carried over.
  • Check this: "Shop Gift Guide (PDF)" is a digital product. Its download files are not in the BigCommerce export, so it was converted as a product without shipping and without files. Attach the files in the new store.
  • Not carried over: "[Sample] 1 L Le Parfait Jar": the retail price (MSRP) 10.00 was not carried over; the compare-at price is the regular price 9.95, because the product is on sale.
  • Check this: "[Sample] 1 L Le Parfait Jar": 12 variants have no price of their own. BigCommerce documents that such a variant takes the product price (9.95); it does not say whether the product's sale price (7.00) applies too. The file carries the sale price 7.00 with 9.95 as the compare-at price, as the product itself is sold.
  • Not carried over: These BigCommerce fields have no equivalent in the destination file and were not carried over: Search Keywords, Is Featured.

Sample products made up for this page, laid out exactly like a real BigCommerce 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

Why are my BigCommerce categories missing?
The BigCommerce export lists categories by ID number, not by name, so there is nothing to turn into Shopify collections. Create your collections in Shopify after import.
Was this tested by importing into a live Shopify store?
No. It follows BigCommerce's published export layout and Shopify's documented import rules, and every file is checked against those rules before download. Import a few products first and check them.
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.

Related converters