Skip to content
mimiao
Docs

Students & groups

Importing Students from Excel or CSV

Step-by-step import wizard: upload your file, map columns, review errors, handle duplicates, and move your entire database in minutes.

Updated:

If you’re switching from a spreadsheet or another system, there’s no need to enter students one by one. The import wizard transfers your whole database in minutes and catches data problems before anything is saved.

Step 1. Prepare your file

Supported formats: CSV, XLSX, and XLS. Your file can have any column structure — you’ll map columns to fields in the next step.

The only required data is either a name or a phone number — at least one of the two. Everything else (email, language, level, notes) is optional, but the more you bring in, the less you’ll need to fill in manually.

File size limit is 10 MB. There’s no row limit — large files are processed in the background, and you’ll get a notification when the import finishes.

Step 2. Upload your file

Go to Students → Import, click “Upload file” or drag and drop the file into the upload zone. The system immediately shows a preview of the first rows.

Step 3. Map columns

You’ll see a side-by-side view: your file’s columns on the left, Mimiao fields on the right. Drag each column to the correct field, or set it to “Ignore” if you don’t need that data.

The system attempts automatic mapping — for example, a column called “Phone” or “Email” gets matched right away. Review and correct anything it got wrong.

Step 4. Data validation

Before saving anything, the system validates every row:

  • Phone — format is checked (international or local).
  • Email — syntax is validated.
  • Missing required fields — rows with neither a name nor a phone number are flagged.

The result shows in two tabs: “Ready to import” and “Errors”. Rows with errors will not be saved automatically.

If there are many errors, click “Download error log” to get a CSV with a description of each problem. Fix your file and re-upload, or proceed with only the valid rows.

Step 5. Duplicate strategy

If a phone number or email in your file already exists in the database, the system asks what to do:

  • Skip — the duplicate row is not imported; the existing record is unchanged.
  • Update — fields from the file overwrite the matching fields on the existing student (blank fields in the file don’t erase existing data).
  • Create separately — a new record is created alongside the existing one; useful when a phone match is coincidental (e.g., a parent and child sharing a contact).

The chosen strategy applies to all duplicates in this import. For different handling per row, run separate imports.

Step 6. Preview and run

Before the final import you see a summary: how many students will be created, updated, skipped, and how many have errors. If everything looks right, click “Import”.

After completion, a banner appears on the Students page with the final count. For large files it arrives as an in-app notification.


Students are in — now add them to the schedule and attendance journal, or go straight to creating their first invoices.