Magento 2 Experten — Hyvä Theme, Tailwind CSS & SEO aus einer Hand ›

Product Import and Export

07 Kapitel 7 von 7

How to import or export many products at once via CSV instead of creating each one individually.

Manually creating a large number of products isn't practical – Magento ships a CSV-based import/export tool for this under System > Import and System > Export.

Export as a starting point

The easiest way to start is with an export: go to System > Export, choose entity type "Products", optionally narrow it down via the Entity Attributes filter (e.g. only a specific category or attribute set), then click Continue. The downloaded CSV file shows you exactly the column structure Magento expects – a great template for your own import, instead of rebuilding the structure from memory.

Running an import

  1. Under System > Import, choose entity type "Products".
  2. Set the Import Behavior: "Add/Update" (default – creates new rows, updates existing ones by SKU), "Replace" (fully replaces existing products), or "Delete" (deletes products by SKU).
  3. Upload the prepared CSV file; for images, also provide the folder path under Images File Directory.
  4. Click Check Data – Magento validates the file row by row and shows errors/warnings BEFORE anything is saved. Errors (red) block the import entirely, warnings (yellow) usually don't.
  5. If there are no errors, the Import button appears – only that click actually writes the data to the database.

Common pitfalls

  • SKU as the key: the import recognizes existing products exclusively via the SKU column – a typo accidentally creates a duplicate instead of an update.
  • Character encoding: the CSV file must be saved as UTF-8, otherwise accented characters and special characters get mangled during import.
  • Multiple values: fields like categories or multi-select attributes usually separate several values within one cell with a comma, and the field itself then needs to be wrapped in quotes.

Important: an import cannot be undone with a single click – for larger imports, always create a database backup first, or run the import with just a handful of test rows before uploading the full file.

Required and special columns in the CSV

Besides the SKU column, Magento expects certain other columns with a fixed meaning: attribute_set_code (which attribute set applies), product_type (simple, configurable, bundle, etc.), categories (category paths, levels separated by "/", multiple paths separated by a comma), and product_websites (assignment to one or more websites). For bulk image import, the additional_images column holds the filenames, which must exist in the folder specified under Images File Directory.

Store-view-specific translations via CSV

Translated field values (name, description, URL key, etc.) can be imported directly: for each SKU you can add extra rows with the same SKU but a filled-in store_view_code column – the values in that row then override only that store view, while a row with an empty store_view_code sets the default/website-level values.

Checking the import history

Under System > Import/Export > Import History you'll find a log of every import that's been run, with timestamp, executing user, and outcome. The link in the Execution Time/status column lets you download the full import log, listing every row alongside its specific error – much faster than re-uploading just to troubleshoot.