Winner stories

Dipped a lucky set and it came in? Share it — every story here has been checked by a human before it shows up.

Lucky Dip

Pick a game below, take a dip. Every set comes out of a one-of-a-kind three-stage shuffle — never a boring Math.random().

Lucky Dip for every lottery

Every lottery below has its own generator and its own history, so your EuroMillions dips never get mixed up with your Lotto ones. dips whichever one is on screen.

Not a Math.random() wrapper

Most number pickers make one call to the browser's built-in random and hand you the result. Lucky Dip runs three techniques in sequence — a seeded SFC32 state machine, a φ-weighted distribution whose bias strength is itself random, and a Fisher–Yates shuffle with entropy injected at every swap.

See how it works

How Lucky Dip works

There's real engineering under the sparkle. Three techniques run in sequence — each feeding the next — so every dip depends on all of them, not one lucky roll.

01

SFC32 pseudorandom generator

A seeded 128-bit state machine. Each dip is seeded from a fresh blend of the clock, a high-resolution timer and the browser's crypto entropy, hashed with cyrb128. Every call advances four 32-bit registers through XOR shifts, rotations and modular addition — a deterministic but non-obvious stream that replaces Math.random() as the source for everything below.

02

Fibonacci-weighted distribution

Each candidate number gets a weight on a φ-based exponential curve (φ = 1.618…), weight = φ−k·x, biasing toward earlier values in the range. The bias strength k is itself drawn from SFC32 on every run, so the tilt is never the same twice — near-uniform one dip, steeper the next.

03

Fisher–Yates with entropy injection

A partial Fisher–Yates shuffle makes the pick, but each swap target isn't chosen uniformly — it's drawn from the φ-weights, with a fresh SFC32 jitter multiplied into every candidate's score first. That couples the weighting into the shuffle and breaks up the clustering a plain shuffle sometimes leaves behind. Picks are unique by construction.

Frequently asked questions

Why is it called Lucky Dip?

A lucky dip is the classic fairground and lottery move — reach into the tub and pull out a surprise. That's exactly what this does with numbers: one tap and you get a fresh, hand-picked-feeling set you didn't have to choose yourself.

What makes Lucky Dip different from a plain random picker?

Every dip runs three stages: SFC32 supplies the entropy, a φ-weighted curve biases the distribution (and randomises its own bias strength each run), and a Fisher–Yates shuffle with entropy injection makes the final unique selection — never a single Math.random() call.

Which lotteries can Lucky Dip pick numbers for?

EuroMillions, EuroMillions HotPicks, Lotto, Lotto HotPicks, Thunderball, Set For Life, Powerball, Mega Millions and EuroJackpot each get their own generator further up the page, with the right number of balls, the right range and the correct name for that game's bonus ball — Lucky Stars for EuroMillions, the Thunderball, the Life Ball, the Powerball, the Mega Ball.

Are the numbers truly random?

They are high-quality pseudo-random numbers, seeded afresh on every dip from the clock, a high-resolution timer and the browser's crypto entropy. It is built for everyday fun — not certified gaming or cryptographic use.

Is my data collected, and does it work offline?

The generator runs entirely in your browser — there's no account, and the numbers you dip never leave your device. Visits are counted with cookieless analytics, and ads are served by Google. The one thing that does reach a server is a Winner Story, and only if you choose to submit one. Lucky Dip installs as an app and the generator keeps working offline.