User Rating 0.0
Total Usage 0 times
Presets:
Minimum number in pool
Maximum number in pool
How many numbers to choose
Algorithm for number selection
Total simulated draws
Consecutive hits to lock a number
Is this tool helpful?

Your feedback helps us improve.

About

Lottery number selection without statistical rigor is equivalent to discarding money. This generator applies four distinct algorithmic strategies to surface numbers from a uniform random distribution powered by the Web Crypto API (crypto.getRandomValues). The Draw mode tallies frequency across N simulated draws. The Accumulator mode weights consecutive appearances exponentially by a configurable factor f, producing scores that grow as 1 + f + f2 + … for each unbroken streak. The Max Accumulator variant re-ranks by longest streak first, score second. The Minimum Consecutive mode draws indefinitely until a ball achieves minCon consecutive hits, a process whose expected runtime grows exponentially with the pool size. This tool does not predict winning numbers. No algorithm can overcome the inherent entropy of a fair lottery draw. What it does provide is a repeatable, auditable, non-biased selection process that eliminates human pattern-seeking tendencies.

lotto lottery number generator random numbers lottery picker accumulator lucky numbers

Formulas

The jackpot odds for a standard lottery are computed via the combination formula. Given a pool of n balls from which k are drawn:

Odds = 1C(n, k) = k! (n k)!n!

In Accumulator mode, the score S for a ball with a consecutive streak of length c is:

S = c1i=0 fi = 1 + f + f2 ++ fc1

where f = 100 (default accumulator factor). When the streak breaks, the score resets to 1 on the next appearance. In Minimum Consecutive mode, the expected number of single draws E before any one ball from a pool of n achieves m consecutive hits is approximately:

E nm

This exponential growth is why minCon values above 6 - 7 for pools of 50+ balls can require billions of iterations. The generator caps computation time to prevent browser lockup.

Where: n = total balls in pool, k = number of picks, f = accumulator multiplier factor, c = consecutive streak length, m = minimum consecutive target, S = accumulated score.

Reference Data

LotteryMain RangeMain PicksBonus RangeBonus PicksOdds (Jackpot)
UK Lotto1 - 596 - - 1 in 45,057,474
EuroMillions1 - 5051 - 1221 in 139,838,160
US Powerball1 - 6951 - 2611 in 292,201,338
US Mega Millions1 - 7051 - 2511 in 302,575,350
UK Thunderball1 - 3951 - 1411 in 8,060,598
UK Set For Life1 - 4751 - 1011 in 15,339,390
Irish Lotto1 - 476 - - 1 in 10,737,573
Canadian Lotto 6/491 - 496 - - 1 in 13,983,816
Australian Powerball1 - 3571 - 2011 in 134,490,400
German Lotto 6aus491 - 4960 - 911 in 139,838,160
French Loto1 - 4951 - 1011 in 19,068,840
Spanish El Gordo1 - 5450 - 911 in 31,625,100
South Africa Powerball1 - 5051 - 2011 in 42,375,200
Brazil Mega-Sena1 - 606 - - 1 in 50,063,860
Japan Loto 61 - 436 - - 1 in 6,096,454

Frequently Asked Questions

The accumulator factor (default 100) creates exponential separation between balls with different streak lengths. A ball picked 3 times consecutively scores 1 + 100 + 10,000 = 10,101, while a ball picked 4 times scores 1,010,101. This means a single additional consecutive pick outweighs hundreds of shorter streaks. Lowering the factor to 10 or 2 produces more moderate weighting, allowing frequency to compete with streaks.
In a pool of n balls, the probability of any specific ball being picked consecutively m times is (1/n)^m. For n = 59 and m = 6, that is approximately 1 in 42 billion per starting draw. The generator must repeat draws until this event occurs naturally. The tool enforces a maximum iteration cap (configurable up to 500 million) and reports if a pick could not be resolved within that budget.
The generator uses the Web Crypto API (crypto.getRandomValues), which provides cryptographically secure pseudo-random numbers sourced from the operating system's entropy pool. This eliminates modulo bias by using rejection sampling: values outside a uniform range boundary are discarded and re-drawn. This is stronger than Math.random(), which uses a PRNG seeded from a single timestamp.
Accumulator sorts results solely by total accumulated score. A ball with many short streaks (e.g., five streaks of 2) can outscore one with a single longer streak (e.g., one streak of 3) if the short streaks sum higher. Max Accumulator changes the primary sort key to the peak consecutive streak length, using score only as a tiebreaker. This favors balls that demonstrated the longest single run of consecutive draws.
The algorithms are functionally identical: draw tallying, accumulator scoring with configurable factor, max-accumulator dual-sort, and minimum-consecutive termination logic. However, results will differ between runs because both implementations use non-deterministic random sources. The Node.js version uses crypto.randomInt; this browser version uses crypto.getRandomValues with equivalent uniform distribution properties.
More draws produce more statistically stable rankings. For a pool of 59 balls with 6 picks, 10,000 draws produces approximately 1,000 picks per ball on average - enough for frequency patterns to emerge from the random noise. For accumulator modes, 50,000-500,000 draws allow longer consecutive streaks to develop. The tool defaults vary by preset but you can increase draws at the cost of computation time.
No. Each run is independent. Overlapping numbers between runs is expected by chance (with 6 picks from 59, any two random sets share about 0.6 balls on average). Combining runs does not reduce the combinatorial odds of the actual lottery draw. The tool is a selection mechanism, not a prediction engine.