{{ primaryActionStatusText }}
Random number generator inputs
Use Custom for manual settings, or pick dice, lottery, percent, or bucket defaults.
Enter inclusive min and max values; swap them if the draw range is reversed.
Min Max
Choose Integer for whole-number draws, or Decimal when fractional values are valid.
{{ normalizedQuantity }} values
Enter 1-1000 values per draw; unique settings may require a large enough pool.
{{ warningText }}
{{ validationError }}
Choose Uniform for unbiased draws; other profiles tilt toward low, high, center, or edge values.
Use Secure for one-off sampling; use Seeded replay when the same sequence must return later.
Enter up to 64 characters, such as qa-run-42, or randomize a new replay seed.
Use 1 for every integer, 5 for multiples of five, or decimals such as 0.25.
Choose 1-6 places; higher precision creates more possible stepped values.
{{ biasStrength }}%
0 is no tilt; 100 gives the selected bias profile its strongest effect.
Allow repeats for independent picks; choose Unique within draw for sample-without-replacement.
Turn on when each value should appear only once across repeated draws.
{{ sessionNoRepeat ? 'On' : 'Off' }}
Keep draw order for audit trails, or sort ascending/descending for easier reading.
Enter comma, space, or newline-separated values, for example 7, 13, 21.
Enter values to block, separated by commas, spaces, or new lines.
Run Values Profile Engine Timestamp Copy
{{ row.index }} {{ row.values }} {{ row.profile }} {{ row.engine }} {{ row.timestamp }}
No samples yet. Draw your first run above.
Metric Value Copy
{{ row.label }} {{ row.value }}

            
Customize
Advanced
:

Random numbers can look interchangeable until the rules of the draw are written down. A die roll, a lottery-style pick, a decimal simulation value, and a repeatable quality-assurance sample all produce numbers, but they do not answer the same question. The useful setup defines which values are eligible, whether repeats are allowed, and whether the draw should be fair or intentionally weighted.

The eligible domain is the full set of values that can be selected. For whole numbers, that usually means every integer between the minimum and maximum after exclusions. For decimal work, the step and precision matter as much as the endpoints because they decide how many candidate positions exist. A range from 0 to 1 by 0.1 has 11 possible values, while 0 to 1 by 0.000001 has more than a million.

Eligible value pool, selection rule, draw sequence, and pattern check for a random draw.

Replacement is the next decision. Drawing with replacement means each pick starts from the same pool, so repeats are possible and often normal. Drawing without replacement removes a value after it is selected, either for the current run or for a longer session. That difference changes the odds after every pick and changes how repeat rate should be read.

Core random draw terms and why they matter
Term Plain meaning Why it matters
Eligible domain The values left after range, step, precision, and exclusions are applied. A draw cannot select a value outside this pool.
Replacement Whether a selected value returns to the pool for later picks. It controls whether repeats are expected, impossible, or session-limited.
Seed A starting value for a deterministic sequence. It makes a sequence repeatable for testing, but not freshly unpredictable.
Weight A multiplier that gives some positions more chance than others. A biased profile should produce a biased pattern, so even-looking results are not always the target.

Short random sessions are easy to overread. Clusters, gaps, and repeats can appear in a fair process, especially when the sample is small compared with the eligible domain. A diagnostic such as mean drift or chi-square can flag an unusual session, but it cannot prove fairness, certify a draw, or explain the cause by itself.

The right random setup depends on the job. Games and practice exercises often need convenient local draws. Testing work often needs the same sequence to appear again. Security-sensitive or prize-linked decisions need stronger governance than a browser utility can provide, including documented rules, independent controls, and an audit process outside the draw itself.

How to Use This Tool:

Start with the values that should be eligible, then choose how repeatable or biased the draw is allowed to be. Validation messages matter because range size, uniqueness, and decimal precision can make some requests impossible.

  1. Choose a Preset when the job matches a common shape such as Dice d6, Lottery pool, Percent scale, or A/B group IDs. Use Custom when you need to set the pool yourself.
  2. Set Inclusive range, Number mode, and Quantity per draw. Integer mode uses whole-number candidates. Decimal mode uses the selected decimal places and step to build fixed-precision candidates.
  3. Open Advanced when the draw needs a specific Distribution profile, RNG engine, Step, decimal precision, or repeat policy. Keep Uniform baseline when every eligible value should have the same chance.
  4. Use Secure (Web Crypto) for fresh browser-based draws. Use Seeded replay when the same seed and settings must recreate a sequence for QA, demonstrations, or repeatable examples.
  5. Set Unique policy to Allow repeats for independent picks, or Unique within draw when duplicates must be blocked inside one run. Turn on Session no-repeat only when selected values should stay unavailable until you reset the session.
  6. Add Target watchlist or Exclude values only when those lists matter. If a warning reports ignored values, check the spelling, separators, and decimal precision before relying on watchlist hits or exclusions.
  7. Click Generate. If a red validation message appears, fix the named issue first, such as an empty domain, too many decimal positions, or a unique draw that asks for more values than remain.
    An eligible domain above 120,000 positions is blocked. Increase Step, narrow Inclusive range, or reduce decimal places before drawing again.
  8. Read Latest draw for the newest values, then use Draw Ledger, Bias Bench, Coverage Radar, and JSON when you need history, diagnostics, a distribution view, or a structured record.

Interpreting Results:

Latest draw is the current outcome. The run count and value count show how much session history exists, while Coverage reports the share of eligible values that have appeared at least once. Low coverage is normal for a large range or a short session.

Bias Bench compares the observed session with the chosen distribution profile. Expected mean, observed mean, mean drift, mean z-score, chi-square, repeat rate, target hits, and the randomness verdict should be read together. A weighted profile changes the expected mean before the draw, so drift toward the favored area is not automatically suspicious.

Randomness verdict labels and interpretation
Verdict Trigger How to respond
Awaiting data No generated values are in the session. Generate at least one run before judging the pattern.
Within expected noise Mean z-score stays below 2 in absolute value, and any available chi-square p-value is at least 0.05. The session does not strongly disagree with the selected profile.
Monitor drift Mean z-score reaches 2 in absolute value, or chi-square p-value falls below 0.05. Review settings, exclusions, and sample size before treating the pattern as meaningful.
Investigate bias Mean z-score reaches 3 in absolute value, or chi-square p-value falls below 0.01. Do not rely on the session until the settings and draw history have been checked.

Coverage Radar compares observed hits with expected hits. Small integer domains show one bar per value. Larger domains and decimal domains are grouped into range segments, so use the chart to inspect the overall shape instead of the exact frequency of one value.

A clean verdict is not a certificate. It means the current session does not cross the tool's warning thresholds. For decisions where the record matters, keep the seed if seeded replay was used, keep the settings unchanged for comparisons, and save the ledger before resetting the session.

Technical Details:

A numeric random draw has two separate parts: building the candidate domain and selecting positions from that domain. The domain step comes first. Integer mode rounds the minimum upward and the maximum downward to whole numbers. Decimal mode scales values by the chosen precision, applies the step as an integer number of scaled units, and then converts selected positions back to fixed-decimal display values.

Exclusions are matched after scaling, so decimal precision affects whether typed exclusion and watchlist values land on the same candidate positions as the draw. Session no-repeat removes previously generated scaled values before the next draw. Unique within draw removes a selected value only for the remaining picks in that run.

Formula Core:

For a weighted profile, each eligible position receives a weight. The probability of selecting one position is its weight divided by the total weight of the current pool.

P ( di ) = wi j=1 N wj

Here d_i is an eligible position, w_i is its assigned weight, and N is the number of eligible positions after range, step, exclusions, and optional session filtering. Uniform baseline gives every position weight 1. Non-uniform profiles adjust the weight according to the position's location in the ordered domain and the distribution intensity.

Distribution profiles and their weighting behavior
Distribution profile Weight behavior Expected session pattern
Uniform baseline Every eligible position receives the same weight. Longer sessions should spread around the domain without a preferred area.
Favor lower values Earlier positions receive more weight as intensity rises. Observed mean tends to sit below the uniform midpoint.
Favor higher values Later positions receive more weight as intensity rises. Observed mean tends to sit above the uniform midpoint.
Favor center values Positions near the middle receive more weight. Middle values should appear more often than edge values.
Favor edge values Positions near the low and high ends receive more weight. The tails should receive more hits than the middle.

Secure mode maps browser-provided 32-bit random values into the current pool. When the pool size does not divide evenly into 232, values above the largest clean multiple of the pool size are rejected and drawn again. This rejection step avoids modulo bias. If the browser does not provide the cryptographic random source, the draw falls back to the browser's ordinary random function.

Seeded replay uses a deterministic sequence derived from the seed text. That makes it useful for repeatable testing, but the purpose is different from Secure mode. The same seed, settings, and draw order intentionally recreate the same sequence after the seed generator is reset.

Mean drift compares the observed session mean with the expected mean under the selected distribution profile. The mean z-score scales that drift by expected variance and sample size.

z = x¯ - μ σ2 n

In that equation, is the observed mean, μ is the expected mean, σ² is expected variance, and n is the number of generated values in the session. As n grows, the same mean drift becomes more meaningful because the expected standard error gets smaller.

The chi-square diagnostic compares observed counts with expected counts when the eligible domain contains 2 to 120 positions. The score uses the standard observed-minus-expected structure, then the p-value is approximated from the score and degrees of freedom.

χ2 = i=1 k ( Oi - Ei ) 2 Ei

O_i is the observed count for a value, E_i is the expected count from the selected profile, and k is the number of eligible positions included in the test. The p-value is a practical warning signal for this session, not an independent audit or a full randomness test suite.

Limitations and Privacy Notes:

The draw, diagnostics, chart data, and exports are built in the browser session. The tool is suitable for local selection, games, practice, sampling, and repeatable QA work, but it does not create a regulated raffle record or an independently certified random draw.

  • Quantity per draw is limited to 1 to 1000 values.
  • Decimal mode supports 1 to 6 decimal places.
  • The eligible domain can contain up to 120,000 positions.
  • Session history keeps the latest 1,500 runs.
  • Chi-square runs only when the eligible domain contains 2 to 120 positions.
  • Coverage Radar shows exact values only for integer domains of 32 values or fewer; larger domains are grouped into segments.
  • Random game outcomes from this utility have no monetary value and should not be used as a regulated gambling or prize-draw system.

Advanced Tips:

  • Keep Uniform baseline selected when each eligible value should have equal chance. Use Low-value, High-value, Center-value, or Edge-value bias only when a tilted distribution is the intended model.
  • Save the Seed only for replay work. A seeded sequence is useful for QA evidence, but it is intentionally repeatable.
  • Use Unique within draw for one run without duplicates. Use Session no-repeat only when values should remain unavailable across later runs until reset.
  • Match Step and Decimal places before entering exclusions or watchlist values, because decimal candidates are compared after precision scaling.
  • Read Bias Bench after enough values have accumulated. A single short run can show clusters or gaps even when the selected profile is behaving normally.
  • Use Coverage Radar for shape and coverage checks. Larger or decimal domains are grouped, so the chart is not an exact per-value audit in those cases.

Worked Examples:

Rolling a small game sample

Choose Dice d6 (1-6), leave Unique policy on Allow repeats, and generate 6 values. A Latest draw such as 2, 2, 5, 1, 6, 2 is not a problem because die rolls are independent by default. Bias Bench should be read across many runs before treating repeat rate or mean drift as meaningful.

Replaying a QA sample

Set Inclusive range to 1000 through 1999, set Quantity per draw to 20, choose Seeded replay, and enter a seed such as qa-pass-17. After generating, keep the seed with the Draw Ledger. Resetting the session and using the same settings and seed recreates the sequence, which makes a later regression check easier to compare.

Running a lottery-style pick

Select Lottery pool (1-49 pick 6). The preset uses integer values, 6 picks, Unique within draw, and ascending sort. Latest draw returns six distinct numbers in reading order. If Session no-repeat is also turned on, later runs remove previously seen values too, so the odds are no longer the same as a fresh lottery draw.

Fixing an oversized decimal domain

Decimal mode from 0 to 10 with 6 decimal places and a step of 0.000001 creates more than 120,000 candidates. The validation message reports that the eligible domain is too large. Increase Step to 0.001, narrow the range, or lower the decimal precision before generating again.

FAQ:

Does sorting change the odds?

No. Values are selected first and sorted afterward. Ascending or descending sort changes the display order in Latest draw and Draw Ledger, not the selected values.

Why did I get repeated numbers?

Repeats are expected when Unique policy is set to Allow repeats. Choose Unique within draw to block duplicates inside one run, or turn on Session no-repeat to keep used values unavailable across the current session.

Why does Seeded replay repeat the same sequence?

That is the purpose of Seeded replay. The seed creates a deterministic sequence, so use it for repeatable examples and QA evidence rather than for a fresh unpredictable draw.

What should I do if the eligible domain is too large?

Increase Step, narrow Inclusive range, reduce decimal places, or switch back to Integer mode. The draw is blocked when the domain would exceed 120,000 positions.

Why is chi-square sometimes unavailable?

The chi-square diagnostic runs only for eligible domains with 2 to 120 positions. Larger domains still show mean drift, coverage, repeat rate, and grouped Coverage Radar data.

Does the tool upload my generated values?

No uploaded draw record is created. Generated values, diagnostics, chart data, and exported files are built in the browser session.

Glossary:

Eligible domain
The values that remain available after range, precision, step, exclusions, and optional session filtering are applied.
Replacement
The rule that decides whether a selected value can be selected again.
Seed
A starting text value that recreates the same deterministic sequence when seeded replay is used with the same settings.
Distribution profile
The weighting pattern that decides whether values are treated evenly or tilted toward lower, higher, center, or edge positions.
Mean drift
The difference between observed session mean and expected mean under the chosen distribution profile.
Coverage ratio
The share of the eligible domain that has appeared at least once in the current session.
Chi-square goodness-of-fit
A count-based comparison between observed hits and expected hits when the eligible domain is small enough for the test.

References: