Import and export users and customers


Try it out on your free dummy site: Click here =>

Clean and easy-to-use import and export users and customer plugin, for WordPress and WooCommerce. It includes custom user meta to be included automatically from a CSV file and delimitation auto-detector. It also is able to send a mail to each user imported and all the meta data imported is ready to edit into user profile.

  • Import CSV file with users directly to your WordPress or customers into WooCommerce
  • Import thousends of users or customers in only some seconds
  • Export users or customers to a CSV file, filtering by role or registered date
  • You can also import meta-data like data from WooCommerce customers
  • You can assign roles while importing
  • Send a mail to every new user, this mails can be saved as templates and are fully customizable, before sending you can test it
  • Use your own
  • You can also update users if the user is already in your WordPress
  • Create a cron task to import users periodically
  • Edit the metadata (you will be able to edit the metadata imported using metakeys directly in the profile of each user)
  • Extend the plugin using the hooks we provide
  • Compatible with WPML read the documentation to see how you can translate the front-end import and export users page and send translated email notifications to users

Moreover this plugin is compatible with many other plugins to be able to import and include them data, subscriptions, memberships, etc. Take a look:

  • WooCommerce: to import the customer data
  • WooCommerce Memberships: to import memberships
  • WooCommerce Subscriptions: to create subscriptions associated with users while they are being imported
  • BuddyPress: to import custom BuddyPress avatars, fields, groups and roles
  • Advanced Custom Fields: to import data to the fields you define there
  • Paid Membership Pro: to import memberships, included compatibility with PMPro version 3
  • Indeed Ultimate Membership Pro: to import memberships
  • Paid Member Subscriptions: to import memberships
  • Allow Multiple Accounts: plugin will allow the same rules importing than this plugin
  • Groups: to assign users to groups while importing
  • New User Approve: you can import users and approbe/wait for approve them
  • Users Group: to assign users to groups while importing
  • WP LMS Course: to enroll users in the courses while importing
  • WP Members: to import memberships
  • WP Users Group: to assign users to groups while importing
  • WooCommerce Membership by RightPress: to create memberships while users are being imported
  • WP Private Content Plus: To import and export the groups to which users are assigned

If you have some problem or doubt:

  • Read our documentation
  • Ask anything in support forum, we try to give the best support

In Codection we have more plugins, please take a look to them.


  • Import users and customers from a CSV easily
  • And also extra profile information with the user meta data (included in the CSV with your custom fields)
  • Just upload the CSV file (one included as example)
  • All your users will be created/updated with the updated information, and of course including the user meta
  • Autodetect delimiter compatible with comma ,, semicolon ; and bar |
  • Export users and customers choosing delimiters and using some filters
  • Create a cron task to do the import periodically in order to integrate WordPress with an external system
  • Interaction with lots of other plugins like WooCommerce, BuddyPress, Paid Membership Pro, WooCommerce Memebership, WooCommerce Subscriptions and many others
  • Import users from frontend using a shortcode


Once the plugin is installed you can use it. Go to Tools menu and there, there will be a section called Insert users from CSV. Just choose your CSV file and go!

CSV generation

You can generate CSV file with all users inside it, using a standar spreadsheet software like: Microsoft Excel, LibreOffice Calc, OpenOffice Calc or Gnumeric.

You have to create the file filled with information (or take it from another database) and you will only have to choose CSV file when you „Save as…“ the file. As example, a CSV file is included with the plugin.

Some considerations

Plugin will automatically detect:

  • Charset and set it to UTF-8 to prevent problems with non-ASCII characters.
  • It also will auto detect line-ending to prevent problems with different OS.
  • Finally, it will detect the delimiter being used in CSV file


  • Plugin link from dashboard
  • Plugin page
  • CSV file structure
  • Users imported
  • Extra profile information (user meta)



  • Install Import and export users and customers automatically through the WordPress Dashboard or by uploading the ZIP file in the plugins directory.
  • Then, after the package is uploaded and extracted, click Activate Plugin.

Now going through the points above, you should now see a new Import users from CSV menu item under Tool menu in the sidebar of the admin panel, see figure below of how it looks like.

Plugin link from dashboard

If you get any error after following through the steps above please contact us through item support comments so we can get back to you with possible helps in installing the plugin and more.

Please read documentation before start using this plugin.


Columns position

You should fill the first two columns with the next values: Username, Email.

The next columns are totally customizable and you can use whatever you want. All rows must contains same columns. User profile will be adapted to the kind of data you have selected. If you want to disable the extra profile information, please deactivate this plugin after make the import.

id column

You can use a column called id in order to make inserts or updates of an user using the ID used by WordPress in the wp_users table. We have two different cases:

  • If id doesn’t exist in your users table: WordPress core does not allow us insert it, so it will throw an error of kind: invalid_user_id
  • If id exists: plugin check if username is the same, if yes, it will update the data, if not, it ignores the cell to avoid problems


We can use a column called „Password“ to manage a string that contains user passwords. We have different options for this case:

  • If you don’t create a column for passwords: passwords will be generated automatically
  • If you create a column for passwords: if cell is empty, password won’t be updated; if cell has a value, it will be used

Serialized data

Plugin can import serialized data. You have to use the serialized string directly in the CSV cell in order the plugin will be able to understand it as an serialized data instead as any other string.


Plugin can import lists as an array. Use this separator: :: two colons, inside the cell in order to split the string in a list of items.

WordPress default profile data

You can use those labels if you want to set data adapted to the WordPress default user columns (the ones who use the function wp_update_user)

  • user_nicename: A string that contains a URL-friendly name for the user. The default is the user’s username.
  • user_url: A string containing the user’s URL for the user’s web site.
  • display_name: A string that will be shown on the site. Defaults to user’s username. It is likely that you will want to change this, for both appearance and security through * obscurity (that is if you don’t use and delete the default admin user).
  • nickname: The user’s nickname, defaults to the user’s username.
  • first_name: The user’s first name.
  • last_name: The user’s last name.
  • description: A string containing content about the user.
  • jabber: User’s Jabber account.
  • aim: User’s AOL IM account.
  • yim: User’s Yahoo IM account.
  • user_registered: Using the WordPress format for this kind of data Y-m-d H:i:s.

Multiple imports

You can upload as many files as you want, but all must have the same columns. If you upload another file, the columns will change to the form of last file uploaded.


You can export a file with all your users data using „Export“ tab. There you will be able to find some filters and options to prepare your export.

Hooks: actions and filter

If you want to extend this plugin or use this plugin with any other, here you have a list with all hooks available in the plugin.

This plugin saved me a lot of time and work. Where can I donate?

Thanks, donations help us to continue improving our plugins and allow us to give the best support in the forums Donate Here via PayPal.

I’m not sure I will be able to import all users with correct data and roles. Will you do it for me?

Of course! In Codection we help you to import, migrate, synchronized, update or any other operation you will need to do with your users. Contact us at for more information.

Free and premium support

You can get:

Customizations, addons, develops…

Write us directly to


10. Jänner 2024 1 reply
I tried 4 plugin for harvesting "User" e-mail addresses from Wordpress and could not get any of them to work. THIS plugin worked perfectly right out of the box so to speak. I'm impressed ! Looking forward to working with its other functions. GREAT work folks !
5. Jänner 2024 1 reply
I reported a possible issue with placing multiple Extract buttons on a singular page and got response back, just about instantaneous, informing me that doing that was not thought of when the code was developed. He stated that he will look into it for next update but could not promise anything. Lo and behold next morning he had an update ready for download and better still it worked without a glitch. We have 10 buttons on our page for customised download options. I highly recommend the developer as he provided Superb service.
5. Jänner 2024 1 reply
How cool was that! I reached out to the developer of Import and Export to suggest that they place an Import button at the top of the screen, as well as at the bottom of all of the options, requiring a lot of scrolling. Twenty four hours later, there it is! I don't think I can recall ever having service and follow-up like that from a software developer. So when loyal users see the Start Importing button at the top of their displays, they can thank me for that. Okay, and Javier. Mostly Javier. Okay, it's all Javier!
2. Jänner 2024 1 reply
Loved the plugin. simple and easy to use. helped to export all the fields that i needed. thank you 🙂
2. Jänner 2024 1 reply
So far I just used it to export user data and custom fields saved in the user profile. It worked well.
6. Dezember 2023 1 reply
Just two days ago, on the night of December 4, 2023, I reached out to the support team regarding a critical issue with the Import and Export Users and Customers plugin for WordPress. In the dead of night, I detailed the problem, expressing my frustration with discrepancies in user data post-import after a recent plugin update. Remarkably, within 24 hours, the developer not only acknowledged my concerns but also worked through the night to rectify the issue. The dedication displayed was extraordinary. This swift response culminated in the release of version 1.24.2 of the plugin, and today, on December 6, 2023, I eagerly updated to this latest version. I am thrilled to share that version 1.24.2 has proven to be a game-changer, successfully addressing and resolving the issues I encountered. The plugin is now performing seamlessly, and I'm once again enjoying its reliable functionalities. I extend my heartfelt appreciation to the developer for their dedication and rapid response to my support request. Their ability to turn around a fix within such a short timeframe has left me deeply impressed. In recognition of this exceptional support experience, I will be providing a full and positive rating for the Import and Export Users and Customers plugin. This recent encounter reaffirms my confidence in the product and showcases the development team's commitment to delivering a superior user experience. To the entire team behind the Import and Export Users and Customers plugin, thank you for the prompt resolution and for transforming a frustrating experience into a positive one. Best regards, Jan Salma
Lies alle 225 Rezensionen

Mitwirkende & Entwickler

„Import and export users and customers“ ist Open-Source-Software. Folgende Menschen haben an diesem Plugin mitgewirkt:


„Import and export users and customers“ wurde in 9 Sprachen übersetzt. Danke an die Übersetzerinnen und Übersetzer für ihre Mitwirkung.

Übersetze „Import and export users and customers“ in deine Sprache.

Interessiert an der Entwicklung?

Durchstöbere den Code, sieh dir das SVN Repository an oder abonniere das Entwicklungsprotokoll per RSS.



  • Included compatibility with version 3 of Paid Membership Pro
  • Included a new filter to filter a specific data in the export: acui_export_data_$key where $key is the specific value of the column for that value.


  • Including a conditional check to prevent WooCommerce from being declared active if it is not active because it has been forcefully deactivated


  • On the home page, for importing users we now show the buttons to start the process or save the settings at the top, to facilitate cases where the same options are used repeatedly


  • You can now use multiple user download buttons on the front end. Each with its own options.


  • Changed the way charsets are converted
  • Fixed a problem in select2 selector with AJAX call
  • Fixed an issue when passing the value of which user to assign tickets to when users are deleted


  • Cron call using endpoint of REST-API now can only be done by users that can create users


  • Included new options in the shortcode to export users


  • Fixed a problem with a preg_match detecting commas


  • Improved the way input strings are treated to UTF-8
  • Variables displayed in the shortcode are cleaned up before printing to allow only correct values for them


  • In the cron settings, when it comes to URLs or paths, if it comes to paths and any with a different ending than „.csv“ is included, we return a blank string to avoid problems


  • Fixed a problem when choosing to delete users not present in the CSV that caused more users to be deleted than it should


  • Improved multisite support, multiple roles can now be added to sites instead of just one as before


  • Included ActionScheduler for cron task
  • Added the word ‚all‘ to use in the column named ‚blogs‘ in multisite installation, users it will be added to all the blogs in the network
  • Rewritten a large part of the user importer to improve the code and make it more modular and maintainable.
  • Improved compatibility with PHP 8.2
  • Fixed typos


  • Ready for WordPress 6.4
  • New shortcode import-users, we keep the old one, import-users-from-csv-with-meta, to assure compatibility
  • Fixed an issue with the export users shortcode not working when the theme did not load jQuery in the front end
  • Including the possibility to choose a comma-separated list of user roles when using the export in the front end using a shortcode


  • Replaced the blanks in the label identifiers in the „Custom profile fields“ with underscores to make the generated identifiers valid, the identifiers are also converted to lowers
  • New option in export tab that allow you to export arrays as separated list of values, separated by commas; it will only work with: 1 dimension arrays with correlative indexes that does not contain inside any WP_Error object
  • Save settings problem in Export tab fixed


  • Export preferences are now saved when an export is executed
  • New button to save export preferences without having to run an export


  • Fixed a problem that caused that in certain installations with some data when exporting, an error appeared that stopped the process.


  • The plugin now supports reading external files directly created from Google Drive using export CSV option in URL


  • The plugin now supports reading external files using a URL when a path is chosen for importing


  • BuddyPress/BuddyBoss documentation improved
  • Advanced Custom Fields (ACF) addon now includes the ability of uploading images


  • Fix a problem when importing BuddyPress/BuddyBoss data in some installation where the class BP_Groups_Member did not exists
  • New hook to be able to update users without mail


  • Fix a problem when exporting users that ignores the convert timestamp to dates setting thanks to @little_bird for reporting
  • Improved the use of the ACUI_Helper with new methods that call directly the instance


  • Now when you create a customer importing it, it will also appear in wc_customer_lookup table
  • Ready for WordPress 6.3


  • Removed a duplicated hook thanks to @ko31
  • Ready for WordPress 6.2.2


  • Fixed a bug in export when all columns were selected


  • When choosing columns to export, the spaces at the beginning and end of each chosen column are now removed to avoid problems such as „user_login, user_email“ not returning data in the second column because the “ user_email“ column did not exist as such.


  • Fixed a problem that appeared when you chose to delete users not present in the CSV and at the same time checked do not update users. Users that already existed were not updated and were not marked not to delete, so they were deleted incorrectly.


  • Addon for MelaPress Login Security improved
  • Transient with users created, updated, deleted and ignored added after import


  • Ready for WordPress 6.2
  • New addon for MelaPress Login Security, now when a user is registered and this plugin is activated, if the option of „Reset password in first login“ of the MelaPress Login Security is activated, it will be applied the same for new users imported as it were created manually
  • Changed delimiter to import checkbox values in BuddyPress/BuddyBoss, instead of using commas, now the delimiter is ## to avoid problems with values that include commas


  • New filter added to allow to override the default roles that cannot be updated by the plugin
  • Fixed problem that makes appears title „Extra profile information“ when there were no fields to show


  • Changed the way that BuddyBoss is detected in BuddyPress Addon to avoid problems with paths


  • New hooks added in documentation
  • Documentation tab improved


  • Included a new way to manage the passwordreseturl wildcard in emails


  • Fixed warning about not defined default value in settings class
  • Now the date filter when exporting users is inclusive, so that the days selected in the search are included in the search and not excluded as before
  • Fixed a problem in export that sometimes generate problems different number of columns in headers and in every user
  • Fixed a problem with the keys to reset password of users included in the emails


  • Improved compatibility with ACF, now the fields of type image or file, generate in the export a new field, with the suffix _url where to show the url of the content and not only the identifier of the attachment in the database as before that was not representative.
  • Improved user interface


  • Fixed a problem when sending email content, which caused the password to always appear as if it had not been changed even though it really had


  • Export results included after export is done, including if some value has been altered because it can contains some spreadsheet formula characters at the beginning
  • You can use now all the wildcards in subjects that were available in body
  • Fixed some issues when exporting data using filtered columns, now source_user_id is filled correctly


  • Fixed a problem with BuddyBoss when exporting users if groups were getting used


  • Improved the way the plugin sanitize values when exporting data to avoid any formula (for spreadsheets) to be exported


  • Improved error handling to avoid the use of wp_die in some error handling and allow for better UX.

  • When choosing a file to import in the frontend import, the name of the file appears, this is something that was lost in yesterday’s graphical improvement of this part of the import


  • Changed the way the button to choose files in the import from front end is displayed to make it easier to apply styles to it
  • Improved error detection when importing users from the front end


  • Improved section on forcing password reset, including new explanations in the documentation and a tool to reset user data in case a redirection loop problem is encountered


  • Fixed an issue that caused the new import screen to be displayed as part of the import results screen
  • Improved the way this plugin displays with the other WordPress export tools
  • Notice improved when an email exists in the system with other username