For teachers

A name picker where student names never leave the browser

Call on students without picking favourites, split a class into fair groups, and settle small decisions in front of the room. There is no account, no cookie banner and no server: names you type stay on the machine you typed them on. Try it below with a sample class, then paste in your own.

Fair by design: each spin draws from your browser’s cryptographic random number generator, giving every entry an equal 1-in-24 chance. No server is involved.

One entry per line. 24 entries on the wheel.

Saved lists

Keep a list per class or per group. They stay in this browser only, and nothing is uploaded.

Share this wheel

The entries travel in the part of the link after the #, which browsers never send to a server. Nobody, including us, can read a shared wheel from a log.

Embed this wheel on your site

Please keep the attribution link on the last line. It is the only thing we ask in return, and it is what pays for the wheel being free.

<iframe src="https://spinpicker.io/embed/wheel#w=eyJlIjpbIkFtYXJhIiwiQmVuIiwiQ2hpZGkiLCJEaWxhcmEiLCJFbGkiLCJGYXJhaCIsIkd1cyIsIkhhbmEiLCJJZHJpcyIsIkpvbmFoIiwiS2lyYSIsIkx1Y2EiLCJNYXlhIiwiTm9vciIsIk90dG8iLCJQcml5YSIsIlF1aW5uIiwiUm9zYSIsIlNhbWkiLCJUZXNzIiwiVW1pIiwiVmlrIiwiV3JlbiIsIll1c3VmIl19" title="SpinPicker wheel" width="480" height="560" style="border:0;border-radius:18px;max-width:100%" loading="lazy"> </iframe> <p><a href="https://spinpicker.io/wheel">Spinner wheel by SpinPicker</a></p>

The four things a classroom actually needs

Remove after pickTakes each winner off the wheel so every student comes up once per round, instead of the same three names three times.
Reset roundPuts the whole class back in one click, with a counter showing how many are currently out.
Saved listsA named list per class, kept in this browser only. Load Period 1 in a second rather than retyping thirty names.
Big display modeFills the screen and renders the winner at 8% of the viewport width, floored at 48 pixels, for a projector at the front of a long room.

Why the privacy point is not marketing

A classroom name picker is, technically, a system that processes the names of children. That is the whole reason school IT departments ask questions about tools like this one, and the questions are reasonable. The honest answer for most cloud-based wheel tools is that student names are uploaded, stored on a server, associated with an account, and retained under a policy the teacher has not read. None of that is scandalous, but it is a data processing relationship, and somebody in the building is responsible for it.

SpinPicker sidesteps that relationship rather than promising to manage it well. The wheel is JavaScript running on the machine in front of you. Names go into the page, get drawn from, and are gone when you close the tab, unless you explicitly press Save to this browser, which writes them to that browser’s own local storage on that device and nowhere else. There is no account to attach them to and no request in which they could travel.

Shared wheels work the same way, which is the part that usually surprises people. When you press Copy share link, the entries are encoded into the fragment of the URL, the part after the # symbol. Browsers have never transmitted that part to a server; it exists only in the address bar and in whatever you paste it into. So a link containing a class list can be sent to a colleague or dropped into Google Classroom without those names reaching us, our hosting provider, or anyone’s access log. Pages opened from a share link also carry a noindex instruction, because a class list has no place in a search index even in principle.

The honest limits, stated plainly. Anyone who has the link has the names, exactly as with any link. Local storage lives in the browser profile, so a shared classroom machine keeps a saved list until someone clears it, and Clear all saved lists does that instantly. And this page describes how the tool works; it is not legal advice, and your school or district may still have its own approval process for any web tool.

How to run a fair cold call

The pedagogical case for a spinner is not the animation, it is impartiality that the room can see. Students who believe they are being singled out stop believing it when the pointer is doing the choosing, and students who have learned to sit very still and avoid eye contact can no longer rely on that. Both effects come from the same property: nobody in the room, including you, decided.

A few things make it land better in practice. Put the wheel on screen before you start so the class can see the list is everybody, not a subset. Turn on Remove after pick so the draw visibly moves toward covering the whole class, which lowers the stakes of any single spin. Give students a moment between the spin and the question rather than reading the name and firing immediately. And if you have students for whom a cold call is genuinely harmful, take them off the wheel quietly before the lesson rather than skipping their name in front of everyone.

Getting your class list in

Paste one name per line into the entries box. A column copied out of a spreadsheet already arrives one per line, so copying the name column from a register and pasting it in usually just works. Comma separated lists are accepted too. Blank lines are ignored and surrounding spaces are trimmed, so a slightly messy paste does not need cleaning up first. Duplicates are allowed and counted, which matters when two students share a first name: the entry count under the box tells you how many duplicates it found so you can add a surname where you need one.

To split the class into groups rather than pick one student, use the team generator. It deals names round robin, so no group ends up more than one member larger than another, and it shows what the split will look like before it runs.

Frequently asked questions

Do student names ever leave the browser?

No. The wheel runs entirely as JavaScript on the machine in front of you. Names you type are held in memory, and if you press Save to this browser they go into that browser's local storage on that device. Nothing is transmitted to SpinPicker, and there is no account to attach them to.

What about a wheel I share with a colleague?

A share link carries the entries in the part of the URL after the hash. Browsers never send that part to a server, which means a shared class list exists only in the browsers that open the link. It is not in our logs because it was never in our request.

Does the site set cookies or run tracking scripts?

No cookies are set for tracking and no third-party analytics script is loaded, which is also why there is no consent banner to click past on a whiteboard in front of a class.

Can I use it without an internet connection?

Once the page has loaded, yes. The wheel needs no further network requests to spin, so it keeps working on a classroom connection shared with two hundred other devices.

How do I make sure every student gets a turn once?

Switch on Remove after pick. Each name that comes up is taken off the wheel, so the pool shrinks until everyone has had a turn. Reset round puts the whole class back in one click when you start again.

Can I keep a separate list for each of my classes?

Yes. Type a name such as Period 1 in the Saved lists box and press Save list. The lists live in that browser only, and Clear all saved lists removes every one of them immediately.

Is it readable from the back of the room?

Big display mode fills the screen and renders the winner at eight percent of the viewport width, with a floor of 48 pixels so it stays large on a small laptop driving a projector.

Is the draw genuinely random, or does it favour certain positions?

It draws from the browser's cryptographic random number generator with rejection sampling, so no slice inherits a slightly larger share when the class size does not divide evenly into a power of two. The fairness page publishes chi-squared results over 16 million draws and the code that produced them.

Putting it on a school page or in an LMS

The wheel embeds as one iframe with no tracking and no cookies, which is usually the sticking point for a school site. The embed guide has copy-paste blocks for WordPress, Google Sites, Moodle, Canvas and Notion, plus a note on Google Classroom, which does not allow iframes and takes a share link instead.

Related: random name picker, team generator, classroom wheels, how we test the randomness, and the privacy policy.