Blog
Wild & Free Tools

How to Clean a CSV for WooCommerce Import — Fix Before Upload

Last updated: March 23, 2026 6 min read

Table of Contents

  1. Common WooCommerce CSV import failures
  2. What the CSV Sanitizer fixes
  3. How to clean your WooCommerce CSV
  4. What the sanitizer does not fix
  5. After cleaning — final checks before import
  6. Frequently Asked Questions

WooCommerce's CSV importer is strict. A product import that looks right in Excel can fail because of trailing spaces in product names, duplicate SKUs, or inconsistent email capitalization in a customer export. The importer does not always tell you which row caused the problem — it aborts and you start over.

The free CSV Data Sanitizer handles the common formatting issues before you attempt the import. Browser-based, no upload to any server, works on product CSVs and customer CSVs alike.

Common WooCommerce CSV Import Failures

WooCommerce has a built-in CSV importer for products (and an extension-based importer for customers and orders). Here are the formatting issues that cause the most import failures and headaches:

Product imports:

Customer exports/imports:

What the CSV Sanitizer Fixes for WooCommerce CSVs

The tool applies up to six fixes, each independently toggleable. For WooCommerce specifically:

Trim whitespace (all cells) — removes leading and trailing spaces from every cell including product names, SKUs, category names, and email addresses. This is the most important fix for WooCommerce imports. Enable this for every product and customer CSV.

Remove empty rows — strips blank rows from the CSV. WooCommerce's importer can choke on blank rows or skip rows that follow a blank line.

Remove duplicate rows — removes exact duplicate records (same data in every column). For product CSVs built by merging multiple exports, this prevents duplicate product creation.

Lowercase emails — auto-detects columns with "email" in the header and lowercases all values. Useful for customer import CSVs where email is the dedup key.

Capitalize names — applies Title Case to columns with "name" in the header. Useful for product names and vendor/brand columns. Note: this applies to all name-detected columns, so check the preview to confirm it does what you expect.

Format phone numbers — standardizes US numbers in columns with "phone", "tel", "mobile", or "cell" in the header to (xxx) xxx-xxxx format. Useful for customer CSVs with billing phone numbers.

Sell Custom Apparel — We Handle Printing & Free Shipping

Step-by-Step: Clean Your WooCommerce CSV Before Import

  1. Export your CSV from your source system (another WooCommerce store, a spreadsheet, a previous migration tool)
  2. Open the CSV Sanitizer at the tool page
  3. Upload your file — drag and drop or click to browse. Your file is processed locally and never leaves your browser.
  4. Choose your fixes:
    • For product CSVs: enable trim whitespace, remove empty rows, remove duplicates. Consider capitalize names for the product name column. Disable the email and phone fixes unless your product CSV has those columns.
    • For customer CSVs: enable all fixes — trim whitespace, lowercase emails, format phones, remove empty rows, remove duplicates, capitalize names for first/last name columns.
  5. Click Clean CSV and review the stats panel — confirm the counts look reasonable
  6. Preview 10 rows using the built-in preview to spot-check the output
  7. Download the cleaned CSV
  8. Import to WooCommerce using the built-in importer (Products > Import) or your preferred migration plugin

What the Sanitizer Does Not Fix for WooCommerce

The CSV Sanitizer fixes formatting problems, not structural or content problems. For WooCommerce imports, these issues require a different solution:

Think of the sanitizer as the first step in the import prep process, not the only step.

After Cleaning — Final Checks Before Import

Before uploading the cleaned CSV to WooCommerce:

For Shopify imports (if you are migrating between platforms), see the Shopify CSV Cleaner guide — the Shopify importer has different column name requirements and some different formatting expectations.

Try It Free — No Signup Required

Runs 100% in your browser. No data is collected, stored, or sent anywhere.

Open Free CSV Sanitizer

Frequently Asked Questions

Does this work for variable product CSVs with parent-child rows?

Yes, with a caveat. The sanitizer processes all rows uniformly. The parent-child relationship in WooCommerce variable product CSVs is maintained by the Type column (simple, variable, variation) and the parent SKU. The sanitizer does not touch these relationships — it only cleans formatting within cells. Trim whitespace and remove empty rows are safe for variable product CSVs.

My WooCommerce import says "1 item failed to import" with no detail. What do I check?

Most single-row failures are caused by: (1) a trailing space in the SKU field making WooCommerce think it is a new product instead of an update, (2) a duplicate SKU in the CSV, or (3) a required field (like Name) that is empty for that row. Run the sanitizer with trim whitespace and remove empty rows enabled, then retry the import.

Can I use this for WooCommerce order CSVs?

Yes. Order export/import CSVs (typically used with migration plugins) benefit from the same formatting fixes — trim whitespace, lowercase emails, remove empty rows. The sanitizer does not know or care whether the CSV contains products, customers, or orders; it applies the selected fixes to every row.

Marcus Webb
Marcus Webb Full-Stack Developer

Marcus has five years of data engineering experience building visualization and transformation tools. He leads spreadsheet and charting tool development at WildandFree.

More articles by Marcus →
Launch Your Own Clothing Brand — No Inventory, No Risk