Shopify to WooCommerce Migration - Products

🥦

Import Complete

WooCommerce Products CSV Format
valid rows

Convert your Shopify product catalog to WooCommerce CSV format. Aggregates multi-row Shopify exports into WooCommerce-ready product rows.

Free preview, Pay only to download
Your data stays in your browser
Run on Google Cloud Platform

Download Sample Shopify Export

Example Shopify product export to test the converter

Sample Products

Tool Rating

4.5 / 5 (112 votes)

How It Works

1

Export from Shopify

Products → All Products → Export → Export CSV

2

Upload and Configure

Upload Products Export CSV and choose Product Import format

3

Preview and Download

Review converted data, download Woocommerce-ready file

4

Import to WooCommerce

Products → All Products → Import → Upload CSV

Why Shopify Products Don't Import Directly to WooCommerce

The Multi-Row Export Problem

Shopify exports multiple rows per product - one main row plus additional rows for each image. Products with 5 images have 5 rows in Shopify's CSV. WooCommerce expects one row per product with comma-separated image URLs. Direct import creates duplicate products or missing images.

Field Name Differences

Shopify uses "Title", "Variant Price", "Variant Grams", "Published" (TRUE/FALSE). WooCommerce uses "Name", "Regular price", "Weight (kg)", "Published" (1/0/-1). Without field mapping, WooCommerce import fails or creates incomplete products.

What This Tool Does

We automatically aggregate and transform your Shopify export: - Row Aggregation: Multiple Shopify rows (same Handle) → one WooCommerce row - Image Collection: Separate image rows → comma-separated Images column - Field Mapping: Shopify names → exact WooCommerce column names - Weight Conversion: Grams (integer) → kilograms (decimal ÷ 1000) - Price Mapping: Compare At Price → Regular price, Variant Price → Sale price - Status Conversion: Published TRUE/FALSE → Published 1/0 - Tags: Shopify tags → WooCommerce Categories and Tags Your WooCommerce import succeeds with aggregated products, all images, and correct pricing.

Your Data is Safe

Bank-Level Security

256-bit SSL encryption. Same standards as major financial institutions.

No Data Storage

Files are processed directly in browser. No calls to our servers.

GDPR Compliant

Full EU data protection compliance. Your privacy rights protected.

ISO/IEC 27001 Certified GDPR Compliant Swiss Privacy CCPA Compliant

Field Mapping

How Shopify Products fields map to Woocommerce Products

Shopify Products Source Value Woocommerce Products Target Value Note
Handle example-t-shirt SKU example-t-shirt Used as product SKU (parent identifier)
Title Example T-Shirt Name Example T-Shirt Product display name
Body (HTML) <p>This is a great t-shirt.</p> Description <p>This is a great t-shirt.</p> Full HTML description
Vendor Acme Clothing Meta: _vendor Acme Clothing Stored as custom meta field
Type T-Shirts Categories T-Shirts Mapped to WooCommerce category
Tags cotton, summer, sale Tags cotton, summer, sale Direct copy
Published TRUE Published 1 TRUE→1, FALSE→0
Option1 Name Size Attribute 1 name Size Variant attribute name
Option1 Value Medium Attribute 1 value(s) Medium Collected for parent, single for variation
Variant SKU EXTS-BLK-M SKU EXTS-BLK-M Used as variation SKU
Variant Grams 200 Weight (kg) 0.5 Converted: grams/1000
Variant Inventory Qty 25 Stock 25 Direct copy
Variant Price 25.00 Sale price 25.00 SWAP: becomes sale price if Compare-at exists
Image Src https://cdn.shopify.com/... Images https://cdn.shopify.com/... Aggregated: comma-separated for parent

Why Use This Tool?

Row Aggregation

Automatically groups Shopify multi-row exports (same Handle) into single WooCommerce product rows.

Image Collection

Aggregates separate Shopify image rows into WooCommerce's comma-separated Images column.

Weight Conversion

Converts Shopify weights from grams (integer) to WooCommerce kilograms (decimal).

Price Mapping

Maps Compare At Price → Regular price and Variant Price → Sale price for WooCommerce.

Status Conversion

Converts Shopify Published (TRUE/FALSE) to WooCommerce Published (1/0/-1).

Tag Mapping

Maps Shopify tags to both WooCommerce Categories and Tags fields.

Data Transformation

Multiple variant rows grouped by Handle, then expanded to parent+children

Input Shopify Variant Rows

One row per variant, Handle groups related variants

Key columns: Handle, Title, Option1 Value, Variant SKU, Variant Price
N:M — Complex transformation
Output WooCommerce Parent + Variations 1 + N variations rows per input

One parent row + N variation rows per product

Parent Product Create parent with aggregated attributes
Variation Products One row per variant with Parent reference
Each Handle produces 1 parent + N variation rows

Common Product Import Errors

Issues you might encounter when importing Products Export data to Product Import - and how we solve them

Missing Handle for Variant

Shopify variants reference parent via Handle but Handle is empty

Handle='', Title='', Option1 Value='Medium'
Handle='shirt-blue', inherited from parent row

Inherit Handle and Title from previous non-empty row

Missing Handle rows are automatically linked to previous product

Price Logic Difference

Shopify and WooCommerce use opposite price field meanings

Price=$29.99, Compare-at=$39.99
Regular=$39.99, Sale=$29.99

Automatically swap price fields based on Compare-at presence

All prices are correctly swapped during conversion

Weight Unit Mismatch

Shopify exports weight in grams, WooCommerce uses kg (default)

Variant Grams=500
Weight (kg)=0.5

Automatically convert grams to kilograms

All weights are converted during transformation

Want to save on credits?

Buy bundles and get up to 27% off. Check our pricing options below.

// PRICING //

Choose the plan that fits your needs

5,381 reviews, Excellent

Credit Bundles

$ /Credit

One-time purchase

  • No monthly commitment
  • Credits valid for one year
  • Access to all tools
  • Full file downloads

Monthly Bundles Pro

$ /Credit

Best for professionals and content creators

Annual Discount
Per month, billed annually:
Save 20% more
  • Credits refresh monthly
  • Priority processing

Purchase Credits

  • Full CSV & Excel export
  • Google Sheets export
  • Instant browser download
for credits

Visa Mastercard PayPal Apple Pay Google Pay
256-bit SSL encryption
14-day money-back guarantee
PCI DSS compliant
Powered by Paddle

How are credits calculated?

Credits are based on rows in your file. Each tool shows its rate (e.g., 2,000 rows = 4 credits). We round up to the nearest step. Minimum 1 credit per conversion.

Is my data secure?

Files process entirely in your browser. We're GDPR compliant with TLS encryption.

Can I get a refund?

Yes! Full refund within 14 days if no credits used. Partial refund for unused credits anytime. Contact sup@spreadsheetbroccoli.com.

Powered by Paddle

Terms of service applies. VAT included where applicable.

Frequently Asked Questions

Your data never leaves your device. All files are processed entirely in your browser using client-side JavaScript - no data is stored on our servers or sent anywhere. There's no account to hack, no database storing your files, and no API connections to your bank or accounting software. You upload, convert, download, and we forget it immediately.
No payment or signup required. You can upload your file, see a free preview of the conversion results, and verify everything looks correct before paying anything. If it doesn't work for your files, you haven't wasted any money. We only charge when you're satisfied and ready to download the final converted file.
You can, but free scripts and AI often miss edge cases that break real-world data: missing SKUs, currency formatting quirks, tax calculation errors, or date format mismatches. We have battle-tested validators specifically designed for accounting software imports that catch these issues before they corrupt your books. Plus, you get instant browser-based conversion without installing Python or managing dependencies.
Shopify exports one row for the main product plus additional rows for each image. This tool aggregates all rows sharing the same Handle into one WooCommerce product.
We collect all Image Src values from Shopify rows with the same Handle and combine them into WooCommerce's comma-separated Images column.
Basic variants are converted. Shopify Option1/2/3 columns map to WooCommerce Attribute columns. Complex variants may need additional setup in WooCommerce.
No. Shopify Handles become WooCommerce product names, but WordPress generates its own permalinks. Use a redirect plugin to map old Shopify URLs to new WooCommerce URLs.
If Compare At Price exists and is higher than Variant Price, we set Regular price = Compare At and Sale price = Variant Price to maintain sale pricing.
Shopify tags are mapped to WooCommerce Categories and Tags. You'll need to create WooCommerce product categories matching these tags after import.
This tool migrates products only. Shopify customer and order migration requires WooCommerce import plugins or API-based tools.
Shopify metafields and app data don't transfer via CSV. You'll need to reconfigure integrations in WooCommerce with equivalent plugins.
No, if you set up 301 redirects from old Shopify URLs to new WooCommerce URLs. Search engines will transfer your ranking power to the new location when redirects are properly configured.
Small stores typically migrate in under an hour, while larger stores with thousands of products may take several hours. Full store customization usually completes within one day.