WooCommerce Product CSV Validator
Find out why your WooCommerce product import isn't working: broken parent links, duplicate SKUs, attribute mismatches, bad prices and encoding problems, row by row.
WooCommerce → Settings → General → Currency options.
What the validator checks
The checks follow WooCommerce's own importer code, so each one matches a way an import can fail or come out wrong.
| Check | Why it matters |
|---|---|
| Encoding, BOM and delimiter | The importer expects UTF-8 and commas. Non-UTF-8 files garble accented characters; semicolon files need the CSV Delimiter advanced option. |
| Duplicate SKUs and GTINs | WooCommerce rejects a SKU or GTIN that's already in use, so the second row fails or overwrites the first. |
| Parent links | Each variation needs a Parent that points to a variable product, by SKU or id:123. |
| Attribute values | A variation's value must be one of the parent's values. For product-level attributes it must match exactly, capitals included. |
| Prices | Currency symbols are stripped, and 19,99 becomes 1999 in a store that uses a period for decimals. A sale price must be below the regular price. |
| Allowed values | Type, Published, In stock?, Backorders allowed?, Visibility in catalog and Tax status only accept certain values. |
| Images and categories | Cloud-storage share links don't import. Category levels use >, not /. |
The sample file
- Rows
- 11 (5 products, 6 variations)
- Errors
- Duplicate SKU, sale price above regular, “white” vs “White”, “Grey” not on the parent, 19,99
- Warnings
- Parent HOODIE not in the file, $24.00, a Google Drive image link
5 errors and 3 warnings. The fixed file corrects the price formats and the capital W. You still have to fix the duplicate SKU, the sale price and the missing Grey value yourself.
How WooCommerce 11.2 matches rows when updating
With Update existing products ticked, WooCommerce 11.2 looks for the product by ID first, then SKU, then GTIN (only when the row has no ID and no SKU). A row whose identifier matches nothing is skipped instead of created. A GTIN that matches a product of a different type is refused, so an update can't quietly change a product's type.
- Choose Update existing products above to apply these rules. Rows with no ID, SKU or GTIN are flagged: they're created as new products even in update mode.
- WooCommerce 11.1 added creating new variations during an update. The parent row has to come before its variations, so the fixed file moves parents up.
- WooCommerce 11.2 was in beta on the check date, with release week set for 6 October 2026.
Fixing what's left
- 01
Download the fixed CSV
It changes only what's safe: currency symbols, decimal commas, yes/no values, attribute capitals, parent-before-variation order, and commas as the delimiter.
- 02
Fix the errors in your spreadsheet
Duplicate SKUs, wrong parents and missing attribute values need a human decision. Each issue lists the row number.
- 03
Check again, then import
Drop the file back in until errors reach zero, then import at Products → All Products → Import.
Starting from scratch? The product CSV template generator gives you correct headers to begin with.
Questions people ask
Why does WooCommerce skip some products?
The usual causes are a SKU or ID that already exists without Update existing products ticked, or, when it is ticked, an ID or SKU that matches nothing. The importer's skipped-rows report lists the reason for each.
Why are my variations missing after import?
Usually the Parent value doesn't match the parent's SKU, the parent isn't Type variable, or the variation's attribute values aren't in the parent's list. The validator checks all three.
Is my file uploaded anywhere?
No. The file is read and checked in your browser, and nothing is sent to a server.
Why do accented characters look wrong after import?
The file wasn't saved as UTF-8. In Excel, use Save As → CSV UTF-8. The validator flags broken characters it finds.
Does it check against my store's existing products?
No, it only sees the file. A Parent SKU that isn't in the file gets a warning, because it has to exist in your store already.
Related tools
Last reviewed 30 September 2026.
Sources: WooCommerce: Product CSV Importer and Exporter · WooCommerce: Product CSV Import Schema · WooCommerce sample_products.csv · WooCommerce product CSV exporter (column names) · WooCommerce product CSV importer (parsing and matching rules) · WooCommerce 11.2.0 pre-release notes
