LPH Digital Tools
Tools Consulting Portfolio Blog
Legal Login Register Free

Random Number Generator

Cryptographically-secure, from any range. Unique or with repeats.

How "random" is this?

We use crypto.getRandomValues() — your browser's cryptographically-secure pseudorandom number generator, also used by banking systems, HTTPS session tokens, and password managers. It's suitable for lotteries, password seeds, randomised testing, raffle draws, game development, A/B test assignment, and survey sampling.

The distribution is uniform (every number in your range has exactly equal probability) and independent (each generation has no memory of previous ones — there's no "hot" or "cold" number).

It is not suitable for legal gambling outcomes — most jurisdictions require hardware RNGs with independent audit trails for that. For everything else, this is as random as you need.

Common uses

  • Raffle / giveaway winner. Set min=1, max=(number of entries), count=1. For multiple winners, enable "Unique only" and bump count.
  • Pick a winner from a team list. Number your list 1-N, generate one number in that range.
  • Lottery numbers. Enable "Unique only," count=6 (or your game's draw size), min=1, max=45 (or whatever).
  • Random decision / Monte Carlo. For coin-flip-style yes/no, use min=1 max=2. Weighted decisions: use bigger ranges and bucket the result.
  • A/B test assignment. Generate a single integer per user session, bucket into groups.
  • Dungeon master rolls. Prefer the Dice Roller for that — it speaks proper dice notation.

Session history

The last 10 generations are kept below so you can scroll back — useful for raffle judges or if you accidentally re-roll and need to recover the previous number. History clears when you close the tab or hit "Clear" — nothing is stored on our server.