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

casino

Cryptographically Secure

Uses crypto.getRandomValues() for true randomness, not Math.random().

straighten

Custom Range

Set any minimum and maximum values, including negative numbers.

decimal_increase

Integer or Decimal

Choose between whole numbers or specify decimal precision from 1 to 15 places.

library_add

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()?expand_more
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?expand_more
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?expand_more
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?expand_more
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).