The Paper Room

Random Number Generator

Generate random numbers using the Web Crypto API (crypto.getRandomValues), which provides cryptographic-quality randomness — not the weaker Math.random() that most online generators use. Set a minimum and maximum value, choose how many numbers to generate (up to 1,000), and optionally require unique results or sort the output.

The generator handles edge cases properly: if you request more unique numbers than the range allows, it tells you instead of looping forever. Results display in a copyable list so you can paste them into a spreadsheet, a script, or wherever you need them.

Below the main generator, three quick-access buttons cover the most common random-number needs: a fair coin flip (heads or tails), a six-sided dice roll, and a random hex color with a live swatch preview. All randomness comes from the same cryptographic source.

By The Paper Room Editorial TeamMisc Utilities

Frequently asked questions

Is this truly random?

Yes. The tool uses crypto.getRandomValues(), which draws from your operating system's cryptographic random number generator (e.g., /dev/urandom on Linux, CryptGenRandom on Windows). This is the same source used for generating encryption keys and is far stronger than Math.random().

Why might I need unique (no duplicates) numbers?

Lottery-style draws, random sampling without replacement, assigning unique IDs, or picking a random subset from a list all require unique numbers. Enable the 'no duplicates' option and the generator ensures every number in the output is distinct.

What is the maximum range I can use?

You can set min and max to any integer JavaScript can represent accurately (up to about 9 quadrillion). The generator works with arbitrarily large ranges, though very large ranges with many unique numbers requested will take longer to fill.

Is the coin flip actually fair?

Yes. It uses the same unbiased cryptographic random source as the number generator. Each flip is an independent event with exactly 50/50 probability, with no bias introduced by the implementation.