Cryptographically Strong Random Number Generator
// Integer
Max range: ±4,294,967,295 · Max count: 20
// Float [0, 1]
~9–10 decimal places of resolution (32-bit input) · Max count: 20

About RNG.DK

RNG.DK generates random numbers using the browser's built-in Web Crypto API (crypto.getRandomValues()), which provides cryptographically strong randomness suitable for security-sensitive and fairness-sensitive applications.

This is fundamentally different from Math.random(), which uses a deterministic pseudo-random algorithm that can be predictable. crypto.getRandomValues() is implemented as a secure PRNG seeded from system entropy sources — a randomness source suitable for cryptographic use, and appropriate for fairness-sensitive applications, simulations, gaming, and statistical sampling.

Integer generation

A 32-bit unsigned integer is drawn from Uint32Array (range 0–4,294,967,295), then scaled to the requested [min, max] interval using modulo-free scaling to avoid bias.

Float generation

The 32-bit value is divided by 2³² to produce a uniform float in [0, 1), giving approximately 9–10 decimal places of resolution.