How to Bulk Upload Products to Your Wix Store

Wix's product CSV import uses a unique system that doesn't look like any other platform. Instead of one row per product, Wix uses a "handleId" to group products and variants together, and a "fieldType" column to distinguish between product rows and variant rows.

If you've used Shopify's or WooCommerce's CSV format, Wix will feel unfamiliar. This guide breaks down the format so you can get products uploaded without trial and error.

The handleId system

Every product in a Wix CSV needs a "handleId," which is a unique identifier (usually a slug like "blue-ceramic-mug"). The first row with a given handleId is the product row (fieldType = "Product"). Additional rows with the same handleId are variant rows (fieldType = "Variant").

This is different from Shopify (which uses "Handle" on every row) and WooCommerce (which uses parent SKU references). Wix specifically requires you to label each row's type.

Required columns

  • handleId — Unique slug for each product. All variant rows share the parent's handleId.
  • fieldType — "Product" or "Variant." Case matters.
  • name — Product title. Only needed on Product rows, not Variant rows.
  • price — Numeric selling price.
  • visible — "true" or "false" (lowercase).

Variant handling

Wix variants use "productOptionName" and "productOptionType" columns. The product row defines the option name (e.g., "Color") and type (usually "DROP_DOWN"), then lists all possible values. Each variant row specifies its particular value.

Wix supports up to 6 product options, numbered 1-6. Each has three columns: productOptionName, productOptionType, and productOptionDescription. On variant rows, the Description column holds the specific value for that variant.

Description formatting

Wix accepts HTML in the description field, with a 5,000 character limit. Basic tags like <p>, <strong>, <em>, and <ul> work well. Unlike Etsy (which strips HTML) or BigCommerce (which can double-encode), Wix handles HTML cleanly.

Common Wix import mistakes

  • Wrong fieldType — Must be exactly "Product" or "Variant." Typos break the entire row.
  • Missing handleId on variants — Variant rows without a handleId get imported as standalone products.
  • Boolean values — Wix uses lowercase "true"/"false," not "TRUE"/"FALSE" or "1"/"0."
  • Inventory status — Use "InStock" or "OutOfStock" (camelCase), not "in stock" or "true."

The faster approach

Catalogd generates Wix-formatted CSVs with correct handleIds, fieldType assignments, productOption columns, and inventory status values. Upload your product data in any format and get back a file Wix can import directly. Try it free with 5 products.