Random Number Generator
Generate random numbers in any range, or version-4 UUIDs in bulk. Choose your options and copy the results — everything runs in your browser.
How to use it
This tool works in two modes: random numbers and random UUIDs. Use the tabs above the generator to switch, then set your options and press Generate for a fresh set. In Numbers mode, the minimum and maximum you set are both included in the result, so a range of 1 to 100 can produce 1 or 100 as well as everything in between. Choose how many numbers to generate, then decide whether duplicates are allowed. With duplicates allowed, each number is drawn independently, so the same value can appear more than once — this is how you'd simulate rolling several dice. Turn duplicates off for a unique draw, where every number can appear only once and the count is capped at the size of the range. A 6-from-49 lottery draw is a unique draw: once a number comes up, it's removed from consideration and can't be drawn again. In UUID mode, choose how many version-4 UUIDs to generate. A UUID is a 128-bit identifier written as 32 hex characters in the pattern 8-4-4-4-12, for example f47ac10b-58cc-4372-a567-0e02b2c3d479. Version 4 fixes a handful of bits to mark the version and variant, and fills the remaining 122 bits with random data. That leaves 2^122 possible values — a number so large that generating billions of UUIDs every second for centuries still leaves the odds of two matching close to zero. This is different from the numbers above, which can repeat unless you turn off duplicates: a UUID doesn't need that option because its space is far larger than any number range you'd realistically pick. In practice, every UUID this tool generates can be treated as unique. Both modes run entirely in your browser using the Web Crypto API (crypto.getRandomValues), the same source browsers use for cryptographic randomness, and nothing is sent to a server. That makes this tool a solid choice for everyday randomness: picking a winner for a giveaway or raffle, drawing a random sample from a list, seeding test data, or generating IDs for new records. For passwords or security keys, use a dedicated password manager built for that job.
Frequently asked questions
- Are the numbers truly random?
- Yes. Both numbers and UUIDs are generated with the Web Crypto API (crypto.getRandomValues), the same cryptographically secure random source browsers use for security-sensitive code, plus rejection sampling to avoid modulo bias. That's a meaningfully higher bar than Math.random(), which most simple online generators use and which isn't designed to be unpredictable.
- What is a UUID and can two ever match?
- A UUID is a 128-bit ID, usually written as 32 hex digits like f47ac10b-58cc-4372-a567-0e02b2c3d479. The version-4 kind used here randomizes 122 of those bits, giving roughly 5.3 undecillion possible values. Two matching by chance is possible in theory but negligible in practice — you'd need to generate billions per second for centuries before a collision became likely.
- Can I generate numbers without duplicates?
- Yes — turn off "Allow duplicates" and each number can only appear once, like drawing lottery balls without replacement. The result is capped at the size of your range: asking for 20 unique numbers between 1 and 10 will only return 10. Leave duplicates on when you want independent draws, such as simulating dice rolls.
- Is this safe for passwords or security keys?
- The randomness itself is strong — it comes from the Web Crypto API, the same source used for cryptographic keys. But this tool isn't built for passwords or secrets: it has no character-set or length options for password strength, and generated values sit in plain text on the page with nothing to protect them. Use a dedicated password manager for anything you need to keep secret.