Random Number Generator
Draw whole numbers from an inclusive range, including negative values and reversed endpoints, using the browser’s cryptographic random source with rejection sampling. Generate 1, 5, 10, 50, 100 or 1,000 values, with independent draws or sampling without replacement. Whole-number endpoints must be within JavaScript’s safe-integer range, −9,007,199,254,740,991 to 9,007,199,254,740,991. Copy the list as comma-separated numbers, or use the separate dice-notation controls below.
Roll dice
Standard notation: 2d6, d20, 3d6+2.
Random number range examples
Both endpoints are included. Endpoints must be within the safe-integer range; fractional endpoints select only whole numbers inside. No repeats is per batch.
| Draw | Minimum | Maximum |
|---|---|---|
| One number from 1 to 30 | 1 | 30 |
| One number from 1 to 50 | 1 | 50 |
| A four-digit integer | 1000 | 9999 |
| A six-sided die | 1 | 6 |
| A percentage integer including zero | 0 | 100 |
Common questions
- Can I use custom ranges such as 1 to 20, 1 to 30, 1 to 50 or 1 to 1,000?
- Yes. Enter From and To; both endpoints are included. The existing 1 to 10, 1 to 100 and 1 to 6 pages are shortcuts. Other bounds use the same parent controls rather than duplicate pages. Reversed bounds are put in order; fractional bounds select only the whole numbers inside them. A range such as 0.1 to 0.9 has no whole numbers and is refused.
- Can I generate a list with no repeats?
- Use the No repeats page or switch on No repeats here. It samples without replacement within one batch, not across past batches. The requested count must fit the available range. Sorted changes the display order; it does not change which values were drawn. Copy all uses a comma and space between values.
- Can I generate four, six, ten or twelve digit integers?
- Use 1000 to 9999 for four digits, 100000 to 999999 for six, 1000000000 to 9999999999 for ten, or 100000000000 to 999999999999 for twelve. Wider ranges use two combined random draws so they do not hang beyond 2^32 possibilities. Whole integers have no leading zeros; Numeric String Generator preserves leading zeros when you need fixed-width digit text.
- Does this generate decimal values, seeded sequences or true hardware randomness?
- This tool outputs whole integers. Fractional endpoints bound those integers; they do not enable decimal output. There is no user seed or reproducible sequence and no hardware/noise-source connection. crypto.getRandomValues supplies a browser cryptographic pseudorandom generator. Unbiased mapping is separate from claiming a measured physical source of true randomness.
- Can I select from a supplied list or spin a numbered wheel?
- This page samples an integer interval. It does not accept a sparse supplied list or animate a wheel. Random Name Picker selects supplied entries and Spin the Wheel serves the wheel workflow; their inputs and output are separate from a contiguous numeric range.
- What dice notation is supported?
- Use d20, 2d6 or 3d6+2. Each die is independent. The controls accept 1 to 100 dice with 2 to 1,000 sides and a safe-integer modifier; the total must stay a safe integer. The Dice Roller utility has the dedicated dice interface.
- Can this generate lottery predictions or validated identifiers?
- No. Random integers do not predict lottery results or implement a named game’s multiple-pool rules. This does not create validated phone, IP, VIN, barcode or personal identification numbers. Numbered draws are generic local sampling, not an audited prize-draw record.
- Does it remember a preset range?
- Opening a preset keeps its named settings on screen without rewriting your saved choices. Explicitly changing one setting remembers only that key, so changing Sorted does not save the preset’s range over the range you last entered. Generated numbers are not stored.
Whole integers use the browser’s cryptographic random source and rejection sampling within safe-integer bounds. No repeats applies within one batch. Decimal output, user seeds and external randomness sources are not implemented.