CalcaTools

Random Decimal Generator

Generates cryptographically secure random decimal numbers in any range, with 0–10 decimal places, up to 500 at a time.

Last updated: June 2026 · Free · No sign-up required

Results

Enter values above and click Calculate to see your result instantly.

Quick reference

RangeDecimalsExample output
0 – 120.37, 0.82, 0.05
0 – 1017.4, 2.9, 9.1
−5 – 53−2.118, 4.07, 0.556
1 – 100042, 7, 89 (integers)

Interpretation guide

NeedSettings
Probabilities for simulations0–1 with 2–4 decimals
Random prices / amountsYour range with 2 decimals
Monte Carlo samplesRange of the variable, 4+ decimals
Random integersSet decimal places to 0

Formula & methodology

Formula: value = min + (max − min) × U, with U drawn uniformly from [0, 1) via crypto.getRandomValues

  1. Set the minimum and maximum of your range — negatives and decimals are allowed.
  2. Choose how many decimal places each number should keep (0 turns the tool into an integer generator).
  3. Choose how many numbers to draw, up to 500.
  4. Each draw maps a cryptographically secure 32-bit value into your range, then rounds to your precision.

Worked example: 5 numbers between 0 and 10 with 2 decimals might return 3.71, 8.24, 0.55, 9.10, 4.66 — every value in range, every value with exactly two decimals.

Frequently asked questions

How does the generator produce random decimals?
It draws 32-bit values from the browser's crypto.getRandomValues — a cryptographically secure source — scales them into your min–max range, and rounds to your chosen precision.
Are the numbers truly random?
They are cryptographically secure pseudo-random: unpredictable in practice and far stronger than Math.random(). For lotteries, simulations and sampling they are more than sufficient.
Can it generate random integers too?
Yes — set decimal places to 0 and the output rounds to whole numbers within your range.
Can the same number appear twice?
Yes, draws are independent (sampling with replacement), so duplicates are possible — increasingly likely with narrow ranges or low precision. Use a random sample generator for unique picks.
Is the endpoint included in the range?
The raw draw lands in [min, max); after rounding, the displayed value can equal the maximum (e.g. 9.9996 → 10.00 at two decimals), so treat both ends as reachable.