This module imports users into Drupal from Excel spreadsheets. It can create new users or update existing ones, supporting common fields like username, email, password, roles, and status. The process uses the Batch API for efficient handling of large files.
Batch User Importer helps Drupal administrators create or update user accounts from Excel spreadsheets. It processes imports through Drupal's Batch API, making it suitable for both small and large user lists.
Features
- Imports users from
.xlsxand.xlsfiles. - Creates new accounts or updates existing accounts matched by email address.
- Supports usernames, email addresses, passwords, roles, and account status.
- Processes large imports with Drupal's Batch API.
- Provides a downloadable Excel template with an instructions worksheet.
- Validates spreadsheet headers, email addresses, roles, status values, and required passwords.
- Reports separate totals for processed, created, updated, skipped, and failed rows.
- Allows the administrator to select the spreadsheet header row.
Requirements
- Drupal 10.2 or later, or Drupal 11.
- PHPSpreadsheet. Composer installs this dependency automatically.
- A configured Drupal private file system.
Installation
Install the stable release with Composer:
composer require drupal/batch_user_importer:^1.1 drush en batch_user_importer -y drush cr
Configure file_private_path in settings.php before importing files.
Usage
- Grant the
Import users from Excelpermission to trusted administrator roles. - Open
/admin/people/user-import. - Download the provided Excel template.
- Add one user per row without changing the column names.
- Upload the spreadsheet and select the header row number.
- Select Start import and review the results when processing finishes.
The maximum upload size is 20 MB.
Spreadsheet columns
Column Required Descriptionusername
Yes
A unique Drupal username.
email
Yes
A valid email address. Existing users are matched by email.
password
New users
Required for new users. A blank value does not change an existing user's password.
roles
No
Comma-separated Drupal role machine names.
status
No
Use active or inactive. A blank value defaults to active.
Accepted active values are 1, active, enabled, true, and yes. Accepted inactive values are 0, inactive, disabled, false, and no.
Upgrading from 1.0.0
Version 1.0.0 used the user_importer machine name. Uninstall the old module before installing version 1.1:
drush pm:uninstall user_importer -y drush cr composer require drupal/batch_user_importer:^1.1 drush en batch_user_importer -y
Support and development
Report bugs and request features in the Batch User Importer issue queue. Please search for an existing issue before creating a new one.
Depends on
Dependencies of the latest stable release
- file Drupal core
- user Drupal core
Required by
Tracked projects that depend on this one
No tracked projects depend on this one yet.
Activity
Release Timeline
Releases
| Version | Type | Core | Notes | Release date | |
|---|---|---|---|---|---|
| 1.1.0 | Stable | 10–11 | Stable Drupal 10.2 and Drupal 11 release with an Excel template, validation, and batch user imports. | Aug 17, 2026 | |
| 1.1.0-beta1 | Pre-release | 10–11 | Adds Drupal 10.2 and Drupal 11 compatibility, an Excel template, improved validation, and clearer import results. | Aug 17, 2026 | |
| 1.x-dev | Dev | 9–11 | Initial release: import Drupal users from Excel with Batch API support. | Sep 21, 2025 |