Bulk Import Students into a Class

This article walks through bulk-importing students from a CSV file directly into an existing class. If you’d rather import students to your main student list (and optionally also assign them to a class), see Bulk Import Students instead.

Running the Import

From the dashboard, click the Classes main-navigation option.

Find the class you want to import students into, click its action button, and select Import Students.

A modal will open asking for the import information:

  1. File upload (required): the CSV file containing the students to import. Download a sample CSV file to see the expected format.
  2. Class (optional): pre-populated with the class you started from. You can change it to a different class, or clear it — if cleared, students will be added to your main student list but not assigned to any class.

CSV Format

The first row must be a header row. Column names are case-insensitive. Required and optional columns:

Column Required? Notes
first_name Required Student’s first name.
last_name Required Student’s last name.
identifier Required Student ID. See identifier rules below.
email Optional Used to match against existing student records (avoids duplicates).

Identifier rules: if you want students to bubble in their own ID on the answer sheet, the identifier must be 10 digits or fewer and must contain no letters. Identifiers that exceed 10 digits or contain letters are still allowed, but you’ll need to print sheets with the student data pre-filled rather than relying on bubble-in IDs.

Confirming the Import

After the file processes, you’ll see a review screen where you can verify each row before committing the import.

  1. Import Type — tells you what will happen for each row:
    1. Insert — the student doesn’t exist yet; a new record will be created.
    2. Update — the student already exists (matched by email); their record will be updated with the CSV data. Previous testing data is not affected.
  2. Action Menu — manage individual rows before committing:
    1. Edit — change any of the row’s details.
    2. Delete — remove the row from the import. Deletes only remove the import row; if the student already exists in your account, the existing record stays intact.
  3. Confirm Import — when everything looks correct, click this to complete the import.

NOTE: If a row matches a student you previously deleted, the import restores that student — along with their testing history — rather than creating a duplicate.

After the import completes, you’ll be redirected to the student view of the class.

NOTE: Very large imports — thousands of rows — are processed in the background. You’re returned to your student list right away and students appear as they’re added, so you can safely leave the page while the import finishes.

Troubleshooting

I get “the import file is empty or could not be read.”

The CSV may be saved with line endings PaperScorer can’t parse, or the header row is missing. Re-save the file as CSV (UTF-8) from your spreadsheet program and make sure the first row contains the column names.

Required column missing.

Confirm the first row of the CSV has all required columns: first_name , last_name , identifier . Spelling and underscores matter; spaces are not allowed in column names.

An import row shows a warning about identifier length.

The student’s identifier has more than 10 digits or contains letters. The import will still complete, but those students will need pre-filled answer sheets instead of bubble-in IDs.

Students are imported but not appearing in my class roster.

Check the Class field on the import modal. If it was cleared, students were added to the main student list only. You can add them to the class afterwards using Adding a Student to a Class.

Did this answer your question? Thanks for the feedback There was a problem submitting your feedback. Please try again later.

Still need help? Contact Us Contact Us