Random Student Picker

Choose students fairly for questions, activities, or classroom groups with a private picker.

Class rosters are saved only in this browser

Classroom setup

One student per line. Duplicate names remain separate rows.

Local roster handoff

Only names are transferred. Attendance, tags, constraints, weights, images and results are not transferred.

Saved in this browser only. Export JSON to move the roster to another device.

This tool accepts 1–500 names.

One exact roster label per line; this list is session-only.

Current result

No students picked yet.

Session history

No students picked yet.

Participation counts

#StudentPicksStatus
1Amina0Available
2Mateo0Available
3Olivia0Available
4Noah0Available
5Sofia0Available
6Leo0Available
7Maya0Available
8Ethan0Available

Your list stays private

Names and choices are processed on this device, not uploaded to our server.

Fair random picks

Choices are selected with cryptographic randomness provided by your browser.

No sign-up

Open a tool and decide immediately—no account or email required.

Run a complete, attendance-aware classroom calling round

Keep separate rosters for up to 12 classes in this browser, mark today's absences without editing a roster, pick one or several students, and use a no-repeat round with visible participation counts, undo, fullscreen presentation, and local exports.

Concrete input and output example

Save a 24-student class, list Mila and Omar as absent, request two students, and keep no-repeat enabled. The first draw samples two of the other 22 rows; the next draw has 20 eligible rows. Undo restores the last two rows to the same round without changing the roster.

How the result is produced

Each roster row receives its own local identity, so duplicate display names remain distinct. Case-insensitive exact labels remove absent rows, the current no-repeat set removes rows already called, and Web Crypto-backed sampling selects uniformly without replacement from the remaining snapshot.

Limits and checks

  • Each class accepts 1–500 non-empty rows, the local library accepts up to 12 classes, and spelling in the absence field must match after case normalization.
  • Participation counts and draw history cover the current page session; class names and rosters persist locally, but attendance and results do not.
  • Random calling order cannot replace accommodations, safeguarding rules, consent, or a teacher's judgment.

Local data boundary

Class names and rosters use a bounded versioned localStorage record in this browser. Attendance, rounds, counts, and draw history stay in page memory; exported files are created locally and no roster is uploaded by this tool.

Questions about this tool

Are duplicate student names separate?
Yes. Every non-empty roster row has its own identity and can be picked once per no-repeat round.
Is the absence list saved for the next visit?
No. Class rosters can persist locally, while today's absences and the session history reset with the page.
What does Undo restore?
It removes the latest draw from history, reverses its participation counts, and makes those rows eligible again in the current round.
Does the export certify classroom fairness?
No. It records the visible local session; it does not verify attendance, accommodations, operator behavior, or an unchanged roster.

Content and implementation reviewed:

How it works

  1. 1

    Enter the people, items, or number range you want to use.

  2. 2

    Choose any options that fit your task.

  3. 3

    Run the tool and copy or repeat the result.

Runs on your device

Your input and some settings are processed locally and may be saved in this browser's localStorage across sessions. Random results remain only on the current page unless you copy or share them.

Wheel of NamesRandom PickerRandom Team GeneratorRandom Number GeneratorOnline Dice RollerOnline Coin FlipRandom List Shuffler