Generate random numbers within a custom range.
Cryptographically secure random numbers, generated in your browser
100% Private — Cryptographic Randomness
All random numbers are generated locally using the Web Crypto API. Nothing is sent to any server. Close the tab and your data is gone.
Generating random numbers is simple. Follow these steps to get started:
This tool uses crypto.getRandomValues() which provides cryptographically secure random numbers. This is the same source your browser uses for TLS/SSL encryption.
For integers, a random 32-bit value is scaled to your range and floored. Every integer in the range has an equal probability of being selected, ensuring uniform distribution.
For decimals, the same cryptographic source is used but the result is scaled to provide floating-point values with up to 10 decimal places of precision across your specified range.
When unique mode is on, a Set tracks previously generated values. Each new number is checked against the set before being added to results.
When sort is enabled, the raw generated numbers are sorted in ascending order after generation. The original random sequence is preserved in the generation history for reference.
All computation happens in your browser. No API calls, no network requests, no data transmitted. The Web Crypto API is a browser-native API that requires no internet connection.
Pick a random winner from a list of participants. Set the range to match your entry numbers and generate one unique result.
Replace physical dice by generating a number between 1 and 6 (or any other die size). Generate multiple dice rolls at once.
Select random samples from a population for surveys, research, or quality control testing.
Randomly assign people to groups or teams. Generate unique numbers and use them as group assignments.
Generate random test data, IDs, or values for unit tests and fuzzing. Generate multiple values at once for batch testing.
Randomly call on students, pick discussion topics, or create random orderings for presentations.
Generate random numbers of reps, sets, or exercises for varied workout routines.
Use random numbers to simulate probabilistic events, Monte Carlo methods, or stochastic processes.
Random numbers are the backbone of modern encryption. SSL/TLS handshakes, password salts, authentication tokens, and session keys all depend on high-quality random number generation. Without strong randomness, encrypted communications can be predicted and broken.
Video games use random numbers for procedural world generation, loot drops, critical hit chances, enemy AI behavior, and card shuffling. Monte Carlo simulations in finance and physics rely on millions of random samples to model complex systems.
Random numbers initialize neural network weights, shuffle training data, apply dropout regularization, and drive data augmentation. The quality of the random source can directly affect model training stability and reproducibility.
Random sampling is fundamental to statistical analysis, A/B testing, polling, and clinical trials. Proper randomization eliminates selection bias and ensures that sample results are representative of the broader population.
Generate strong, random passwords with customizable options.
Generate random UUIDs (v4) instantly.
Convert numbers between binary, octal, decimal, and hexadecimal.
Calculate percentages, increases, decreases, and differences.
Calculate your exact age in years, months, weeks, days, and even seconds.
Convert between units of length, weight, temperature, and more.
Calculate your Body Mass Index based on height and weight.

Founder & Developer of FreeKit
I personally designed and built every tool on this website — including the one you just used. If these tools have been helpful, I can build custom tools, automation workflows, websites, and SEO solutions tailored to your business.
Remote: Available Now
United States & European company
USD $25/hour or USD $1,500/month
On-site: Open to Relocation
With work visa & travel support