About TossUp

A simpler way to settle the small decisions.

TossUp is a free collection of browser-based wheels and random pickers for moments when a group needs a fair, visible choice.

Why we built it

Small decisions can consume surprisingly much time: who goes first, which game to play, which topic to answer, or what everyone should eat. TossUp turns those choices into a quick shared action.

What TossUp provides

Our tools are designed for parties, classrooms, teams, families, giveaways and everyday decisions. The basic experience does not require an account or app installation.

Our approach

We focus on a clean interface, understandable instructions, responsive design and browser-first functionality. Where possible, random selections use the browser's secure random-number facilities.

Privacy by design

For the basic tools, lists can be stored locally in your browser. We do not need an account to let you spin a wheel. Please avoid entering sensitive personal information into any public website.

Keeping TossUp free

TossUp is intended to remain free to use. We may use advertising or other non-intrusive monetization in the future to help cover operating costs; any advertising will be kept separate from interactive controls as far as practical.

How TossUp works under the hood

Some technical detail, because "is this actually random?" is a fair question when you're drawing a raffle winner in front of a room.

Cryptographically secure randomness

Most spinner sites use JavaScript's Math.random(). It's adequate for casual use, but it is a pseudo-random generator — numbers produced by a deterministic algorithm that merely looks random, and which can in principle be predicted.

Where the browser supports it, TossUp uses crypto.getRandomValues() — a cryptographically secure generator drawing on high-entropy sources from your operating system rather than an algorithm. On any browser that doesn't provide it, we fall back to the standard generator so the tool still works. For deciding who does the washing up the difference is academic. For a prize draw someone might reasonably question, it matters.

The result is generated, not staged

The random number is drawn first and the wheel animates to that position — we don't pick a winner and fake a spin towards it. Every entry occupies an equal slice, so every entry has an identical chance on every spin. The spin duration and deceleration are purely cosmetic; a longer spin is not a more random one.

Fair rotation is a separate thing from randomness

Pure randomness can pick the same student three times in a lesson while another waits a fortnight. That is randomness working correctly and failing the teacher. Where even coverage matters, our tools remove each pick until everyone has had a turn — selection without replacement rather than independent draws. Knowing which of the two you want is usually more important than the quality of the generator.

Nothing leaves your device

Entries you type are held in your browser's local storage and never transmitted to us. There is no account system and no server-side record of what you spin, which is why the name picker is safe to use with a real class roster. Shared wheel links encode the list into the URL itself rather than storing it anywhere.

Built to stay fast

TossUp is static HTML, CSS and vanilla JavaScript — no frameworks, no trackers, no build step. The whole site is a few hundred kilobytes, which is why it loads quickly on a phone at a party with three bars of signal.

Who runs TossUp

TossUp is independently built and maintained as a free collection of browser-based tools. It isn't a company or a team — it's one person who got tired of being the one who has to remember whose turn it is, and kept adding tools as people asked for them.

Most of what's on the site started as a suggestion. If something is broken, or there's a wheel you wish existed, the contact page reaches us directly and every message gets read.