How this random number generator works
The generator uses crypto.getRandomValues with rejection sampling so each number in your selected range has the same chance of appearing. Nothing is sent to a server.
A random number generator returns one or more integers from a range you define, with every value in that range having an equal chance of being picked. This version runs entirely in your browser using crypto.getRandomValues with rejection sampling, which means there is no modulo bias when the range size is not a clean power of two and no network request is needed to produce a number. The inputs you type stay local to your device, and the result appears as soon as you press Generate.
Use it when you need a number that should not come from a habit or a guess. Common cases include drawing a raffle winner from numbered entries, choosing a seat or locker assignment, sampling rows from a spreadsheet, picking a question from a numbered worksheet, or selecting which player in a numbered list goes first. The Quantity field handles up to twenty numbers at a time, so a small lottery, a stand-in pick for a multi-round game, or a quick set of practice IDs all work in one pass.
The tool is built to be replayable. Both the range and the quantity are stored in the URL, so once a draw is set up you can share the link with a colleague, a classroom, or the rest of a group and everyone will see the same controls. Settings also persist between visits in your own browser, so a repeat task does not require typing the bounds again.