Random Number Generator

Generate cryptographically random numbers in any range — single picks, unique draws, sorted lists.

🔒 100% private — files are processed on your device and never uploaded to any server.

Genuinely random numbers, on demand

Pick the giveaway winner. Draw lottery-style numbers without repeats. Assign participants to test groups. Generate sample data, dice rolls, raffle tickets, a random PIN range. Humans asked to “pick a random number” reliably fail (we avoid round numbers, repeat patterns, favour 7), and spreadsheet RAND() functions are predictable pseudo-randomness. This generator draws from the browser's cryptographic random source — the same machinery that secures TLS — with the practical options real draws need: ranges, batch counts, uniqueness, sorting.

How to generate random numbers

  1. Set the minimum and maximum — both inclusive, negatives welcome.
  2. Choose how many numbers (1–1000).
  3. Tick No repeats for draw-without-replacement (winners, lottery picks); tick Sort for an ordered list.
  4. Click Generate, copy the result.

With or without repeats: the distinction that defines the draw

Independent draws (repeats allowed) model dice: each number is fresh, duplicates legitimate — right for simulations, sample data, “roll a d20”. Unique mode models pulling tickets from a hat: once drawn, gone — mandatory for prize draws where one person can't win twice, and for selecting n distinct items from a list. Unique mode uses a partial Fisher–Yates shuffle over the range, giving every possible combination exactly equal probability — and the tool sanity-checks that you haven't asked for 50 unique numbers from a range of 20.

Running a defensible giveaway

  • Number the entrants (the comment list, the signup sheet) 1 through N, visibly.
  • Announce the method first: “one unique draw, 1–214, this tool” — committing before drawing is what makes it fair and look fair.
  • Draw with No repeats on (winner + backups in one batch), screenshot the result.
  • Cryptographic randomness matters here: nobody — including you — can predict or reproduce the draw, which is exactly the property a contested giveaway needs.

Other lives this tool leads

A/B assignment: generate one number per participant (1–2, repeats on) for unbiased grouping. Test data: a thousand values in any range, sorted or raw, pasted straight into fixtures. Decision duty: ranges of 1–6 replace lost dice; 1–100 settles “percent chance” debates; one draw from 1–N picks tonight's restaurant from the list. Sampling: unique mode selects which 20 of 500 records get the manual audit, bias-free.

Inclusive ranges, honest mathematics, local generation — randomness as a utility, two clicks away.

Quick reference

PropertyDetail
RangeAny integers, min–max inclusive, negatives OK
Batch1–1000 numbers
Unique modeDraw without replacement (Fisher–Yates)
SortingOptional ascending sort
Randomnesscrypto.getRandomValues — not Math.random
Fair useGiveaways, sampling, assignment, simulation
Processing100% in-browser

Frequently asked questions

Are the min and max values included in the results?

Yes — both ends are inclusive. A 1–10 range can produce both 1 and 10. For “under 100” semantics, set the max to 99.

What's the difference between this and Excel's RAND()?

Source quality. Spreadsheet functions use predictable pseudo-random algorithms — fine for rough work, inappropriate for contested draws. This tool uses the browser's cryptographic source, which is unpredictable even in principle.

How do I pick 3 winners from 200 entries fairly?

Range 1–200, count 3, No repeats ON, generate once. The first number is the winner, the next two are ordered backups. Announce the method before drawing and screenshot the result for transparency.

Why can't I generate 50 unique numbers between 1 and 20?

A range of 20 contains only 20 distinct values — drawing 50 without repeats is mathematically impossible, and the tool says so rather than silently repeating. Widen the range or lower the count.