Spello

Log in to Spello

Welcome back

Enter your email and we'll send a 6-digit code.

No account yet?

Browse support articles

Support · Schools

Bulk-importing pupils by CSV

Last updated: April 2026

When to use CSV import

If you're adding a handful of pupils, just use Add child on the Children page — it's faster for small batches. The CSV import is designed for onboarding a whole class, year group, or school at once. Most existing school MIS tools (Arbor, SIMS, Bromcom, ScholarPack) can export a pupil list as CSV that Spello can read.

What your CSV needs

Spello needs three columns as a minimum:

Column Required? Notes
Child's name Required We recommend first name plus the first initial of the surname — enough to make each child unique within your school, but still friendly. A full name is fine if you need it; first name alone works for smaller schools.
Date of birth Required Any sensible format — DD/MM/YYYY, YYYY-MM-DD, or month + year.
Class Required The name of the class the child belongs to. Classes must already exist in Spello — set them up under Classes before importing, then make sure the names in your CSV match exactly.
Username Optional If omitted, Spello generates one based on the child's name.
Password Optional If omitted, Spello generates a simple word-based password.
Reference Optional Your school's UPN or internal ID. We store it so you can reconcile later; we never use it elsewhere.
Extra columns in your CSV are fine — Spello ignores anything it doesn't recognise. You don't need to prune the file before uploading.

Step by step

Before you start: set up your classes under Classes first. The import matches pupils against classes you've already created — it won't make new ones for you.
  1. Sign in at manage.spello.uk as a school admin.
  2. From the school dashboard, open Children → Import from CSV.
  3. Choose your file and confirm whether the first row is a header row.
  4. On the mapping screen, match each Spello field to one of your CSV columns. Spello will auto-suggest mappings based on column names (name, pupil, DOB, class, UPN, etc.) — you only need to correct the ones it got wrong.
  5. Press Preview. Spello shows what it's about to create, with any row-level errors flagged (invalid date formats, duplicate usernames). Fix errors by editing the CSV and re-uploading, or proceed if they're acceptable.
  6. Press Import. Larger schools may take a minute or two — the page live-updates as each row is processed.

Once the import completes, head to Documents → Login slips to print out each pupil's username and password to take home. See Parent letters and login slips for more on this.

Common pitfalls

"The file could not be read"

Usually a character-encoding issue — export as UTF-8 CSV rather than UTF-16 or a school-specific dialect. In Excel this is Save As → CSV UTF-8 (Comma delimited). In Numbers it's File → Export To → CSV → Text Encoding: Unicode (UTF-8).

Dates don't parse

British formats (12/05/2016, 12-05-2016, 12.05.2016) and ISO (2016-05-12) are all read correctly. A date with a month larger than 12 — e.g. 05/13/2016 — is auto-corrected as a US-style month/day swap. The one case we can't disambiguate is where both orderings are valid (05/06/2016 could be May 6 or June 5): we treat these as British. If your source system exports US-style dates, convert to YYYY-MM-DD before importing to avoid off-by-a-month birthdays.

Two pupils with the same name

Spello handles this by adding a short suffix to the auto-generated username (e.g. sam and sam2). If you'd prefer a different pattern, supply your own usernames in the CSV.

"Class 'Yr3 Red' not found"

Classes aren't created automatically — Spello only matches against classes you've already set up. Open Classes, create any that are missing, then retry the import. If your CSV has inconsistent spellings ("Yr3 Red" vs "Year 3 Red"), pick one name in Spello and clean the CSV column to match before importing.

Re-imports and updates

Always include a Reference column on re-imports. That's the only field Spello uses to detect a pupil you've already imported — without it, re-importing the same CSV will create a second set of children (usernames auto-suffix to "samp2", "samp3", etc).

With a reference column, Spello skips any row whose reference matches a pupil that's already in your school and imports only the genuinely new rows. Your school's UPN or MIS internal ID is the obvious thing to put in that column — it's stable across exports and unique per pupil.

The CSV import is additive only — it never updates existing pupils. To change a pupil's name, class, or credentials after they've been imported, edit them from the pupil's profile. For bulk changes across many pupils (end-of-year class rollovers, say), email us and we can help.

Still stuck? Email [email protected] — we normally reply within one working day.

Get in touch

Send us a message

We usually reply within one business day.

Or email us directly at [email protected].