Are you looking for a secure way to migrate user data from your WordPress website? In this article, we will discuss the step-by-step processes of importing and exporting WordPress users and passwords.
Migrating a WordPress site is stressful enough, but losing your users’ passwords during the process? That’s a nightmare no site owner wants to deal with. Whether you’re moving to a new host, cloning your site, or setting up a staging environment, keeping user login details intact is crucial for a smooth transition.
User data contains sensitive information, such as login details and passwords, that needs to be handled carefully. So, when migrating users’ data, you should take proper measures not to expose sensitive information.
The good news is: yes, you can safely migrate WordPress users and their passwords without forcing everyone to reset their accounts.
In this article, we’ll walk you through the exact steps to export and import WordPress users the right way, explain how WordPress handles password hashing, and show you the safest methods to make sure every user can log in seamlessly after the migration.
Key Takeaways:
- When transferring user data, particularly login credentials and passwords, it’s crucial to implement appropriate security measures to protect sensitive information.
- Hashed passwords are vital for safeguarding user credentials, and securely migrating them is crucial for preserving the integrity of your users’ data.
- Dedicated plugins, like WebToffee WordPress User Import Export plugin, simplify the process and ensure secure, efficient user data migration.
Before you start migrating users, it helps to understand how WordPress actually stores passwords behind the scenes. Many people assume WordPress keeps passwords in plain text, but that’s not how it works at all.
No Plain Text – Only Hashed Passwords
WordPress never saves actual passwords. Instead, it uses a secure hashing algorithm to convert each user’s password into a long, scrambled string before storing it in the database. A hashed password is a type of password that has been converted into a scrambled, irreversible form using a mathematical algorithm called a hashing function.
This hash can’t be reversed back into the original password, even by someone with database access. When a user logs in, WordPress simply compares the hash of the entered password with the stored one. If they match, access is granted.
Why Hashed Passwords Are Safe to Migrate
Because hashed passwords don’t reveal any real user information, they’re perfectly safe to migrate. You’re not exposing sensitive data; you’re just moving the encrypted versions from one site to another. As long as you migrate the correct database fields, users will be able to log in normally on the new site without changing anything.
Because hashed passwords protect user identity and login access, migrating them safely is extremely important. If the migration isn’t handled correctly, hashed passwords may be exposed during transfer, putting your site at risk of data breaches or interception.
The good news is that tools like WebToffee’s WordPress Users Import Export plugin make this process much safer and more reliable. These plugins are designed to securely transfer user data, including hashed passwords, by automating the export and import process. Automation greatly reduces the chance of human error and ensures large volumes of user data can be handled quickly and accurately.
Now that you understand the importance of managing hashed passwords securely, let’s walk through the exact steps to transfer your WordPress users and their passwords using the free version of this plugin.
Using a migration plugin is one of the easiest and safest ways to export WordPress users while preserving their hashed passwords. Unlike manual database exports, plugins automate the process and ensure that all the required fields, especially user_pass, are included without you having to dig into the database.
Below is how you can do it using a user migration plugin like WebToffee’s WordPress Users Import Export plugin, which supports exporting hashed passwords automatically.
To successfully migrate your WordPress users, you must first export all user data along with their hashed passwords, and then import that data into the new site without altering those original password hashes. This ensures that every user can log in normally after the migration, without needing to reset their password or take any additional steps.
Step 1: Install & Activate the WordPress User Import Export Plugin
From your WordPress admin page,
- Go to Plugins > Add New.
- Search for the WordPress User Import Export plugin by WebToffee.
- Once you find the plugin, click Install Now and then Activate the plugin.

Step 2: Select User as Post Type to Export
After installing the plugin,
- Go to WebToffee Import Export (Basic) and select Export.
- Select User/Customer as the post type to export from the dropdown.

Then, proceed to the next step.
Step 3: Select Quick Export Method
Here, you have different methods to export data. You can choose either the Quick export method or the Advanced export method.
If you don’t want to choose any filters or advanced options, you can proceed with the Quick export.
- Select the Quick export option and click the Export button to export the user data with passwords.

Once the export process is complete, click the Download file button to download the CSV file containing the user data.
Open the downloaded CSV file in a plain-text editor such as Notepad or any other tool that won’t try to auto-format the contents. Once the file is open, locate the user_pass column. Each entry in this column should contain a hashed password, typically a long string
As you can see, user passwords are kept in a hashed format. This means the original passwords are transformed into a scrambled, unreadable string of characters through a cryptographic hashing function. This also means the export was successful and your users’ login credentials are preserved exactly as WordPress expects.
By keeping passwords in their hashed format during migration, you preserve the integrity of user data and ensure a secure authentication system.

Now, you need to import the file to your second website. Let’s examine how to do this.
Now that you’ve verified your export file and confirmed that all hashed passwords are intact, you’re ready to import the users into the new WordPress site. The key here is to ensure that the import tool preserves the original password hashes exactly as they appear in the CSV, so users can continue logging in without interruption.
Step 1: Install & Activate the WordPress User Import Plugin on New Site
On your destination WordPress installation, install and activate the same plugin you used for the export – the WordPress Users Import Export plugin.
From your WordPress dashboard,
- Go to the Import page of the WebToffee User Import Export plugin.
- Select User/Customer as the post type to import and proceed to the next step.

Step 2: Select Quick Import Method
- Select Quick import as the import method and upload the CSV file you downloaded earlier.
You can directly import the user data from here or click on the Advanced options to view the advanced import options. Let’s proceed with the Advanced options.
Note: WebToffee’s User Import Export plugin can handle both plain text, and WordPress hashed passwords in the same import file, automatically identifying and securely processing each type during migration.

Step 3: Configure Advanced Import Options
- If the user already exists in your store, choose to Update the user data.
- Then, click on Import to initiate the import process.
The plugin will process the CSV file line by line and create or update users on your new site. This may take a few seconds to several minutes depending on how many users you’re importing.

Once the user data has been successfully imported into your new WordPress site, the plugin will generate a detailed log report summarizing the entire import process. This report lets you review which users were added or updated, identify any skipped entries, and confirm that all fields, including password hashes were processed correctly.
It’s a helpful way to verify that the migration went smoothly and that no user data was missed or corrupted.

If the import completes without errors, you can be confident that the users’ hashed passwords have been transferred securely. Because the plugin preserves the original password hashes exactly as they were, users will be able to log in normally on the new site without needing to reset their passwords.
This ensures a seamless transition for your users and maintains full security throughout the migration process.
Step 4: Verify the Imported Users
After the import process finishes, it’s important to double-check that everything was transferred accurately.
- Start by going to Users > All Users in your WordPress dashboard. Check that every user from your export file appears in the list.
- Next, click into a few sample user profiles, Check the correct user role (Subscriber, Customer, Administrator, etc.), that their email addresses are intact, and that any important metadata such as WooCommerce billing or shipping information has carried over properly.
- Test a user login: For extra reassurance, it’s a good idea to test the login process using one of the migrated accounts. Choose a normal user (not an admin), log out of your site, and try signing in with their existing username and password.
If the login succeeds, it means the hashed password was imported correctly and WordPress accepted it without requiring a reset.
Also Read: How to Import Users to WordPress Quickly
Migrating user data especially passwords requires extra care to keep your website and its users safe. Here are the key security practices you should follow during any WordPress user migration.
1. Never Export Plain-Text Passwords
WordPress stores passwords as hashed, encrypted strings for a reason: plain-text passwords are extremely unsafe. Make sure your export tool preserves hashed passwords exactly as they are and never attempts to decode or display them in plain text.
If a plugin ever shows actual passwords, treat it as a major security red flag and avoid it immediately.
2. Transfer Migration Files Securely (Use SFTP or Encrypted Backups)
Migration files contain sensitive user data, so always use secure transfer methods. Instead of regular FTP, which is unencrypted, use SFTP or FTPS, which encrypt the connection and protect your files from interception. If you’re transferring full site backups, choose a backup tool that supports encrypted archives to keep your data safe in transit.
3. Delete Migration Files After Import
Once the import is complete and you’ve verified everything, delete the CSV/XML files from your server and local machine. These files contain sensitive information (including hashed passwords and user emails), and leaving them on your server creates unnecessary risk.
Clearing temporary plugin folders and trash bins is also a good practice.
4. Maintain GDPR and Privacy Compliance
If you’re dealing with user data from EU, UK, or other regulated regions, ensure your migration process follows privacy laws like GDPR or CCPA. This may include:
- Handling user data only for legitimate purposes
- Securing data transfers
- Deleting exported files when no longer needed
- Avoiding unnecessary data storage
- Informing users only if your policies require it
Compliance helps you avoid legal issues and protects your brand’s reputation.
5. Use Maintenance Mode During Migration
To avoid data conflicts and ensure a clean migration, put your site in maintenance mode while importing users. This prevents users from updating their profiles or creating new accounts mid-migration, which could result in missing or overwritten data.
A simple maintenance mode plugin ensures your site is temporarily inaccessible to visitors but still fully accessible to administrators.
Before we wrap up, it’s worth noting that the Import Export WordPress Users plugin also offers a premium version with more powerful capabilities. Let’s take a closer look at what the upgraded version can do.

The WordPress Users & WooCommerce Customers Import Export plugin is a reliable solution for facilitating easy and quick transfer of user and customer data between different sites. The plugin enables you to import and export WordPress users and WooCommerce customers effortlessly from one store to another, saving you the hassle of manually transferring the data.
It is a highly preferred tool to import user data along with their hashed passwords, enabling you to maintain password encryption. The premium version of the plugin provides several additional features besides those offered in the free version, such as:
- Support for multiple file formats – CSV, XML, and Excel (XLS, XLSX).
- Extensive filtering options for exporting customers and users.
- Bulk update existing customers/users data.
- Import and export customers and users to/from a remote server via FTP.
- Schedule one-time or periodic import-export actions of users.
We hope this article has provided a clear understanding of how to securely import and export WordPress users, including their hashed passwords, using the WebToffee plugin. Migrating user data can be complicated, but with the right tools, you can ensure it’s done effectively and safely.
If you have any questions or need additional help, feel free to leave a comment below.
Also Read: How to Bulk Update WordPress Users?
Comments (6)
Kevin Doussaint
June 19, 2025
Hi, like Geert I tried several times but hashed password are not working and all users have to renew the password
Hema
July 11, 2025
Hello Kevin,
Thanks for reaching out. This issue is addressed in the latest release. Kindly update to the latest version resolve this.
Geert Plovie
April 17, 2024
Hi,
I’ve done the user migration as explained above but it looks that all users have to renew their passwords. They can not login with their ‘old’ details.
I read in your explanation the following:
-> At first, you have to export user data with hashed passwords and then import it with the original password.
But the tutorial says to import the export file with the hashed passwords.
Should it work with hashed passwords imported?
Thanks
Hema
May 15, 2024
Hello Geert,
Thanks for reaching out. Migrating users with hashed password is now automated and is taken care of by the plugin itself. This feature is no longer available in the plugin. The article will soon be updated to reflect the changes.
VivaWeb
June 19, 2025
To give you more information : users have to type the hashed password, it is like the hashed password is not decrypted and putted a it is
Hema
July 11, 2025
Hello VivaWeb,
Thanks for reaching out. This issue is addressed in the latest release. Kindly update to the latest version to resolve this.