How to Import & Export Product Attributes for Magento 2 (Including Custom Attributes)

- E-Commerce, Magento 2

Illustrative image for the How to Import & Export Product Attributes for Magento 2 tutorial with emojis, magento logo, and text on orange background

If you need to import export product attributes for Magento 2 — including custom attributes and attribute sets — you’ve come to the right place. Working with product attributes in Magento 2 is essential for managing your catalog efficiently, but the native platform doesn’t provide built-in tools to handle attribute import and export. That’s where things get tricky.

In Magento 2, attributes define everything from product variations to layered navigation filters. Without them, importing products is incomplete because these attributes dictate product behavior, display, and even customer interaction. Unfortunately, Magento doesn’t allow product attributes to be imported or exported by default, making tasks like migration, bulk editing, or third-party integration unnecessarily complex.

This guide reveals how to import and export product attributes for Magento 2 using the Improved Import & Export extension. You’ll learn how to work with both default and custom attributes, manage attribute sets and groups, and correctly format your CSV files. We’ll explain how Magento 2 interprets attribute values during import, provide a detailed product attributes table, and walk you through the entire process step-by-step — all to ensure smooth, error-free data transfers.

Whether you’re migrating from another store, syncing with a PIM or ERP, or simply bulk-updating your catalog, mastering Magento 2 product attribute import and export is critical. Let’s break it down and simplify the process.

What Are Magento 2 Product Attributes, Custom Attributes, and Attribute Sets?

Magento 2 product attributes are the foundational building blocks of your catalog. They define the key characteristics of each product, such as color, size, material, brand, and more, and control how these products are displayed, filtered, and sorted both in the backend and on the storefront. These attributes directly influence layered navigation, product comparison, search functionality, and the overall user experience on your Magento 2 store.

Magento product attributes can be either default or custom. Default attributes, such as name, price, or SKU, are built into the system and are automatically assigned to all products. On the other hand, Magento custom attributes are created by store admins to meet specific business needs. For instance, if you’re selling electronics, you might add custom attributes like battery life or warranty type. These custom fields help refine search filters, enable targeted promotions, and enhance data-driven strategies across your catalog.

All attributes in Magento 2 are managed within a flexible EAV (Entity-Attribute-Value) data model, which is structured across multiple tables — commonly referred to as the Magento product attributes table. This allows Magento to support dynamic and scalable catalogs with thousands of unique attribute values.

To streamline attribute management, Magento uses attribute sets. An attribute set is a predefined group of product attributes used to classify a product type. For example, you can have different sets for “Shoes”, “T-Shirts”, or “Smartphones”, each with its own combination of relevant attributes. This not only saves time during product creation but also ensures consistency across similar product types.

Understanding how Magento 2 product attributes, custom attributes, and attribute sets work together is crucial, especially if you’re planning to import, export, or migrate product data. A solid attribute structure is the key to a well-organized, high-converting product catalog.

Use Cases: Why You Might Need to Import or Export Product Attributes for Magento 2

There are many practical scenarios where the ability to import or export Magento 2 product attributes becomes essential, especially as your store grows or integrates with third-party systems.

One of the most common use cases is migrating from Magento 1 to Magento 2. Magento 2 uses a different attribute architecture, so manually recreating hundreds of product attributes and attribute sets isn’t just time-consuming — it’s prone to errors.

Another major scenario is synchronizing Magento 2 with external PIM (Product Information Management) or ERP systems. These platforms often manage a centralized product catalog, and regularly exporting Magento 2 product attributes or importing updated ones ensures that all systems stay aligned — reducing data silos and manual entry mistakes.

Bulk updates to product filters are another powerful reason to use attribute import/export. Suppose you’re launching a new collection or seasonal product line — updating layered navigation by manually editing each product attribute would be inefficient.

Lastly, merchants often need to standardize or restructure attribute sets across different product types. Exporting attribute sets from Magento, editing them externally, and re-importing them allows for precise control over catalog structure with zero downtime.

Whether you’re managing thousands of SKUs, automating updates, or building a cleaner product taxonomy, importing and exporting Magento 2 product attributes is no longer optional — it’s a necessity. However, there is a problem every Magento merchant faces at this stage.

There Is No Import of Attributes in Magento 2 by Default

Despite being one of the most powerful open-source e-commerce platforms, Magento 2 lacks a built-in option to import or export product attributes, including custom attributes and attribute sets. This default limitation forces merchants and developers to manually recreate attributes whenever they migrate data, restructure catalogs, or sync with external systems. For growing stores or enterprise-level operations, this creates serious inefficiencies.

If you’re managing hundreds or thousands of product attributes, the time and effort required to rebuild them manually can significantly delay launches, hinder catalog updates, and increase the risk of inconsistencies. The absence of Magento 2 product attributes import support means you can’t automate routine processes like attribute mapping, layered navigation updates, or integration with ERP/PIM platforms — unless you invest in a third-party solution.

As we’ve already explained above, these limitations affect a wide range of workflows. This is exactly why we developed the Improved Import & Export extension. With this tool, you can import and export both Magento 2 product attributes and custom attributes effortlessly, including all related EAV data. The extension supports flexible scheduling, mapping presets, and even integration with Google Sheets, allowing collaborative editing of attribute data before reimporting it into Magento 2.

Need to mass-update attribute labels, add new dropdown options, or remove obsolete values? You can do it all in a spreadsheet — and then automate the import at a scheduled time. This eliminates manual work, minimizes human error, and turns attribute management into a streamlined process.

To explore the full capabilities of the module, visit the Improved Import & Export product page or check out our User Manual for detailed instructions. But first, let’s walk through how to import product attributes in Magento 2 using our extension.

Magento 2 Product Attributes CSV (Import Table)

Before you can successfully import product attributes into your Magento 2 store, you must first prepare a properly structured CSV file. This step is critical — Magento’s flexible EAV model expects specific formatting, column names, and values to process attribute data correctly. Whether you’re importing default attributes, Magento custom attributes, or complete attribute sets, getting the CSV right is non-negotiable.

To simplify this, we’ve compiled a detailed product attributes table below. It outlines the key fields required for a Magento 2 import product attributes CSV file. This reference will help you understand which values to use and how each field functions within your product catalog.

With our Improved Import & Export extension, you can work with all types of attributes and sets, including custom data. You can even collaborate with your team in Google Sheets and reimport attributes on a scheduled basis.

To explore more examples, including downloadable CSVs and Google Sheet formats, visit our comprehensive Master Table of Import Entities.

Here’s how to structure your attribute import file:

Magento 2 Attribute Import Table Format

Attribute Name Reference Values Value Example
store_id Required column.

The ID of the store view the attribute value belongs to.

When creating new attributes make sure to have store_id=0 for every unique value.

store_id=0 is responsible for the Admin value of the attribute.

For attribute values for other store views use the required store_id.

You can find store_id in the URL of the store view at Stores > All Stores > select required store view.

0
attribute_code Required column.

Attribute Code used for internal identification purposes.

The value can’t contain spaces or contain more than 30 symbols. Color
frontend_label Default Label of the attribute. Consider it an attribute name, when browsing the list of attributes. Can be any value Green color
option:base_value Required column

Attribute ADMIN option value. Is used to reference other store view values of the attribute to the ADMIN value.

For example, for an attribute ‘color’ may be: red, green, or yellow. Yellow
option:value Required column.

Attribute option value.

Visible on the front end.

For example, for an attribute ‘color’ may be: red, green, or yellow. Yellow
option:swatch_value Defines the HTML color value of the swatch attribute, or a path to the image in reference to the Magento 2 root folder. HTML color code: mesh and numerals.

Or an image link.

The path to the image files should have the following look:

/var/images/image.jpg

#3a6638

/var/images/image.jpg

option:sort_order Order in which attribute option values are displayed. The lower the value, the higher the value is displayed.

Note that if you plan to use your attribute for a configurable product, this column is mandatory and needs to be set up correctly. Otherwise, you won’t be able to create configurable products with the attribute (true for Magento 2.3.4 or 2.3.5)

Priority of the attribute. Numerals only 10
entity_type Attribute entity Always product product
attribute_set Required column.

Name of the attribute set the attribute belongs to.

You can create NEW attribute sets by specifying a unique value in this column.

You can find attribute_set values at Stores > Attributes > Attribute Set. default
group:name Name of the attribute group within the attribute set the attribute belongs to. Can be any value First attribute group
group:sort_order Position of the attribute group within the attribute set relative to other groups. Priority of the attribute group. Numerals only 10
backend_type Optional. Database value. Change only if you know what you are doing.
backend_table Optional. Database value. Change only if you know what you are doing.
frontend_model Optional. Database value. Change only if you know what you are doing.
frontend_input Catalog Input Type for Store Owner.

Defines how customers can choose attribute values.

Some of the input types do not require values. Like boolean – Yes/No. The values are available automatically.

Can be:

text – Text Field

textarea – Text Area

date – Date

boolean – Yes/No

multiselect – Multiple Select

select – Dropdown, Visual, or Text Swatch

price – Price

media_image – Media Image

wee – Fixed Product Tax

multiselect
frontend_class Optional. Database value. Change only if you know what you are doing.
source_model Optional. Database value. Change only if you know what you are doing.
is_required Values Required. Defines if the attribute value must be selected in any case. 1 – yes, required value

0 – no, value is not required

1
is_user_defined Defines if it is a system attribute – that cannot be changed by the administrator. 0 – can’t be defined by the store administrator.

Means it is a system attribute.

1 – can be defined by the store administrator.

Generally, you want all custom attributes to be editable. With is_user_defined=1

1
default_value Defines if this row, this attribute option is selected by default. 1 – default attribute value

Leave blank if the value is not the default

1
is_unique Unique Value, not shared with other attributes.

Attribute setting.

1 – is unique

0 – not unique

1
frontend_input_renderer Optional. Database value. Change only if you know what you are doing.
is_global Scope of the attribute. 1 – Global

2 – Website

3 – Store view

0
is_visible Use in Filter Options – defines if the attribute is available for search in the product grid. 1 – yes, an attribute is visible in the grid

0 – no, attribute is invisible

1
is_searchable Use in Search. Is the attribute available in the search? 1 – yes, available

0 – no, not available

0
is_filterable Use in Layered Navigation. Defines if the attribute can be used in layered navigation. 1 – yes, can be used

0 – no, cannot be used

1
is_comparable Comparable on Storefront. 1 – yes, comparable

0 – no, not comparable

0
is_visible_on_front Visible on Catalog Pages on Storefront. 1 – visible

0 – hidden

1
is_html_allowed_on_front Allow HTML Tags on the Storefront. 1 – allow

0 – disallow

0
is_used_for_price_rules Can be used for price rules. 1 – yes

0 – no

1
is_filterable_in_search Use in Search Results Layered Navigation. 1 – yes

0 – no

0
used_in_product_listing Used in Product Listing. 1 – yes

0 – no

1
Used_for_sort_by Used for Sorting in Product Listing. 1 – yes

0 – no

0
is_visible_in_advanced_search Defines if the attribute is visible in an advanced search. 1 – visible

0 – not visible

1
position Position of an attribute in the layered navigation block. The lower the value, the higher the position.

Can only contain numerals.

10
is_wysiwyg_enabled Use for Promo Rule Conditions. 1 – yes

0 – no

0
is_used_for_promo_rules Use for Promo Rule Conditions. 1 – yes

0 – no

1
is_required_in_admin_store Defines if an attribute is required in the main store. 1 – yes

0 – no

0
is_used_in_grid An attribute is used in the product grid. 1 – yes

0 – no

1
is_visible_in_grid An attribute is visible in the product catalog. 1 – visible

0 – hidden

0
is_filterable_in_grid An attribute is filterable in the product catalog. 1 – yes

0 – no

1
search_weight Defines the weight of the attribute in search. The higher the value, the higher the weight.

Can only contain numerals.

10
option:delete_values Contains the attribute value you want to delete DURING THE IMPORT.

Doesn’t remove the attribute itself from the database.

The row where you specify the value for removal doesn’t affect the attribute of the line or relate to it

For example, for attribute ‘color’ it may be: red, green, or yellow. Green
additional_data Additional attribute data.

How to Import Product Attributes in Magento 2 Using Improved Import & Export

Importing product attributes in Magento 2 becomes a smooth, flexible, and scalable process once you install the Improved Import & Export extension. By default, Magento 2 doesn’t support product attribute import, but this powerful module fills the gap — letting you manage Magento 2 custom attributes, attribute sets, and groups with just a few clicks.

Once the extension is active, navigate to System → Improved Import / Export in your Magento admin panel. This is your new control center for importing and exporting product attributes.

how to find the Improved Import & Export extension to import attributes in magento 2

To get started:

  1. Go to System → Improved Import / Export → Import Jobs.
  2. Click “Add New Job” to create a new import profile.

how to add a new import job in IIE to import attributes magento 2:

In the Job Settings section, enter a descriptive job name. You can also configure a schedule to run the Magento 2 product attribute import automatically — perfect for ongoing syncs with PIM or ERP systems.

name your import job and enable a cron schedule to import attributes to magento 2 automatically

Next, in the Import Settings, set the Entity Type to Attributes. This tells the system you’re importing Magento 2 product attributes rather than products, categories, or customers.

choose attributes as your import entity to import them to Magento 2 with IIE

Then choose the Import Behavior:

  • Add/Update to create or modify attributes
  • Replace to overwrite existing ones
  • Delete to remove selected attributes

select import behavior to add/update, replace, or delete attributes when you import the corresponding data in Magento 2

Be sure to select the option that best fits your workflow — incorrect behavior could overwrite important catalog data.

Now, define the File Format and Import Source. Magento 2 supports standard CSVs, but with Improved Import & Export, you can also import from XML, JSON, ODS, or XLSX files. Supported import sources include:

  • Google Sheets
  • Google Drive
  • FTP/SFTP servers
  • Direct API connections

import of attributes to magento 2 with IIE is possible via multiple file formats, such as CSV, XML, JSON, ODS, and XLSX

After choosing your file and source, click “Validate File” to ensure your import table is formatted correctly. Once validated, proceed by clicking “Save & Run” followed by “Run” to launch the import job.

when you import attributes to Magento 2 with Improved Import & Export, there is a detailed log that shows the process in real time

Once completed, Magento 2 will generate a log file outlining the results of your import.

Here’s what you can achieve using this method to import attributes into Magento 2:

  • Create new product attributes and attribute values — the system automatically generates values based on your CSV content.
  • Generate new attribute sets — if your import references an attribute set that doesn’t exist, it will be created on the fly using the default set as a template.
  • Define new attribute groups — attribute groups will be generated inside sets if they aren’t already present.
  • Import Magento 2 custom attributes seamlessly — whether you’re adding color swatches, dropdowns, or text fields, the extension handles it all.

⚠️ Important Considerations for Attribute Import

When performing a Magento 2 import of product attributes, make sure to handle these two columns with care:

  • is_user_defined — This determines whether an attribute is a system field or one created by an admin. Set this to 1 for custom attributes. Magento won’t allow converting a system attribute into a user-defined one.
  • is_visible — If set to 0, the attribute will not appear in the admin attribute grid after import. For better manageability, make sure it’s set to 1 if visibility is required.

You can find additional details and advanced tips in the Improved Import & Export User Manual — a great resource for refining your Magento 2 attribute import workflows.

How to Export Product Attributes in Magento 2, Including Custom Attributes

Although Magento 2 does not provide native tools for exporting product attributes, the procedure is still possible. With the Improved Import & Export extension, you can easily export all product attributes, including Magento 2 custom attributes and attribute sets, with just a few clicks.

To begin your Magento 2 export of product attributes, navigate to System → Improved Import / Export → Export Jobs in your admin panel.

Here’s how the process works:

  1. Create a New Export Job. Click “Add New Job” and give your job a meaningful name. You can also schedule recurring exports — ideal for syncing Magento 2 attribute data with external systems like ERPs or PIMs.
  2. Select the Entity to Export. In the Export Settings, choose Attributes as the entity. This tells the system to retrieve and export all product attribute data, including default and custom attributes.
    choose attribute as your export entity to export attributes from Magento 2 with IIE
  3. Choose File Format and Output Settings. Define the file format for your export — the extension supports CSV, XML, XLSX, ODS, and JSON. You can also configure field delimiters, enclosures, and separators as needed to match third-party system requirements.
  4. Select the Export Destination. Choose where to send the exported file:
    • Google Drive
    • Google Sheets
    • FTP/SFTP server
    • Manual file download
      The Google Sheets integration is especially useful for collaborative editing or documentation of your Magento 2 product attributes.
      specify file format, source, and other parameters for attribute export in Magento 2 with improved import & export
  5. Apply Attribute Mapping or Filters (Optional). You can include only specific attributes by applying filters or import customized field names using attribute mapping — great for cleaning up exports or aligning with external data structures.
  6. Run the Export Job. When your job setup is complete, click “Save and Run”, then hit “Run” in the top-right corner to launch the Magento 2 attribute export.

Once the job finishes, you’ll receive a clean, structured file containing all exported Magento product attributes, including any custom attributes defined in your catalog. This feature is especially valuable when migrating to a new Magento instance, performing data audits, or integrating with external systems.

Final Words on Importing and Exporting Product Attributes in Magento 2

Magento 2 may be a robust platform, but it lacks native support for one essential task: importing and exporting product attributes. This limitation impacts merchants trying to streamline catalog management, migrate stores, or sync Magento with external systems. Fortunately, the Improved Import & Export extension by Firebear Studio fills this gap, and does far more than just cover the basics.

With this powerful tool, you can fully automate the Magento 2 import of product attributes, including not only default values but also custom attributes tailored to your catalog’s unique structure. The extension also handles the export of product attributes, attribute groups, and entire attribute sets, giving you full control over your catalog’s architecture.

Whether you’re looking to bulk import attribute values, dynamically create new attribute sets, or edit data in Google Sheets and reimport it with precision, our solution makes it possible. It supports all popular file formats — CSV, XML, JSON, XLSX — and integrates with Google Drive, FTP, and APIs, so your workflows are as flexible as your business demands.

Don’t let Magento’s default limitations hold you back. Unlock seamless product attribute import and export for Magento 2, automate your data flows, and save valuable development time. Contact the Firebear team today to learn more about how the Improved Import & Export extension can support your Magento store — or explore the full feature set here.

Let Firebear help you take control of your data — and turn your Magento 2 attribute management into a true competitive advantage.

Want to master Magento 2 import from A to Z? Explore our complete guide and unlock step-by-step tutorials, tips, and expert tools.
👉 Go to the Full Magento 2 Import & Export Guide

Magento 2 Import & Export Product Attributes FAQ

Can you import and export product attributes in Magento 2 by default?

No, Magento 2 does not support the import or export of product attributes out of the box. However, the Improved Import & Export extension by Firebear Studio adds this missing functionality, allowing you to import and export both default and custom attributes with ease.

How do I import product attributes into Magento 2?

To import product attributes, you need the Improved Import & Export extension. It lets you create import jobs, map attribute fields, and upload CSV, XML, or JSON files from sources like Google Sheets, FTP, or your local machine.

Can I export custom attributes from Magento 2?

Yes, with the Improved Import & Export extension, you can export all custom product attributes in Magento 2. The exported data can be saved in various formats and sent to destinations like Google Drive or external servers.

Does Magento 2 allow importing attribute sets and attribute groups?

By default, Magento 2 does not support importing attribute sets or groups. With the IIE extension, however, you can create new attribute sets and attribute groups on the fly during the import process.

What file formats are supported for importing product attributes?

The Improved Import & Export extension supports CSV, XML, JSON, ODS, and XLSX file formats for importing Magento 2 product attributes, giving you complete flexibility to work with various data sources.

Can I automate the import and export of product attributes in Magento 2?

Yes, you can schedule recurring import and export jobs using the IIE extension. This is especially useful for syncing Magento 2 with external PIM or ERP systems or automating catalog updates.

Where are Magento 2 product attributes stored in the database?

Magento 2 stores product attributes using the EAV (Entity-Attribute-Value) model across multiple tables such as eav_attribute, catalog_eav_attribute, and entity-specific value tables. IIE helps you work with this structure without manual database operations.

Can I use Google Sheets to manage product attribute data in Magento 2?

Yes, the IIE extension allows you to import product attributes directly from Google Sheets. This enables collaborative editing and faster updates without complex file transfers.

What happens if I import an attribute set that doesn’t exist in Magento 2?

If your CSV references an attribute set that doesn’t exist, the IIE extension will automatically create it based on the default set, including any attribute groups or values you’ve defined.

Is it possible to update existing Magento 2 attributes during import?

Absolutely. The IIE extension supports various import behaviors, including Add/Update, Replace, and Delete, giving you control over whether to update existing attributes or remove obsolete ones.