
Export & Import Product Attributes for Magento 2 — CSV
Create and configure Magento 2 product attributes in bulk from a spreadsheet. Export your custom attributes to CSV, edit their input type, storefront/search/grid flags, default value and dropdown options, and re-import to update existing attributes or create new ones — matched by attribute code…
Build and configure Magento 2 product attributes in a spreadsheet
Creating custom product attributes one at a time is slow — and a dropdown with fifty options is a long afternoon of clicking. Export/Import Attributes does it from a CSV: export your custom attributes, edit their input type, storefront and search behaviour, default values and dropdown options in a spreadsheet, and re-import to update the ones you changed and create any new ones. Attributes are matched by their code, so the same file updates and adds in one pass.
attribute_code exists updates that attribute; a new code creates a new product attribute.What you'll use it for
- Create a batch of attributes at once — define a dozen new product attributes, with their flags and dropdown options, in one spreadsheet instead of the attribute wizard.
- Build a big dropdown fast — type fifty option labels into one cell, pipe-separated, and import — no clicking "Add Option" fifty times.
- Re-configure attributes in bulk — flip searchable, filterable, "used in listing" or grid flags across many attributes together.
- Move attribute config between environments — export from staging, import into production, so the same attributes exist everywhere.
- Audit your attributes — export to a spreadsheet to review every custom attribute's settings in one view.
How it works
Everything a row controls
One CSV row defines one product attribute. The columns map to the attribute's settings:
attribute_codefrontend_labelfrontend_inputapply_todefault_valuenotepositionis_requiredis_uniqueis_searchableis_filterableis_comparableis_visible_on_frontused_in_product_listingused_for_sort_byis_filterable_in_searchis_used_for_promo_rulesis_used_in_gridis_visible_in_gridis_filterable_in_gridoptions — pipe-separated labels for select / multiselect attributes.Good to know
The export covers user-defined (custom) attributes — your own, not Magento's system attributes. New attributes are created global-scope and user-defined, with the backend storage type chosen from the input type. The attribute_set column is included in the export for reference; the import creates and configures the attributes themselves rather than reassigning attribute-set membership. Uploads are limited to CSV files up to 10 MB and validated by extension, size and detected content type (it fails closed if the type can't be confirmed); export and import each sit behind their own permission.
Specifications
| Magento | Open Source 2.4.9 and later 2.4.x |
|---|---|
| PHP | 8.4 and 8.5 (verified) |
| What it does | Export / import custom product attribute definitions (and dropdown options) as CSV |
| Matching | By attribute_code (exists = update, new = create) |
| New attributes | Created user-defined, global scope; backend type derived from input type |
| Upload security | CSV extension, ≤10 MB, content-type allow-list (fails closed), upload + row-width validation |
| Access control | Separate Export and Import permissions |
| Dependencies | None — no third-party libraries |
| Delivery & licence | Composer install, per-domain licence key, updates via Composer |
Works with
Part of the AgenticEcom suite for Catalog & Products:
Included in the Growth and Enterprise bundles.
Frequently asked questions
How do I create product attributes in bulk in Magento 2?
Export your existing custom attributes to CSV, add a row per new attribute (its code, input type, flags, default and — for dropdowns — a pipe-separated options list), and import. Each new code creates a new product attribute in one pass.
How do I export product attributes to CSV in Magento 2?
Run the export to download every user-defined product attribute with its full configuration — input type, storefront/search/grid flags, default value, note and dropdown options.
Can I build a big dropdown attribute quickly?
Yes. Put all the option labels in the options column separated by | (pipe). On import, a select or multiselect attribute is created with those options — no adding them one by one.
Can I move attributes between Magento environments?
Yes. Export the attributes from one store, import the CSV into another, and the same attributes are created there with the same configuration (created global-scope, user-defined).
Is the import safe?
Uploads must be a CSV under 10 MB; the file is checked by extension, size and detected content type (it fails closed if the type can't be confirmed), and rows that don't match the header width are normalised so a stray comma never aborts the import. Export and import each have their own permission.
Does it change attribute-set membership?
The export includes each attribute's attribute_set for reference, but the import creates and configures the attributes themselves; it doesn't reassign which sets they belong to.
Which Magento and PHP versions are supported?
Magento Open Source 2.4.9 and later 2.4.x, verified on PHP 8.4 and 8.5, with no third-party dependencies.

