Random Number Generator
Generate random numbers, integers, decimals, or sequences with custom ranges.
About Random Number Generator
Generate cryptographically secure random numbers using the Web Crypto API. Configure a min/max range, choose integers or decimals (with configurable decimal places), generate multiple numbers at once, and optionally exclude duplicates to get a unique random sequence. The no-duplicates option is useful for random sampling, lottery-style draws, and random ordering. Uses crypto.getRandomValues() for true randomness.
All processing happens entirely in your browser using modern web APIs. Nothing is uploaded to our servers — your data stays local and private. Free to use forever, with a Pro plan for power users who want an ad-free experience and API access.
Common use cases
- Picking a random winner from a list of numbers (lottery draw)
- Generating random test data values within a specific range
- Creating random IDs or reference numbers for testing
- Randomly sampling a subset from a numbered list
- Generating random percentages or probabilities for simulations
How it works
Uses crypto.getRandomValues() to generate a 32-bit unsigned integer, which is then mapped to the [min, max] range using modular arithmetic: Math.floor(randomUint32 / (2^32) * (max - min + 1)) + min. This avoids bias from naive implementations. For decimals, the same approach generates a value in [0, 1) and scales to the range.