Cryptographic Web Crypto API (CSPRNG)

Professional Random Number Generator

Engineered for scientific simulations, lotteries, statistical sampling, gaming, and cryptographic verification with zero modulo bias.

CSPRNG Web Crypto Active (0.00% Bias)
Space / Enter Run • C Copy
Common Range Presets
Allow Duplicates Generate numbers with replacement (can repeat values)
Select Polyhedral Dice Type
International Lottery Presets
HEADS
Ready to flip
Cryptographic 50/50 probability
42
Output Delimiter: 1 item generated
Minimum 42
Maximum 42
Sum Total 42
Mean (Avg) 42
Median 42
Std Dev (σ) 0.00
Batch Frequency Distribution 50% Even / 50% Odd
Generation History & Audit Log
Time Mode / Range Count Results Preview Action

Understanding Cryptographic Randomness (CSPRNG)

Standard random functions like JavaScript's native Math.random() employ pseudo-random number generator (PRNG) algorithms such as xoshiro128+ or v8's Marsaglia multiply-with-carry. While sufficient for basic UI animations, PRNGs are deterministic, periodic, and susceptible to predictability once their internal seed state is inferred.

Our tool exclusively utilizes the Web Cryptography API (window.crypto.getRandomValues), which interfaces directly with your operating system's entropy pool (e.g. /dev/urandom on Linux/macOS or BCryptGenRandom on Windows). To guarantee true uniform probability across custom intervals, we implement mathematical rejection sampling:

Feature Standard Math.random() Our CSPRNG Tool
Entropy Source PRNG seed in userland memory OS Kernel Entropy Pool (CSPRNG)
Modulo Bias Subject to pigeonhole bias on large ranges 0.00% Bias via rejection sampling
Cryptographic Security No (Predictable seed sequence) Yes (Approved for key generation & lotteries)
Network Latency 0ms (Client-Side) 0ms (100% Client-Side, Zero Telemetry)

How to Use the Generator Modes

1

Integers Mode

Set any inclusive bounds (positive or negative) and generate up to 10,000 numbers with strict duplicate or sorting options.

2

Polyhedral Dice

Simulate tabletop gaming dice rolls (d4 to d100) with roll modifiers (+/-) and individual die breakdown summaries.

3

Lottery Balls

Run authentic lottery ball draws with animated visual ball drops for 6/49, US Powerball, Mega Millions, and custom draws.

4

Name & List Shuffler

Paste names, raffles, or contestant lists to pick unbiased random winners or randomize seating and tournament brackets.

Frequently Asked Questions

Our tool supports safe integer ranges between -9,007,199,254,740,991 and 9,007,199,254,740,991 (JavaScript Number.MAX_SAFE_INTEGER). For batch quantities, you can generate up to 10,000 numbers in a single instant click.

No. 100% of the computations, seeds, and generation history occur locally in your browser session. No data, queries, or output arrays are ever sent over the network.

When calculating rand % range from a 32-bit integer space (0 to 4,294,967,295), any numbers exceeding the largest exact multiple of the range create a slight statistical bias toward lower numbers. Rejection sampling immediately discards values in that tail threshold and draws a fresh cryptographic integer, guaranteeing mathematical uniformity.

42
Press [Space] to Roll again • [Esc] to Close
Action completed successfully