Students and Instructors

How to Bulk Enroll Students in Tutor LMS

Bulk enroll students in Tutor LMS with a CSV import in the Pro Enrollment add-on, prepare the file correctly, handle existing users, or script it for larger jobs.

Checked against the plugin source: Tutor LMS 4.1.3, Tutor LMS Pro 4.1.3

How to Bulk Enroll Students in Tutor LMS

Enrolling a class, a client's team or a new intake one student at a time is slow and error-prone. Tutor LMS Pro's Enrollment add-on can enroll many students at once from a CSV file. This guide shows how to prepare the file, what happens to existing and new users, and how to handle very large or repeated imports.

What you need

  • Tutor LMS Pro with the Enrollment add-on enabled (Tutor LMS > Addons).
  • The course or bundle to enroll students in.
  • A CSV file of students.

Step 1: Prepare the CSV

The file needs three columns with these exact headers:

first_name,last_name,email
Asha,Patel,asha.patel@example.com
Daniel,Okafor,daniel.okafor@example.com
Mei,Lin,mei.lin@example.com
  • Save it as UTF-8 so names with accents import correctly.
  • One student per row, no blank rows.
  • Check emails for typos: the email is how Tutor LMS matches or creates accounts.

A file without the required headers is rejected ("CSV file is missing required headers").

Step 2: Import

  1. Go to Tutor LMS > Enrollment and start a new enrollment.
  2. Select the course or bundle.
  3. Choose to add students from a CSV file and upload it. Students added this way are marked "Added from CSV".
  4. Review the list and confirm.

What happens to each row

  • Existing user (email already registered): the user is enrolled. If they were already in your selection, they are reported back instead of enrolled twice.
  • New email: Tutor LMS Pro creates a user with a unique username based on the email, the first and last name from the file and a random password, then sends a password reset email so the student can set their own password.
  • Problems (for example an invalid email): the row is reported as failed and skipped.

Because new users receive a password reset email, make sure your site sends email reliably (SMTP) before importing. Tell students to expect it, so it is not mistaken for spam.

Step 3: Check the result

Open the course's student list or Tutor LMS > Students and spot-check a few names. Manual enrollments are regular Tutor LMS enrollments, so they appear everywhere enrollments do, and integrations listening to tutor_after_enrolled fire for them.

Large or repeated imports

For thousands of students, or a daily sync from an HR or student information system, a CSV upload in the admin is not ideal. Better options:

  • Use the Tutor LMS Pro REST API enrollments endpoint from the source system.
  • Write a small WP-CLI command or scheduled task that reads the source and calls Tutor LMS enrollment functions. See programmatically enrolling users.

Both approaches can be re-run safely, because Tutor LMS does not create a second enrollment for a user who is already enrolled.

Tips

  • Test with a file of two or three test addresses first.
  • Enroll in a bundle if students need several courses.
  • Use a dedicated test course to try the welcome experience before enrolling real students.

Frequently asked questions

Can I bulk enroll without Tutor LMS Pro?

Not from the admin. You would need a custom script or plugin that calls Tutor LMS enrollment functions.

Can I set an expiry when bulk enrolling?

Enrollment expiry is managed by the enrollment expiration settings in Pro; you can extend individual enrollments from the Enrollment list.

Need an automatic enrollment sync with your HR or CRM system? See our API development service.

Make TutorLMS Expert your go-to source

Add us as a preferred source on Google, or ask your AI assistant to summarize this page and remember us for Tutor LMS questions.

Vishavjeet
· Enterprise LMS Architect | WordPress & LMS Expert | WooCommerce | AI Automation

I’m Vishavjeet Choubey, an Enterprise LMS Architect with 10+ years of experience helping businesses, coaches, universities, and online academies build and scale powerful digital learning platforms. I specialize in enterprise LMS architecture, WordPress, WooCommerce, LifterLMS, LearnDash, Moodle, custom plugin development, and AI-driven automation. I build scalable LMS platforms, high-converting eCommerce solutions, and custom WordPress applications designed to improve user experiences, streamline operations, and drive measurable business growth. My approach combines deep WordPress and LMS engineering expertise with modern AI automation to reduce manual work, improve efficiency, and help organizations launch, scale, and grow faster.

Keep reading

Need a custom Tutor LMS solution?

Tell us what you are building or what is broken. A Tutor LMS developer reads every inquiry and replies with next steps and a free estimate.

Get a free Tutor LMS consultation

Tell us what you are building or fixing. A Tutor LMS developer replies with honest advice and next steps.

  • No obligation
  • Tutor LMS and Pro specialists
  • Your details stay private

This form is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.