Skip to main content

Lottery Number Generator

Pick unique integers from a range you set. The default 6-from-49 layout is a common example, not an official game. Luck is not modeled.

Rated 4.7 out of 5 based on 412 reviews

How to draw lottery-style numbers

  1. Set the inclusive pool. Leave 1 and 49 if you only want a 6-from-49 example, or change both ends for another game.
  2. Set how many numbers to take. Unique draws cannot exceed the size of the pool.
  3. Leave Unique on for sampling without replacement. Leave Sort on if you want the line in order.
  4. Generate. Copy the line if you need it. This page does not buy a ticket and does not raise anyone's odds.

Lottery-style integer draw

Unbiased sample of integers from a user-set range

Entropy sourcecrypto.getRandomValues with rejection sampling
Default example6 unique numbers from 1 through 49
ReplacementWithout replacement when Unique is on
Luck modelNone. Lucky numbers are a label, not a statistic this page computes
Not an operatorNot a national lottery, Mega Millions, or official draw API
Bias controlRejection sampling, not value modulo n

6 from 49 is only an example

Many classroom sheets and practice tickets use six numbers from 1 through 49. That is why the form starts there. Your game may use 1-59, 1-70, extra balls, or a different count. Change Minimum, Maximum, and How many numbers to match the pool you actually play. The generator does not know game rules, jackpots, or closing times.

Unique numbers without replacement

With Unique on, each integer can appear once in the same draw. That matches a typical lottery ticket line: you do not write the same main number twice. The page samples without replacement until it has the count you asked for. If Unique is off, repeats can appear. Sort arranges the finished list from smallest to largest so it looks like a printed ticket. Sorting does not change which numbers were drawn.

This is not a national lottery

CZNull does not run a lottery and does not talk to lottery APIs. A fair integer sample in your browser is not the same event as an official draw. Generating a line here does not enter you in Mega Millions, EuroMillions, or any state game. It also does not improve the odds of any ticket you buy later. The chance of a real jackpot stays whatever the operator published for that game.

Web Crypto and rejection sampling

Each integer from minimum through maximum inclusive is equally likely. Sampling uses crypto.getRandomValues with rejection so the result is not biased by a naive modulo. That is a CSPRNG in the page, not a certified hardware TRNG and not Math.random. For a single integer with a different default range, use the random number generator. For dice faces instead of a ticket line, use the dice roller.

Lucky numbers are not a model

People search for lucky numbers. This page still draws uniform integers. It does not score birthdays, dreams, or hot and cold history. If you type a personal range, that is your choice, not a prediction. For a plain ordered list with no randomness, use the number sequence page.

Lottery number questions

Is this Mega Millions or a national lottery?
No. It is a local integer picker. It does not connect to any lottery operator and does not sell tickets.
Does generating numbers here improve my odds?
No. A fair sample does not change the published odds of any official game. Buying a ticket is a separate event.
Why does it start at 6 numbers from 1 to 49?
That range is a common example people recognize. Change the minimum, maximum, and count to match the pool you actually use.
Are lucky numbers used?
No. Luck is not modeled. Each remaining integer in the range is equally likely when Unique is on.
What does Unique do?
Unique draws without replacement, so a number cannot repeat in the same line. Turn it off only if repeats are allowed.
Is this Math.random?
No. Integers come from Web Crypto with rejection sampling so the range is not biased.
What if I ask for more unique numbers than the pool?
You get an error. Shrink the count or widen the range.