Skip to content

Name Picker

Paste a list, spin the wheel, get a winner. The draw uses real cryptographic randomness, and your list never leaves this browser.

Loading the wheel…
Wheel of names → Raffle winner picker → Classroom picker → Password generator →
Table of contents

How to pick a random name

  1. 1

    Paste your names

    One per line. A spreadsheet column, a chat export or a class register all paste straight in — anything blank is ignored, so you do not have to tidy it first.

  2. 2

    Weight anyone who deserves it

    Put ×3 after a name and it takes three slices instead of one. That is how you run a raffle where people earned extra entries, without pasting the same name three times and making the wheel unreadable.

  3. 3

    Spin

    Click the wheel. The winner is drawn the instant you click — the spinning is the announcement, not the decision — so nothing about the animation can nudge the result.

  4. 4

    Draw again, or take the winner off

    Tick "take the winner off the wheel" and each spin removes whoever just won. Spin repeatedly for second and third place, or to work through a whole class without asking anyone twice.

What makes a wheel fair, and what does not

The wheel is a picture of a decision that has already been made. The moment you click, the winner is drawn; the five seconds of spinning exist so everyone watching sees it happen, not so the computer can work anything out. The alternative — give the wheel a random shove, let friction slow it down, and read off whatever ends up under the pointer — sounds more honest and is worse. Fairness then depends on an easing curve, the frame rate of the device, and whether a rounding error puts the pointer a hair on the wrong side of a boundary.

The draw itself uses the same source as a password. The browser is asked for cryptographic random bytes, and any value that would not divide evenly across the list is thrown away and re-drawn. That second part matters more than it sounds. The obvious shortcut is to take a remainder — a random number modulo the number of names — and that gives the first few entries in the list a slightly better chance every time the list length does not divide the range evenly. With ten names it is a rounding error. With a hundred it is a visible thumb on the scale.

What is left is your list. No amount of good randomness fixes a name that appears twice, so there is a button that removes duplicates and a count beside the box so you can check it against your register. And weights are deliberate and visible: if someone has ×3 after their name, their slice is three times the size, and you can see it on the wheel rather than having to take anyone's word for it.

What people actually use this for

Giveaways and prize draws. Paste the entrants, tick remove-after-picking, and spin once per prize. The list of everyone drawn builds up in order beside the wheel, which is what you screenshot afterwards.

Classrooms. Cold-calling by wheel takes the sting out of being picked — nobody thinks the teacher chose them — and with the winner removed after each spin it works through a register without asking the same child twice in one lesson.

Standups and retros. Who goes first, who facilitates, who takes the notes. It is faster than the pause where everyone waits for somebody else to volunteer, and it stops the same person getting it every week.

Deciding anything at all. Lunch, which task to start on, whose turn it is to drive. The names do not have to be people — a wheel of options is a perfectly good way to stop a group re-litigating a decision that does not matter.

Frequently asked questions

API — for scripts and agents

The same draw behind a free REST endpoint. No API key, no sign-up. Pass count for several winners and they are drawn without replacement, so nobody wins twice.

curl 'https://zeal.tools/api/v1/pick?names=Ada,Grace,Linus&count=1'

This one is worth pointing an agent at. A language model asked to pick something at random does not draw — it samples from what it finds likely, which leans reproducibly towards the first entry, the last, and whatever it has seen most. MCP clients can add https://zeal.tools/mcp and call the pick_random tool to get an actual draw instead.

The Zeal Promise

Non-negotiable, on every tool we ship.

  • No sign-up — ever
  • No watermarks on any output
  • No ads near the download button
  • Works fully on mobile
  • Privacy-first: processing stays in your browser
  • Open source (MIT) — audit it, contribute, self-host
  • Zero runtime dependencies in tool logic

zeal.tools

Free tools, made with zeal. No sign-ups, no watermarks, no nonsense — open source and yours to audit.

MIT licensed · every tool works in the browser, over the API, and through MCP.