Free Random Number Generator
Generate cryptographically secure random numbers within a custom range. Supports integers, decimals, and bulk generation up to 1000.
Range Settings
→
Format Settings
Security: Uses crypto.getRandomValues() for cryptographically secure random numbers.
Click Generate to create a random number
Key Features
Cryptographically Secure
Uses crypto.getRandomValues() for true randomness, not Math.random().
Custom Range
Set any minimum and maximum values, including negative numbers.
Integer or Decimal
Choose between whole numbers or specify decimal precision from 1 to 15 places.
Bulk Generation
Generate up to 1000 random numbers at once for batch needs.
Frequently Asked Questions
Getting Started
Why crypto.getRandomValues() instead of Math.random()?
Math.random() is seeded from a deterministic PRNG that an attacker can reverse-engineer. crypto.getRandomValues() pulls from the OS entropy pool for cryptographically secure output.
How does "unique numbers" work?
The uniqueness guarantee uses rejection sampling with a Set. The range size must be at least as large as the requested count. The tool warns if it's mathematically impossible.
Does the generator produce uniform distribution?
For integer mode, the tool uses rejection sampling to eliminate modulo bias, producing statistically uniform output. Decimal rounding adds minor edge effects at min/max boundaries.
Can I use this for cryptographic key generation?
Use raw numbers as input for key derivation, but not as keys directly. A single random 31-bit integer is too weak for a cryptographic key (needs 128+ bits).