For fun only — not certified for legally binding draws.

Lucky picks.
Built fairly.

Powerball, Mega Millions, EuroMillions, UK Lotto, or any custom format. Multiple lines per click, sorted ascending, bonus balls in red. Cryptographically random under the hood.

Cryptographic RNG No replacement within line Shareable URL
Press generate to draw your numbers.
Lines & custom format

About this generator

Picking lottery numbers has two camps. Camp A picks birthdays, anniversaries, and door numbers — meaningful numbers, almost always under 31, almost always clustered in the lower half of the grid. Camp B grabs whatever the cashier's terminal spits out as a Quick Pick. Camp A is sentimental and shares prizes far more often when they win, because a million other people also picked their birthdays. Camp B is statistically better, but trusts the terminal.

Important: these picks are for personal entertainment only. They are not legally binding, not notarized, and not certified for any regulated draw, audit, or sweepstakes. If you run a lottery, raffle, or anything with legal weight, use a notarized provider like random.org.

This tool is a third option. It uses your browser's crypto.getRandomValues — the same source banks and password managers rely on — with rejection sampling, so every number in the pool has the exact same chance of coming up. There's no terminal to trust, no patterns to fall into, no clustering toward birthdays. Within a single line, numbers are drawn without replacement (just like a real lottery), and bonus balls come from a separate pool with their own range.

Five formats are built in. Powerball (5 of 69 + 1 of 26), Mega Millions (5 of 70 + 1 of 25), EuroMillions (5 of 50 + 2 of 12), UK Lotto (6 of 59), and Custom for any other format — Saturday Lotto, Lotto Max, your office pool's quirky rules, anything with a main pool and an optional bonus pool. The presets switch the disabled fields automatically; the Generate button knows the difference.

What people actually use it for: weekly draws where they don't want to think about it, office lottery pools where a shareable URL keeps everyone honest, gift surprise picks on birthdays and gag tickets, and statistical demos where a teacher needs a fair draw on the projector. None of these require certified randomness — for everything else, see the callout. If you want fully editable fair draws (any range, no replacement, with weights), the Number Generator covers it.

What people use it for

Five places this tool earns its keep.

Weekly draws

One bookmark, your preferred preset, generate a fresh line every Friday before the cutoff. The URL keeps the format so you don't have to reset it each week.

Office pools

Pool organizers send the same URL to ten coworkers. Everyone lands on the same preset, gets their own picks, screenshots, hands in. No ambiguity about who picked what.

Gift surprise tickets

Buying a lottery ticket as a stocking stuffer or birthday gag? Pick the numbers here so they feel chosen, not pulled from a register tape. Photo of the screen + the ticket = better gift.

Classroom demos

Probability lessons, statistics workshops, "what are the odds" demos. Project the page, generate twenty lines, count overlaps — instant lesson on why combinations are large.

Avoiding shared prizes

If you're going to play, pick numbers no one else picks. Random picks above 31 reduce the chance of splitting jackpots — won't change your odds, will change your share if you win.

Custom formats

Saturday Lotto, Set for Life, Lotto Max, the bingo at your retirement community. The Custom mode handles any "N of M, plus K of L" format you can describe.

How it works

The picking

For each line, we build an array [1..max] for the main pool, then run Fisher-Yates partial shuffle backed by crypto.getRandomValues with rejection sampling. We swap the first k positions with random later positions, then take the first k as our draw — that's drawing without replacement, mathematically equivalent to a physical machine that doesn't put the ball back.

The bonus pool

If the format has a bonus pool, we repeat the same partial shuffle on a fresh [1..bonusMax] array. Bonus numbers are drawn independently of the main numbers — a Powerball drawing of 7 doesn't prevent a main 7, just like in the real game.

Why rejection sampling matters

A naïve random % N would slightly favor lower numbers when N doesn't divide evenly into 2³². Across thousands of plays, that bias becomes visible. We discard out-of-range draws and re-roll, so every number in the pool is exactly 1/N probable. The math is overkill for one ticket and table-stakes for honest software.

State & sharing

Preset, line count, and any custom config live in the URL query string and mirror to localStorage. Loading the URL anywhere recreates the exact format. The last 10 line-batches are kept locally so you can compare.

Drop this generator anywhere.

Lottery blogs, classroom probability lessons, office pool pages — paste one line of HTML and the tool just works. Preset travels through the URL.

Embed docs →
<iframe src="https://randomgen.net/lottery/embed/"
  width="100%" height="480"
  loading="lazy"></iframe>

Common questions

Can I use these numbers to play a real lottery?

You can fill in your ticket with these numbers, sure — that's what most people do. But the picks themselves are not legally certified random. For most home use that's fine. For anything legally binding (operator-side draws, regulated sweepstakes, statutory audits), use a notarized provider like random.org.

Which lottery formats are built in?

Powerball (5 of 69 + 1 of 26), Mega Millions (5 of 70 + 1 of 25), EuroMillions (5 of 50 + 2 of 12), UK Lotto (6 of 59), and Custom where you set main count, main max, bonus count, and bonus max yourself. Switch presets and the disabled fields update.

Are duplicate numbers possible within one line?

No. Real lotteries draw without replacement (a ball comes out and stays out), so we do the same. Within the main pool and within the bonus pool, every number in one line is unique. Across lines, repeats are allowed because real draws are independent — line 2 doesn't know what line 1 picked.

Why are bonus numbers shown differently?

In Powerball, Mega Millions, and EuroMillions the bonus ball is drawn from a separate pool with different odds. We tint the bonus circle in red so you can copy your ticket onto a slip without confusing the columns. UK Lotto has no bonus, so all six balls are styled the same.

Are these numbers more likely to win?

No. No method increases your odds of winning a fairly run lottery — that's the definition of a fair draw. What this tool does is save you from picking the same patterns most people pick (birthdays under 31, the lower half of the grid, "lucky" sequences). If you do win with random numbers, you're statistically less likely to split the jackpot with someone else who picked the same pattern.

Can I share a specific lotto setup?

Yes. The page URL captures the preset and any custom config. Send the link to family or office pool members and everyone lands on the same setup. Hit Generate and the picks are fresh — the format stays.

Is there a daily limit?

No. You can generate any number of lines as many times as you want. Each generation costs nothing on our side and takes microseconds in your browser. If you want a thousand lines for a statistical demo, set the line count to 20 and click Generate fifty times — or email [email protected] for a bulk endpoint.