Random Picker / Wheel Spinner

Crypto-grade randomness; lists stored locally

Pick a winner from any list. Spin a colour-coded wheel or grab N at once. Weighted entries supported, results never leave your device.

Wheel

AliceBobCharlieDianaEveFrankGraceHenry

Items (8)

One per line. Use 'Name x2' for double weight.

8 items · weight total 9

Winners (0)

No spins yet.

Options

Pickat once
Runs entirely in your browser — nothing is uploaded
Runs entirely in your browser. No uploads. Your files stay private.

How The Random Picker Works (And Why That Matters)

Picking a name out of a hat seems trivial until you actually need fairness. Most online wheel spinners use Math.random(), which is fine for casual decisions but has known biases — sequences are predictable enough that competition organisers and giveaway hosts shouldn't trust them for anything material. This picker uses crypto.getRandomValues, the browser's cryptographically-secure RNG, the same primitive your password manager uses to generate keys. The output is unbiased modulo the number of entries.
Two modes serve different needs. The wheel spinner runs an animated reveal — five to seven full rotations easing into the winner sector — useful for streaming audiences, classroom moments, and any setting where the reveal itself is part of the experience. Instant pick skips the animation and returns N winners at once, useful for mass-selecting raffle prizes, balanced team assignments, or quick decisions where animation is overhead.
Weighted entries handle the cases where not every entry deserves an equal slice. Add 'x2' to a name and they get double the chance. Useful for: tickets where someone bought multiple, beta testers ranked by activity, or rotation orders where senior contributors take more turns. The wheel reflects this visually — a 2x entry occupies two normal-width sectors so users see the bias rather than the algorithm hiding it.
Remove-winner mode strips the chosen entry from the list after each spin. The right pick when the same person shouldn't win twice — door-prize raffles, classroom participation rotations, secret-santa pairings. Disabled by default because it changes outcomes between spins and most casual uses don't need it.
Saved lists live in your browser's localStorage. Up to 20 named lists, deleted whenever you want. Nothing is ever sent to a server because there are no servers behind this tool. Share-via-URL encodes the entry list into the page hash — the receiver gets your exact list when they open the link, but the URL is too long to share via SMS without shortening; copy-paste into Slack, Discord, or email works fine.
The wheel itself is rendered in SVG with CSS transforms for the rotation animation. No third-party libraries, no canvas, no animation engine — just a 4-second cubic-bezier eased rotation onto the target sector. Sectors are coloured from a 15-colour palette tuned for accessibility (each colour has at least 4.5:1 contrast against white). Up to ~30 entries display readably; beyond that, sector labels truncate with ellipses.
Sound effects are off by default. When enabled, each spin produces a sequence of short clicks during the animation — Web Audio API square waves at 800 Hz, lasting 50 ms each, total volume well below most system warning sounds. Useful for engagement on streaming setups; mostly distracting in office settings.

Common Use Cases

01

Raffle / giveaway winner

Paste entrant names, hit spin, get a fair winner. Crypto-grade RNG means the result holds up to scrutiny in case of disputes.

02

Classroom participation

Pick which student answers next. Remove-winner mode rotates without repeats; weighted entries can favour quieter students.

03

Team assignment / lunch picker

Decide which restaurant the team visits or which member presents next. Save common lists ('lunch options', 'meeting facilitators') for quick reload.

04

Secret Santa pairings

Use instant-pick with N = team size and remove-winner enabled. Each person draws once; share the URL with the resulting pairs (privately!).

Frequently Asked Questions

The picker uses crypto.getRandomValues — the browser's cryptographically-secure random source, the same one your password manager uses for key generation. Output is unbiased; results from this tool hold up to statistical scrutiny in a way that Math.random()-based pickers don't. For high-stakes draws (real money giveaways, regulated raffles) you should still record the spin process — screen recording is the easy way.
Yes. Append ' x2' (or x3, x4, etc.) to a line to give that entry double weight. Weights cap at 100 to prevent visual breakdown of the wheel. Weighted entries occupy proportionally more wheel area so the bias is visually obvious — the algorithm doesn't hide it.
Spin runs the animated wheel — useful for streaming, classroom, and any setting where the reveal is part of the experience. Instant pick returns N winners with no animation — useful when you need many winners fast, or when animation feels unnecessary.
Yes. The picker first decides the winner using crypto-grade RNG, then animates the wheel to land on that sector. The animation is for human entertainment; the math determines the outcome before the wheel starts spinning. Sometimes there's a tiny pixel-level jitter so the wheel doesn't always land dead-centre on the sector, which makes it feel less mechanical.
Yes — click Save list, give it a name, and it's stored in your browser's localStorage. Up to 20 named lists. Stored only on your device; clearing browser storage or using a different device starts you fresh.
The entry list is encoded into the URL hash (the part after #), base64-encoded. The receiver opens the link and gets your exact list. Hash data is never sent to our servers — it lives entirely on the client side. URLs can get long for big lists; shorten with a service like Bitly if needed.
Because remove-winner mode is off by default. Without it, every spin draws independently from the full list — the same outcome could occur twice in a row, the same way flipping a coin can give heads twice. Toggle remove-winner to prevent repeats within a session.
Visually, up to about 30 readably (sector labels start truncating beyond that). The math handles thousands without slowing down — for very large lists, use Instant pick rather than Spin since the wheel becomes hard to read.
No. The picker runs entirely in your browser. The entry list, saved lists, share-link encoding, RNG, and animation all happen client-side. We don't have a server-side record of who you picked or what was on your list.
We use Google AdSense to fund the site — but the wheel page reserves only one ad slot below the tool itself, never on the spinning area. Many wheel competitors put ads inside the spin animation, which we found degrades the experience for the high-engagement use cases (streaming, classroom).

Advertisement