Creating a configurable product in Magento lets you sell a single item with selectable options like size, color, or material. Each combination maps to its own simple product (called a “child” product) with a unique SKU, while the parent configurable product is what customers see and interact with on your storefront. Here’s how to set one up from start to finish.
Set Up Your Attributes First
Before you touch the product editor, you need at least one product attribute that meets Magento’s requirements for configurable products. Common examples are Color, Size, and Material. Each attribute you plan to use for variations must have three specific settings:
- Scope: Global
- Catalog Input Type for Store Owner: Dropdown, Visual Swatch, or Text Swatch
- Values Required: Yes
To check or edit these settings, go to Stores > Attributes > Product in your admin panel, then open the attribute. If an attribute’s scope is set to “Store View” or “Website” instead of “Global,” it won’t appear as an option when you build your configurable product. This is one of the most common reasons merchants get stuck early in the process.
If the attribute you need doesn’t exist yet, you can create it from the same screen or directly inside the configuration wizard (covered below). Just make sure the three settings above are correct before you proceed.
Create the Configurable Product
Go to Catalog > Products, click the dropdown arrow next to the orange “Add Product” button, and select Configurable Product. This opens the standard product editor with an extra Configurations section.
Fill in the basic product fields the same way you would for any product: name, SKU, price, tax class, description, and images. The price you enter here acts as the base price. If all your variations share the same price, this is the only price you need. If certain options cost more or less, you’ll set that in the configuration wizard. Assign the product to the correct categories and set the visibility to “Catalog, Search” so it shows up in your store.
Use the Configuration Wizard
Scroll down to the Configurations section and click “Create Configurations.” This launches a four-step wizard that generates the child simple products automatically, which is much faster than creating each one by hand.
Step 1: Select Attributes
Choose which attributes define your variations. For a t-shirt, you might select both Color and Size. If you need a new attribute, you can create one directly from this screen. Just make sure you set the Catalog Input Type to Dropdown, Visual Swatch, or Text Swatch, and set “Use To Create Configurable Product” to Yes.
Step 2: Select Attribute Values
Pick the specific values for each attribute. For Color you might choose Red, Blue, and Black. For Size you might choose S, M, L, and XL. Magento will create a child product for every combination, so selecting 3 colors and 4 sizes produces 12 child SKUs.
Step 3: Configure Images, Price, and Quantity
This step gives you three tabs. For each one, you can apply the same setting to all SKUs or set values per attribute. For example, you could assign a different product image for each color but keep the price the same across all sizes. Or you could add a surcharge for XL sizes while leaving S, M, and L at the base price.
If you leave the quantity fields blank here, that’s fine. You’ll just need to open each child product individually after generation and enter stock quantities there.
Step 4: Generate Products
Review the summary of what Magento is about to create, then click “Generate Products.” The wizard builds all the child simple products and links them to your parent configurable product. You’ll see them listed in the Configurations section of the product editor. Click “Save” on the parent product to finalize everything.
Set Up Visual Swatches
If you want customers to see clickable color squares or small images instead of a plain dropdown menu, you need to use Visual Swatch or Text Swatch as the input type for your attribute. Dropdown attributes work for the product page but won’t render swatches on category listing pages.
To configure color swatches, go to Stores > Attributes > Product, open your Color attribute, and confirm the input type is set to Visual Swatch. Under “Manage Swatch,” click “Add Swatch” for each color value. You have two options for each swatch: pick a color using the color picker (enter a hex code like #FF0000 for red), or upload a small image file. Enter labels for both the admin view and the storefront, then save the attribute and refresh your cache when prompted.
Text Swatches work similarly but display a short text label (like “S” or “XL”) inside a clickable box instead of a color or image. These are a good fit for size attributes.
Verify Everything on the Frontend
After saving, visit the product page on your storefront to confirm the options appear and function correctly. Select each variation and make sure the price updates, the correct image displays, and the “Add to Cart” button is active. If something looks wrong, here are the most common causes.
If options are missing entirely, check that the child products are both enabled and in stock. Magento only displays variations that are saleable by default. If you want out-of-stock options to still appear (grayed out), go to Stores > Configuration > Catalog > Inventory and set “Display Out of Stock Products” to Yes.
If the price doesn’t update when a customer selects an option, the product price index likely needs a refresh. Run this command from your server’s command line:
php bin/magento indexer:reindex
To target just the price index specifically:
php bin/magento indexer:reindex catalog_product_price
If swatches appear on the product page but aren’t clickable, check your browser’s developer console for JavaScript errors. Conflicting third-party extensions are the usual culprit. Disable extensions one by one to isolate the conflict.
If all options vanish after a Magento upgrade, the attribute scope may have reverted. Open the attribute and set the scope back to Global.
Creating Variations Manually Instead
The wizard is the fastest approach, but you can also create each simple product first and then link them to the configurable parent afterward. This is useful when your child products already exist in the catalog, perhaps because they were imported from another system or created individually before you decided to group them.
To do this, open the configurable product, scroll to the Configurations section, and use the option to add existing products rather than generating new ones. Each simple product you attach must use the same attribute set as the parent and must have a value assigned for the configurable attribute (like a specific color or size). The simple products themselves should have their visibility set to “Not Visible Individually” so customers find them through the parent product rather than as standalone listings in search results.
Managing Inventory for Child Products
Stock is tracked at the child product level, not the parent. Each simple product variation has its own quantity. When a customer buys a Blue, Size M t-shirt, the stock count decreases on that specific child SKU. The parent configurable product doesn’t have its own inventory number.
This means restocking requires updating each child product individually. You can do this by editing each one from the Configurations grid inside the parent product, or by using Magento’s bulk product grid under Catalog > Products. For stores with many SKUs, a CSV import is the most efficient way to update quantities in bulk.
If every child product goes out of stock, the parent configurable product automatically disappears from your storefront (unless you’ve enabled the “Display Out of Stock Products” setting). Keep this in mind when running low on certain variations, since losing the last in-stock child effectively hides the entire listing.

