How to pick random numbers
Enter the smallest and largest allowed values, then generate your result. Both endpoints are included, and negative numbers work too. Open more options to request several numbers and copy the list into a document or spreadsheet.
Draw without repeats
Enable No repeated numbers to make every value unique within one batch. A range of 1 to 10 contains ten possible values, so a unique batch can contain at most ten numbers. Every new draw starts with the full range again.
Reading and copying a batch
Numbers appear in the order they were drawn, not sorted. The result line repeats the range and the first five values, and the full batch is listed below it. Copy results places every number on the clipboard separated by commas, which pastes neatly into a message or document; in a spreadsheet, split the text into columns by comma, and sort the values there if you need them in order. Only whole numbers are produced, so a draw outside the allowed limits or with a decimal point shows an error and moves focus to the field that needs fixing.
Raffles, giveaways and other uses
To draw a winner from a numbered list, set the range to match the list, for example 1 to 250, and generate one number. For first, second and third place, request three numbers with No repeated numbers turned on, so the same entry cannot win twice; the order of the batch gives you the ranking. The generator also helps with picking random rows for a sample, choosing questions from a numbered set or deciding who goes first. For tabletop rolls with a total, the Dice Roller fits better; to pick from names rather than numbers, use a custom wheel or the Random Team Generator.
Why every number has the same chance
The browser supplies 32-bit cryptographic random values. A simple remainder calculation would slightly favour some numbers whenever the size of the range does not divide 2³² evenly, so values from that uneven tail are rejected and drawn again. Batches without repeats use a partial Fisher–Yates shuffle that only remembers the numbers already chosen, so even a range of two billion values stays fast. If secure randomness is unavailable, the page shows an error instead of a weaker result.

