Risk Free, Backed By Our 90-Day Money Back Guarantee
 - 
Read More
Lifetime Licenses Are Ending Soon, Get Yours Before They're Gone
 - 
Read More
Risk Free, Backed By Our 90-Day Money Back Guarantee
Pricing

You may have seen some references on our site to annual licensing or renewals.

All plugins currently come with a lifetime license, no matter what the site says.

We’re currently running tests before we make the switch to annual pricing. Check the Discounts tab to purchase our other plugins and get a lifetime license before they’re gone.

I Understand I Have a Lifetime License
Now is your last chance to buy a lifetime license before we switch to annual pricing. Existing licenses will be unaffected.
Read More
200,000+ Active Installs
1500+ 5 Star Reviews
Now is your last chance to buy a lifetime license before we switch to annual pricing. Existing licenses will be unaffected.
Read More
200,000+ Active Installs
1500+ 5 Star Reviews

How to Export and Import Customer Accounts from Magento to WooCommerce

Looking to export and import customer accounts from Magento to WooCommerce?

The customers you have built up in Magento are some of the most valuable assets in your store, and moving them to WooCommerce without losing addresses, custom attributes, or login access is the part of the migration that deserves the most attention. The good news is that Magento exports customer data as a clean CSV file that you can import into WooCommerce with the right plugin.

In this guide, we'll walk you through the Magento customer export process and the WooCommerce customer import process. We'll also cover some advanced cases that come up during the migration.

Magento to WooCommerce Customer Workflow

Magento stores customer data in an EAV (Entity-Attribute-Value) model that is more flexible than WooCommerce's user meta structure but uses a different column layout. The Magento export produces a CSV with service columns (those that start with an underscore) and attribute columns, and the import side needs to map those columns to WooCommerce's account fields, billing and shipping addresses, and custom user meta.

WP All Import handles the whole workflow through the drag-and-drop interface covered in the How to Export and Import WooCommerce Customers guide. The same import process that handles a 100-customer migration also handles a 100,000-customer platform move, and every specialized scenario (custom attributes, multiple addresses, group-to-role mapping) becomes a configuration choice rather than a rebuild.

Part 1: Exporting Customers from Magento

Magento's native export tool handles the export side without any third-party plugin. It gives you a clean CSV file that drops into the var/export/ folder on the server (Magento 2.3 and earlier downloads the file directly through the browser).

How to Export Customer Accounts from Magento

Step 1: Open the Magento Export Tool

In the Magento admin, navigate to System > Data Transfer > Export. This is the same export screen used for products, customers, and addresses, so the interface is the same whether you are moving customers, products, or both.

Magento system export tool

Step 2: Choose the Customer Entity Type

Magento offers three customer-related entity types:

  • Customers Main File: contains account data only (email, name, group, password hash, registration date, custom attributes).
  • Customer Addresses: contains address data only (street, city, country, phone, default billing or shipping flags).
  • Customers and Addresses (Single File): combines both, with each customer's addresses on additional rows beneath the customer row.
magento export entity type

For most WooCommerce imports, Customers and Addresses (Single File) is the right starting point. It captures every address per customer in one file, which matters because Magento supports multiple billing and shipping addresses per account while WooCommerce stores one of each. Magento handles the row layout automatically: the customer's main row carries the account data, and the rows directly beneath carry each address linked by the email column.

Step 3: Review the Attributes

The next screen lists every customer attribute Magento knows about, organized alphabetically. The column headers in the CSV match these attribute codes exactly, so the names you see here are the names WP All Import will see on the import side.

Required fields for new customer creation:

  • email
  • _website
  • _store
  • firstname
  • lastname

Apart from these, you can pick the address and common optional account fields to create your export file.

magento customer export file creation

To exclude an attribute from the export, you simply tick the Exclude checkbox next to it. Magento keeps the column header in the file but leaves the values blank. For most WooCommerce imports, exclude the Magento-specific fields that have no WooCommerce equivalent (such as _store or rp_token), or leave them in and let WP All Import ignore them on the import side.

Step 4: Run the Export

Click Continue at the bottom of the screen. Magento processes the export in the background and produces the CSV file. For Magento 2.3 and earlier, the file downloads through the browser. For Magento 2.4 and later, the file lands in var/export/ on the server and you fetch it through FTP, SFTP, or the server file manager.

What Customer Data Can You Export

The Magento customer export covers more than the standard account fields. Here is the full breakdown of what the file contains:

  • Account fields: email, name components (first, middle, last, prefix, suffix), date of birth, gender, tax or VAT number, customer group ID, registration date and store, account confirmation status, password hash, and any reset password tokens.
  • Address fields: linked to the customer by email, with full street address, city, postcode, region, country, phone, fax, VAT ID, and the default billing and shipping flags.
  • Custom attributes: any attribute added through Magento's admin or by third-party extensions shows up here automatically. If your store uses loyalty points, marketing consent flags, customer tags, reward balances, custom segments, or any other third-party data, those columns appear in the export file with no extra configuration.
  • Multiple addresses per customer: Magento stores as many addresses as a customer needs. The single-file export puts the customer's account data on one row and each address on additional rows beneath, all linked by the email column.

Part 2: Importing Customers into WooCommerce

WP All Import brings the Magento customer file into WooCommerce through the same drag-and-drop interface used for any other WordPress user data. The import loop handles the basic case in a few steps, and every specialized scenario (custom attributes, group-to-role mapping, password handling) becomes a configuration choice on the same screen.

How to Import Customers into WooCommerce

Step 1: Install WP All Import and the Required Add-Ons

From Plugins > Add New in WordPress, install and activate all three:

  • WP All Import (the base plugin)
  • WooCommerce Import Add-On (recognizes the WooCommerce customer post type)
  • User Import Add-On (registers the WordPress user fields the customer record depends on)
Install WP All Import Pro in WordPress

Verify all three show as Active on the Plugins page before continuing.

Step 2: Start a New Customer Import

Navigate to All Import > New Import. Upload the Magento customer CSV file.

shopify customer file uploaded into WP All Import

Select WooCommerce Customers from the post type dropdown, then click Set Up Import.

Step 3: Map the Magento Columns to WooCommerce Customer Fields

The Drag & Drop screen organizes WooCommerce customer fields into four panels: Customer Account InfoBilling & Shipping InfoOther Customer Info, and Custom Fields. The right side shows the columns from your Magento file.

Import drag and drop screen

Map the core account fields first:

  • email → Email
  • firstname → First Name
  • lastname → Last Name
drag and drop customers data into WP All Import

For billing and shipping addresses, the Magento single-file export puts each address on a row beneath the customer row. WP All Import detects these as nested data and offers them as _address_* style fields on the right side. Map the default billing address row to the Billing & Shipping Info panel and the default shipping address row to the same panel.

For the customer group, Magento uses numeric IDs (1 = General, 2 = Wholesale, etc.) while WooCommerce uses role slugs (customersubscriberwholesale_customer, etc.). A small PHP function in the Function Editor handles the value mapping (for example, if ({group_id[1]} == 2) return 'wholesale_customer'; else return 'customer';).

For custom attributes, expand the Custom Fields panel. Any Magento custom attribute that does not match a standard WooCommerce field maps as a custom field, which WordPress stores as user meta. WP All Import auto-detects most known custom fields, so the mapping is usually a matter of dragging the Magento column to the matching WooCommerce user meta field.

Step 4: Handle the Password Format

Magento password hashes are not compatible with WordPress, so the password column needs special handling.

Magento 1 stores passwords in the format {hash}:{salt} using MD5 hashing. Magento 2 uses {hash}:{salt}:{version} where version 0 is MD5, 1 is SHA256, and 2 is Argon2ID13. WordPress uses its own phpass hashing format, which is different from both.

The simplest practical approach: leave the password field blank in the import. WooCommerce will generate a new password for each imported account, and you can enable the Send password reset email option on the Import Settings screen so WordPress emails each customer a reset link. The customers set a new password and continue using their accounts without the Magento hashes needing to be converted.

Step 5: Configure the Magento Customer Import Settings

The Import Settings screen controls how WP All Import handles existing customers and email notifications.

The Unique Identifier is the field WP All Import uses to distinguish each incoming record, which determines whether the import creates new accounts or matches against existing ones. For a Magento import, the email address column is the most reliable choice since it is unique per customer and stays consistent across stores.

  • Create new WooCommerce customers for each record: the right choice for a first-time migration from Magento.
  • Update existing customers: useful if you are re-running the import or syncing against a Magento source that has changed since the first run.
  • Block email notifications during import: enabled by default. Uncheck it if you want imported customers to receive the standard WordPress welcome email or a password reset link.
WooCommerce customers import settings screen

Step 6: Run the Magento Customer Import and Verify

Click Continue to move to the Confirm & Run screen, review the Import Summary, then click Confirm & Run Import. When the import finishes, navigate to Users > All Users to verify the imported accounts.

WP All Import Confirm and Run customer import

Imported Magento customers appear under Users > All Users rather than under WooCommerce > Customers. WooCommerce populates its customer report only after a customer places an order, so any account imported directly will appear under Users > All Users until they have placed their first order on the new store.

Advanced Magento Customer Import Workflows

The basic import loop handles the standard case, but Magento migrations often include data that needs extra attention.

Map Magento Customer Groups to WordPress User Roles

Magento's group_id field stores customer tiers as numeric IDs (1 = General, 2 = Wholesale, etc.), while WooCommerce uses WordPress user roles (customersubscriberwholesale_customer, etc.). The mapping needs to happen during the import, since importing the raw Magento IDs into the WooCommerce role field will not produce meaningful roles.

WP All Import's Function Editor handles this with a small PHP function that converts the numeric ID to the matching role slug. For example:

if ({group_id[1]} == 1) return 'customer';
if ({group_id[1]} == 2) return 'wholesale_customer';
return 'customer';

The same pattern handles stores with more than two customer groups. Save the function as a snippet so it can be reused on subsequent imports.

Import Multiple Addresses Per Customer

Magento allows unlimited billing and shipping addresses per customer, while WooCommerce stores one of each. The Magento export captures every address per customer, with the default billing and shipping flags marked on the relevant rows.

On the WooCommerce import side, the default billing address row maps to the Billing & Shipping Info panel, and the default shipping address row maps to the same panel. Additional addresses (the non-default ones) do not have a direct WooCommerce equivalent and can either be skipped during the import or stored as custom user meta so the data is preserved even though WooCommerce's order flow only uses the defaults.

Migrate Magento Orders with Their Customer Accounts

A full Magento to WooCommerce migration typically includes orders along with customers. The two need to be imported in the right order: customers first, then orders, so each order's customer_id can be matched to a WooCommerce user account.

WP All Import handles both sides through the same drag-and-drop interface. The customer import creates the user accounts with the matching Magento email addresses, and the order import then links each order to its customer using a function that matches by email address. The result is a WooCommerce store where every order is correctly attached to its original customer.

match order by customer email

Final Thoughts - Magento to WooCommerce Customer Export Import

Magento and WooCommerce use different data models for customer accounts. Magento's EAV structure gives merchants more flexibility for adding attributes, but the export produces a CSV that does not map directly to WooCommerce's user meta structure. The migration is less about moving data from one database to another and more about translating between two different ways of thinking about customer records.

The good news is that the translation is straightforward. WP All Import's drag-and-drop interface handles the column mapping, the Function Editor handles the value mapping (group IDs to role slugs, address flags to WooCommerce's billing and shipping fields), and the Custom Fields panel handles the EAV attributes that do not have a direct WooCommerce equivalent. The result is a WooCommerce store with the same customer accounts, the same addresses, and the same custom data, ready for the next phase of the business.

Frequently Asked Questions - Magento to WooCommerce Customer Export Import

How do I export customer accounts from Magento?

You can export customer accounts from Magento using the native export tool. Navigate to System > Data Transfer > Export, choose Customers and Addresses (Single File) as the entity type, review the attributes, apply any filters you need, and click Continue. Magento produces a CSV file that drops into the var/export/ folder on the server.

Can WP All Import handle the Magento customer export file directly?

WP All Import accepts the Magento customer CSV file as the source for a WooCommerce customer import. The drag-and-drop interface detects the Magento columns and lets you map them to the matching WooCommerce customer fields, with custom attributes landing in the Custom Fields panel automatically.

Can I migrate Magento customer groups to WooCommerce user roles?

Magento stores customer groups as numeric IDs, while WooCommerce uses WordPress user roles. WP All Import's Function Editor handles the conversion with a small PHP function that maps each Magento group_id to the matching role slug (for example, 1 to customer, 2 to wholesale_customer).

Joe Guilmette
VP of WP All Import. Joe's an expert in WordPress & WooCommerce Imports and Exports.

The best import export plugin for WordPress & WooCommerce.

Complete, granular control of your data with an easy to use drag & drop interface.
  • 90 Day Money Back Guarantee
  • Unlimited Installs
  • Lifetime Licence
  • Fast, World-Class Support
Get Started
90 Day Money Back Guarantee

Unlimited Installs.
World-Class Support. Money Back Guarantee.

Packages
Standalone
Import
Pro Package
$199
.00
/yr
Save $494, 71% Discount
  • Import Pro
Import Add-Ons
  • Woo
  • ACF
  • Meta Box
  • JetEngine
  • Gravity Forms
  • Users
  • Export Pro
Export Add-Ons
  • Woo
  • ACF
  • Meta Box
  • JetEngine
  • Gravity Forms
  • Users
$693 If Purchased Individually
Buy Now
90 Day Money Back Guarantee
Import + Export Pro Package
$299
.00
/yr
Save $1087, 78% Discount
  • Import Pro
Import Add-Ons
  • Woo
  • ACF
  • Meta Box
  • JetEngine
  • Gravity Forms
  • Users
  • Export Pro
Export Add-Ons
  • Woo
  • ACF
  • Meta Box
  • JetEngine
  • Gravity Forms
  • Users
$1386 If Purchased Individually
Buy Now
90 Day Money Back Guarantee
WooCommerce Import Package
$169
.00
/yr
Save $29, 15% Discount
  • Import Pro
Import Add-Ons
  • Woo
  • ACF
  • Meta Box
  • JetEngine
  • Gravity Forms
  • Users
  • Export Pro
Export Add-Ons
  • Woo
  • ACF
  • Meta Box
  • JetEngine
  • Gravity Forms
  • Users
$198 If Purchased Individually
Buy Now
90 Day Money Back Guarantee
Lifetime License
$1299
One-Time Payment
  • Import Pro + Export Pro
  • All Current Add-Ons
  • All Future Add-Ons
  • Lifetime Support
  • Lifetime Updates
  • No Renewal Fees
Buy Now
90 Day Money Back Guarantee
Import Standalone
$99
.00
/yr
  • Import Pro
Import Add-Ons
  • Woo
  • ACF
  • Meta Box
  • JetEngine
  • Gravity Forms
  • Users
  • Export Pro
Export Add-Ons
  • Woo
  • ACF
  • Meta Box
  • JetEngine
  • Gravity Forms
  • Users
Buy Now
90 Day Money Back Guarantee
Import + Export Standalone
$169
.00
/yr
  • Import Pro
Import Add-Ons
  • Woo
  • ACF
  • Meta Box
  • JetEngine
  • Gravity Forms
  • Users
  • Export Pro
Export Add-Ons
  • Woo
  • ACF
  • Meta Box
  • JetEngine
  • Gravity Forms
  • Users
Buy Now
90 Day Money Back Guarantee
Export Standalone
$99
.00
/yr
  • Import Pro
Import Add-Ons
  • Woo
  • ACF
  • Meta Box
  • JetEngine
  • Gravity Forms
  • Users
  • Export Pro
Export Add-Ons
  • Woo
  • ACF
  • Meta Box
  • JetEngine
  • Gravity Forms
  • Users
Buy Now
90 Day Money Back Guarantee
Packages
Standalone
Import
Pro Package
$16.58
per month, billed annually
Save $494/yr, 71% Discount
  • Import Pro
Import Add-Ons
  • Woo
  • ACF
  • Meta Box
  • JetEngine
  • Gravity Forms
  • Users
  • Export Pro
Export Add-Ons
  • Woo
  • ACF
  • Meta Box
  • JetEngine
  • Gravity Forms
  • Users
$693/yr If Purchased Individually
Buy Now
90 Day Money Back Guarantee
Import + Export Pro Package
$24.92
per month, billed annually
Save $1087/yr, 78% Discount
  • Import Pro
Import Add-Ons
  • Woo
  • ACF
  • Meta Box
  • JetEngine
  • Gravity Forms
  • Users
  • Export Pro
Export Add-Ons
  • Woo
  • ACF
  • Meta Box
  • JetEngine
  • Gravity Forms
  • Users
$1386/yr If Purchased Individually
Buy Now
90 Day Money Back Guarantee
WooCommerce Import Package
$14.08
per month, billed annually
Save $29/yr, 15% Discount
  • Import Pro
Import Add-Ons
  • Woo
  • ACF
  • Meta Box
  • JetEngine
  • Gravity Forms
  • Users
  • Export Pro
Export Add-Ons
  • Woo
  • ACF
  • Meta Box
  • JetEngine
  • Gravity Forms
  • Users
$198/yr If Purchased Individually
Buy Now
90 Day Money Back Guarantee
Lifetime License
$1399
One-Time Payment
  • Import Pro + Export Pro
  • All Current Add-Ons
  • All Future Add-Ons
  • Lifetime Support
  • Lifetime Updates
  • No Renewal Fees
Buy Now
90 Day Money Back Guarantee
Import Standalone
$8.25
per month, billed annually
  • Import Pro
Import Add-Ons
  • Woo
  • ACF
  • Meta Box
  • JetEngine
  • Gravity Forms
  • Users
  • Export Pro
Export Add-Ons
  • Woo
  • ACF
  • Meta Box
  • JetEngine
  • Gravity Forms
  • Users
Buy Now
90 Day Money Back Guarantee
Import + Export Standalone
$14.08
per month, billed annually
  • Import Pro
Import Add-Ons
  • Woo
  • ACF
  • Meta Box
  • JetEngine
  • Gravity Forms
  • Users
  • Export Pro
Export Add-Ons
  • Woo
  • ACF
  • Meta Box
  • JetEngine
  • Gravity Forms
  • Users
Buy Now
90 Day Money Back Guarantee
Export Standalone
$8.25
per month, billed annually
  • Import Pro
Import Add-Ons
  • Woo
  • ACF
  • Meta Box
  • JetEngine
  • Gravity Forms
  • Users
  • Export Pro
Export Add-Ons
  • Woo
  • ACF
  • Meta Box
  • JetEngine
  • Gravity Forms
  • Users
Buy Now
90 Day Money Back Guarantee
linkcross