πŸ”How do I prove a giveaway draw was not rigged?

βœ“ Tested & verified Updated: How the randomness works

Every giveaway ends with someone in the comments saying it was fixed. This is the only answer that is not just your word.

Sealed draw for a giveaway

One-off

Tell us the draw date. We seal a random seed now and publish its fingerprint straight away, then send you the seed itself on the day β€” so nobody can claim you picked the winner.

Free, no account. One click unsubscribes and deletes your address.

Free to use β€” Pro is for keeping it

This tool, like every other one here, is free and needs no account. A free account keeps three setups and three email alerts. Pro takes the ads off every site we run and lifts that to 200 setups and 50 alerts, adds a public page for any result and lets you embed the tool without our badge.

See what Pro adds Sign in

Try also

How this works

Before the draw, the tool shows a commitment: the SHA-256 fingerprint of your entry list plus a secret random seed. Publish that fingerprint β€” in the post, in a comment, anywhere with a timestamp. After the draw it reveals the seed. Anyone can hash the seed and the list themselves and check it matches the fingerprint you published, which proves neither the list nor the seed was changed after the fact.

What a commitment scheme proves

And, just as importantly, what it does not.

ClaimProved?Why
The entry list was not changed after the drawYesThe list is part of the hashed commitment
The seed was not chosen to pick a favouriteYesThe seed is fixed by the commitment before the draw
The draw was not repeated until it suitedOnly if you publishEach redraw produces a new commitment
Every entrant was a real personNoThat is moderation, not cryptography
The organiser did not add themselvesOnly if the list is publicPublish the list with the commitment

Publish the commitment somewhere timestamped and public before drawing. Without that step the proof is worth nothing.

Frequently asked questions

What exactly does this prove?

That the entry list and the random seed existed, unchanged, before the draw was made β€” because the fingerprint you published depends on both, and a fingerprint cannot be reversed or made to match a different input.

Could I still cheat by redrawing until I like the winner?

Only by publishing a new commitment each time, which is visible. The proof is only as strong as publishing the fingerprint somewhere timestamped and public before you draw.

How do people verify it?

They take the seed you revealed, the entry list exactly as you published it, join them with a vertical bar, and hash with SHA-256. Any online SHA-256 tool will do it. If it matches your published fingerprint, the draw stands.

Does randomness come from the browser?

The seed comes from the browser’s cryptographic random source, not from Math.random. Selection is then derived deterministically from that seed, which is exactly what makes it reproducible and therefore checkable.

How the randomness works

The commitment is SHA-256 of seed + “|” + the entry list serialised as name:weight pairs joined by “|”. The seed is 16 bytes from crypto.getRandomValues. Selection uses a byte stream derived by hashing seed:counter, mapped onto the cumulative weights, so the same seed and list always yield the same result. All of it runs in your browser; nothing is sent to us.