How to Import Products in Magento
Adding products individually can become time-consuming when a Magento store contains hundreds or thousands of products. Magento 2 provides a built-in Import feature that allows store owners to add or update large numbers of products using a CSV file.
Using product import, you can efficiently create or update product information such as:
- Product names
- SKUs
- Prices
- Descriptions
- Categories
- Stock information
- Product attributes
- Website assignments
- Visibility
- Product status
This is especially useful when migrating products from another eCommerce platform, updating a large catalog, or adding products in bulk.
In this guide, you will learn how to prepare a Magento product CSV file and import products step by step.
What Is Product Import in Magento?
Magento’s product import feature allows administrators to upload structured product information through a CSV file.
Instead of creating products individually:
Catalog
→ Products
→ Add Product
→ Enter Details
→ Save
you can prepare product data in a spreadsheet and import many products at once.
A basic CSV file might contain:
sku,name,price,qty
LAP-001,Business Laptop,799,10
LAP-002,Gaming Laptop,1299,5
LAP-003,Student Laptop,599,20
Magento reads each row and creates or updates products according to the information provided.
Before Importing Products
Before starting the import process, prepare the following:
- Magento Admin access
- Product CSV file
- Correct product SKUs
- Product names
- Prices
- Inventory information
- Product categories
- Attribute values
- Website/store assignments
- Product images, if required
It is also a good idea to create a backup before performing a large catalog import, especially on a production store.
Step 1: Prepare Your Product CSV File
The first step is to create a properly structured CSV file.
You can create it using applications such as Microsoft Excel, LibreOffice Calc, or another spreadsheet application.
A simple product CSV could look like:
sku,name,price,qty
PHONE-001,Android Smartphone,299,25
PHONE-002,Premium Smartphone,599,15
PHONE-003,Budget Smartphone,199,40
Each column represents a product attribute.
The SKU is particularly important because Magento uses it to identify products.
Step 2: Use Magento’s Correct Attribute Codes
CSV headers should generally correspond to Magento’s product attribute codes.
For example:
sku
name
price
description
short_description
qty
product_type
categories
visibility
status
The exact columns required depend on the type of import and the data you want to update.
When preparing a large CSV, it is safer to download an export from Magento and use it as a template.
Step 3: Export an Existing Product for Reference
If you are unsure about Magento’s CSV structure, export existing products.
Go to:
System → Export
Select:
Entity Type → Products
Configure the export filters if needed and export the data.
The resulting CSV can be opened in a spreadsheet application and used as a reference for your new import file.
This approach helps you understand the attribute names and formatting Magento expects.
Step 4: Add Basic Product Information
Your CSV should contain the basic information required for each product.
For example:
sku,name,price
LAP-1001,Office Laptop,699
LAP-1002,Gaming Laptop,1199
LAP-1003,Ultrabook,899
SKU
Every product should have a unique SKU.
Example:
LAP-1001
Name
This is the product name displayed in the catalog.
Example:
Office Laptop
Price
Enter the product price in the appropriate format.
Example:
699
Avoid adding currency symbols directly to the value.
Step 5: Add Product Descriptions
You can include both long and short descriptions.
For example:
sku,name,description,short_description
LAP-1001,Office Laptop,"Powerful laptop for office and business use.","Reliable laptop for everyday work."
If your descriptions contain commas, quotation marks, HTML, or line breaks, make sure your spreadsheet application properly formats the CSV fields.
Step 6: Add Product Categories
Magento allows products to be assigned to categories during import.
For example:
categories
Electronics/Laptops
A product can also be assigned to multiple categories depending on the CSV structure and Magento version.
For example:
Electronics/Laptops,Computers/Business Laptops
Make sure the referenced categories already exist in Magento or use the category path format supported by your Magento installation.
Step 7: Add Inventory Information
Inventory information can also be included in the CSV.
A basic example is:
sku,qty
LAP-1001,25
LAP-1002,10
LAP-1003,5
Depending on your Magento inventory configuration, additional inventory fields may be available.
For example:
qty
is_in_stock
If your store uses Magento’s Multi-Source Inventory (MSI), inventory imports can require additional source-related fields and configuration.
Step 8: Add Product Status and Visibility
You can control whether imported products are enabled and how they appear in the catalog.
For example:
status,visibility
1,4
Common Magento values include:
Status
1 = Enabled
2 = Disabled
Visibility
Magento commonly uses:
1 = Not Visible Individually
2 = Catalog
3 = Search
4 = Catalog, Search
For normal standalone products that should appear in both the catalog and search results, 4 is commonly used.
Always verify these values against your Magento version and catalog configuration before performing a large import.
Step 9: Add Product Images
Magento also supports importing product images.
Images are commonly referenced using an image file path or filename in the CSV, depending on the import method.
For example:
sku,base_image,small_image,thumbnail_image
LAP-1001,/laptop-1001.jpg,/laptop-1001.jpg,/laptop-1001.jpg
Before importing, upload the required images to the location Magento expects for the import.
Image paths and import behavior can vary depending on your Magento setup, so test the process with a small number of products first.
Step 10: Check Product Attribute Values
If your products use custom attributes, make sure the values in the CSV match the values configured in Magento.
For example, if your Color attribute contains:
Black
White
Blue
Red
your CSV should use those values consistently.
Avoid inconsistent values such as:
black
Black
BLACK
unless they are intentionally separate options.
Step 11: Log In to Magento Admin
Once your CSV file is ready, log in to the Magento Admin Panel.
Go to:
System → Import
Magento will display the import configuration page.
Step 12: Select the Import Entity Type
Under Import Settings, find:
Entity Type
Select:
Products
Magento will display the product import options.
Step 13: Select the Import Behavior
Magento generally provides several import behaviors.
Common options include:
Add/Update
Use this when you want to create new products and update existing products based on their SKUs.
This is often the most useful option for routine catalog imports.
Update
Use this when the products already exist and you only want to update their information.
Delete
Use this carefully when you want to remove products using the import process.
Always create a backup before performing bulk deletions.
Step 14: Choose the CSV File
Under File to Import, click:
Choose File
Select the CSV file from your computer.
For example:
products.csv
Magento will use this file as the source for the product import.
Step 15: Validate the CSV File
Before importing hundreds or thousands of products, validate the file.
Magento provides an option such as:
Check Data
Click Check Data.
Magento will analyze the CSV and report whether it can be imported.
If there are errors, Magento will identify problems that need to be corrected.
Do not proceed with a large import until the validation succeeds.
Step 16: Fix Validation Errors
Common validation errors include:
- Missing SKU
- Duplicate SKU
- Invalid attribute values
- Invalid category
- Incorrect data format
- Missing required fields
- Invalid product type
- Incorrect image path
- Invalid website assignment
For example, Magento may report an error related to a missing SKU.
Correct the CSV:
sku,name,price
LAP-1001,Office Laptop,699
Then upload the corrected file and click Check Data again.
Step 17: Import the Products
After Magento confirms that the CSV is valid, start the import.
Magento will process the CSV and create or update products according to your selected import behavior.
The processing time depends on:
- Number of products
- Number of attributes
- Image count
- Server resources
- Magento configuration
- Database performance
Large imports may take longer than smaller ones.
Step 18: Check the Imported Products
After the import completes, go to:
Catalog → Products
Search for the imported products using their SKUs or product names.
Check:
- Product name
- SKU
- Price
- Description
- Categories
- Inventory
- Images
- Status
- Visibility
- Custom attributes
Open several products individually to verify that the data was imported correctly.
Step 19: Check the Storefront
After verifying the products in the Admin Panel, visit the storefront.
Test:
- Category pages
- Product pages
- Search
- Filters
- Product images
- Prices
- Add to Cart
- Checkout
This is especially important after importing a large catalog.
Step 20: Refresh Magento Indexes and Cache
Large catalog changes may require Magento indexes and cache to be updated.
From the command line, check indexer status:
php bin/magento indexer:status
If required, reindex:
php bin/magento indexer:reindex
You can also clean Magento cache:
php bin/magento cache:clean
For large production imports, monitor the server while Magento processes the catalog.
Example Product Import CSV
A simple product import might look like:
sku,name,price,qty,status,visibility
LAP-1001,Office Laptop,699,25,1,4
LAP-1002,Gaming Laptop,1199,10,1,4
LAP-1003,Student Laptop,599,30,1,4
This example contains:
| Field | Purpose |
|---|---|
| SKU | Unique product identifier |
| Name | Product name |
| Price | Product price |
| Qty | Inventory quantity |
| Status | Product enabled/disabled |
| Visibility | Where the product appears |
For a real store, you will usually need additional fields depending on your product type and catalog configuration.
Importing Different Product Types
Magento supports multiple product types, including:
- Simple
- Configurable
- Virtual
- Downloadable
- Grouped
- Bundle
Simple products are usually the easiest to import.
More complex products require additional relationships and configuration.
For example, a configurable product may require:
Configurable Product
├── Simple Product - Small
├── Simple Product - Medium
└── Simple Product - Large
Before importing complex product types, test the structure with a small sample catalog.
Importing Custom Attributes
If your products use custom attributes, those attributes should already exist in Magento.
For example:
brand
processor
ram
storage
color
Your CSV can then contain values for those attributes:
sku,name,brand,processor,ram,storage,color
LAP-1001,Professional Laptop,Lenovo,Intel Core i7,16GB,512GB,Black
Make sure the attribute codes and option values match your Magento configuration.
Importing Products with Categories
Suppose you have the following category structure:
Electronics
└── Laptops
├── Gaming Laptops
└── Business Laptops
Your CSV can contain the appropriate category path for each product.
For example:
sku,name,categories
LAP-1001,Gaming Laptop,Electronics/Laptops/Gaming Laptops
LAP-1002,Business Laptop,Electronics/Laptops/Business Laptops
The exact category-path formatting should match the structure used by your Magento installation.
Importing Products with Images
Product images require additional preparation.
For example, suppose your CSV contains:
LAP-1001,laptop-1001.jpg
Make sure the corresponding image is available to Magento through the import process.
For large imports, prepare and test your image directory carefully.
A common mistake is uploading the CSV successfully while the image files are unavailable, resulting in products without images.
Common Magento Product Import Errors
“SKU Is Required”
Every product needs a valid SKU.
Make sure your CSV includes:
sku
and that every product row has a unique value.
“SKU Already Exists”
If you are trying to create a product using an existing SKU, use the appropriate import behavior such as Add/Update or Update, depending on your goal.
Do not create duplicate SKUs.
Invalid Attribute Value
This usually means the CSV contains a value that Magento does not recognize.
For example, if the Color attribute contains:
Black
White
Blue
but your CSV contains:
Green
Magento may reject the value if that option does not exist.
Create the attribute option first or correct the CSV value.
Product Is Not Appearing in the Category
Check:
- Category path
- Product status
- Product visibility
- Website assignment
- Category assignment
- Indexer status
Product Images Are Missing
Check:
- Image filename
- Image path
- File availability
- CSV image columns
- File permissions
- Magento media configuration
Test image imports with a small number of products before importing an entire catalog.
CSV File Cannot Be Validated
Check the CSV for:
- Incorrect headers
- Missing required columns
- Invalid characters
- Incorrect delimiters
- Broken quotation marks
- Incorrect attribute values
- Duplicate SKUs
- Unsupported data formats
Saving the CSV as standard UTF-8 CSV can help prevent character-encoding problems.
Best Practices for Magento Product Imports
1. Always Back Up Before a Large Import
A catalog import can modify a large amount of data.
Create a reliable backup before performing major catalog changes.
2. Test with a Small CSV
Instead of importing 10,000 products immediately, start with five or ten.
Verify everything before running the full import.
3. Keep SKUs Unique
Use a consistent SKU naming convention.
For example:
LAP-1001
LAP-1002
LAP-1003
Avoid changing SKUs unnecessarily after products are already being used by orders or integrations.
4. Use an Existing Export as a Template
If you are unsure about Magento’s CSV structure, export existing products and use that file as a reference.
5. Validate Before Importing
Always use Check Data before executing a large import.
Fix validation errors first.
6. Keep Attribute Values Consistent
Use the same capitalization and spelling throughout the catalog.
For example:
Correct:
Black
Black
Black
Avoid:
Black
black
BLACK
7. Optimize Images Before Importing
Large product images can significantly increase storage usage and import time.
Resize and optimize images before uploading them.
8. Monitor Server Resources
Large imports can consume significant:
- CPU
- RAM
- Disk I/O
- Database resources
- PHP processing time
For large catalogs, monitor your server during the import process.
9. Verify the Storefront
Do not assume the import is successful simply because Magento reports that the file was processed.
Check actual product pages, categories, search, filters, and checkout.
Frequently Asked Questions
Can I import products into Magento using CSV?
Yes. Magento 2 includes a built-in product import feature that supports CSV files.
Where is the Magento product import option?
In Magento Admin, go to:
System → Import
Then select Products as the entity type.
Can I update existing products using CSV?
Yes. Magento can update existing products using their SKUs. The appropriate import behavior should be selected based on whether you are adding, updating, or deleting catalog data.
Can I import product images?
Yes. Magento supports product image imports, but the image files and CSV references must be prepared correctly.
Can I import custom product attributes?
Yes. Custom attributes can be included as long as they already exist in Magento and the CSV uses the appropriate attribute codes and values.
Can I import thousands of products at once?
Yes, but large imports should be tested carefully. Server resources, PHP configuration, database performance, image processing, and Magento indexers can affect the import process.
Should I back up Magento before importing products?
Yes. A backup is strongly recommended before performing large catalog imports or updates.
Conclusion
Magento’s product import feature is one of the most useful tools for managing a large catalog. Instead of entering products manually, you can prepare product information in a CSV file and import or update products in bulk.
The basic workflow is:
Prepare CSV
↓
Check SKUs and Attributes
↓
System → Import
↓
Select Products
↓
Choose Import Behavior
↓
Upload CSV
↓
Check Data
↓
Fix Errors
↓
Import Products
↓
Verify Catalog
↓
Reindex and Clear Cache if Required
↓
Test Storefront
For best results, always test your CSV with a small number of products first. Once the structure, attributes, categories, inventory, and images have been verified, you can safely scale the process to larger product catalogs.