Quick pick generator

Generate random integers in any range. Cryptographically secure (uses crypto.getRandomValues), with optional duplicates and sorting. Useful for raffles, draws, password seeds, and quick lottery picks.

Quick pick inputs

Generated numbers

Common uses

  • Lottery quick pick — min 1, max 49, count 6 (UK Lotto / 6-49 style)
  • Raffle / lucky draw — min 1, max = ticket count, count = winners, no duplicates
  • Bingo card — min 1, max 75 (US) or 90 (UK), count 25 or 27
  • Random sampling — pick N participants out of M without replacement
  • Dice rolls — min 1, max 6 (or 20 for D&D), count = number of rolls, allow duplicates

How the randomness works

This tool uses your browser's crypto.getRandomValues API, which provides cryptographic-grade randomness from your operating system's entropy pool — the same source used to generate TLS keys and password reset tokens. Modulo bias (where the highest few values are slightly less likely) is eliminated by rejection-sampling: random integers above the largest exact multiple of the range are discarded and re-drawn.

For very old browsers without crypto.getRandomValues, the tool falls back to Math.random. Either way, the numbers are random enough for any non-cryptographic use.

FAQ

Are the numbers really unpredictable?

Yes — they cannot be predicted from previous draws or guessed by knowing the time. The browser's CSPRNG is seeded from kernel-level entropy (mouse movement, network jitter, hardware noise) that is not externally observable.

Can I get the same draws by reloading?

No. Each "Regenerate" press fetches fresh entropy. There's no fixed seed exposed in the UI.

What if max is less than min?

The tool swaps them automatically and warns you. Same range = always returns that single value (with duplicates required if count > 1).

Related calculators