PICKMYSIX
Pick my numbers Pick six

How lottery draws are actually made

Almost every picture of a lottery draw shows a transparent drum with numbered balls tumbling inside it. That is how most draws work. It is not how all of them work, and the games that do it differently are not doing it worse.

Three ways, among the games we cover

How each game we hold is drawn.
MethodGames
A drum full of balls UK Lotto, EuroMillions, Thunderball, Set For Life, US Powerball, Mega Millions, Irish Lotto, La Primitiva, Bonoloto, El Gordo, Loto 6, Loto 7
A certified random number generator Lotto 6/49, Lotto Max
Two cages of digits Mega-Sena

The drum

A gravity-mix or air-mix machine holds a full set of numbered balls. Air-mix blows them around a chamber and lets one at a time escape into a tube; gravity-mix uses two arms turning in opposite directions. The balls are weighed to a tolerance, the sets are rotated between draws, and both the machine and the ball set are logged.

The UK publishes that log. Every result carries which drum drew it and which ball set was loaded — 4 machines and 8 ball sets across the UK Lotto draws we hold. We tested them against each other, because the data makes it possible and almost nobody has.

The certified generator

Lotto 6/49 and Lotto Max have used a certified random number generator since 14 May 2019. There are no balls. There is no drum. The televised draw shows numbers resolving on a screen because that is what actually happens.

This surprises people and it is worth being clear about why it should not worry anyone. A certified generator is not a worse draw than a drum; it is a different set of things that could go wrong. A drum can be beaten by a ball that is fractionally heavier than its neighbours. A generator can be beaten by a bad seed or a weak algorithm. Both are addressed the same way — by independent testing, certification and audit — and neither is inspectable by watching it on television.

The reason we care is narrower and more concrete: showing a ball drum for a draw that has none would be a factual error, on a site whose entire argument is factual accuracy. So we do not.

The digit cages

Mega-Sena does something different again. Each number is drawn as two digits from two separate spinning cages — a tens cage and a units cage — which combine into the number. It is not a sixty-ball drum, and it looks nothing like one.

It is also one of the few games whose operator publishes the order the numbers actually came out in, rather than the sorted line everyone quotes. So does Spain, from a drum — which is worth saying, because the two facts are unrelated and it would be easy to assume the sequence is a consequence of the cages.

Across our whole archive, 4 of 15 games publish a draw order: La Primitiva, Bonoloto, El Gordo, Mega-Sena. It is a choice each operator makes, not a property of the apparatus.

Does the method change the odds?

No, and this is the part worth being precise about. The odds come from the matrix — how many numbers are drawn from how many — and nothing else. UK Lotto draws 6 from 59, and that would produce the same jackpot odds whether the numbers came out of a drum, a generator or a hat.

What the method changes is how a draw could fail, and therefore what auditing it looks like. That is a real difference and it is not one that affects your ticket.

And the generator on this site

Ours is not a lottery draw and does not pretend to be one. It is a random number generator with an animation attached, and the two are separate in a way worth stating: the numbers are decided the instant you press the button, before a single ball has moved. The animation is playback. It cannot change the result, and skipping it changes nothing.

The numbers come from crypto.getRandomValues, the browser's cryptographically secure source, rather than Math.random. And they are drawn with rejection sampling rather than a modulo, which is the detail almost every implementation gets wrong: taking a 32-bit random value modulo 59 hands the first few numbers one extra chance each, because 232 is not a multiple of 59. Ours discards any value in that overhang and draws again.

That is a claim, so it is tested rather than asserted. tests/e2e/randomness.spec.ts runs the generator's own code 20,000 times, checks all 59 numbers come up equally often, drives the rejection branch directly to prove it is there, and runs the same check against a deliberately biased sampler to prove the check can fail.

Try it, and remember what it is: a way of choosing that removes you from the decision. It cannot improve your odds, because nothing can.

Method

The draw method for each game is recorded in our game registry and taken from the operator's own published description of its draw procedure. Where an operator changed method — as Canada did in 2019 — the date is recorded with it.