Drawn
--
Free · Instant · No signup
Draw unique integers between min and max while skipping a comma-separated exclude list.
Page updated 2026-09-04.
Drawn
--
Pool size
--
From a range of 1-50 with 7 and 13 excluded, the pool size is 48 numbers (50 total minus the 2 excluded), and drawing 6 produced 20, 14, 9, 3, 47, 49 in this run -- a different random result every time the generator runs.
Excluded numbers are removed from the pool before drawing begins, not filtered out afterward -- this ensures the exclusions don't affect the probability distribution of the remaining numbers or require re-drawing if an excluded number happens to come up, since it was never actually in the pool to begin with.
6 numbers drawn from a 48-number pool means each specific number has a 6/48 (12.5%) chance of being included in any given draw, and because this draws without replacement, no number can appear twice in the same result set.
Fisher-Yates shuffle with crypto.getRandomValues. Order is shuffled each run. The Fisher-Yates shuffle is a well-established, unbiased algorithm for randomly ordering a set of items -- unlike some naive shuffling approaches that can introduce subtle bias toward certain orderings, Fisher-Yates guarantees every possible ordering is equally likely.
Pairing that algorithm with crypto.getRandomValues() (rather than Math.random()) for the underlying randomness means the actual random values driving the shuffle come from a cryptographically secure source, not a simpler pseudo-random generator that could theoretically be predictable under some circumstances.
Because the result is a genuine shuffle followed by taking the first 6 items, the order these 6 numbers are presented in is itself random and meaningful -- rerunning the generator with identical settings would very likely produce both a different set of numbers and a different order.
For picking one random item from a named list (like names or options) rather than numbers from a range, the Random List / Name Picker covers that related need.
For a memorable, secure random passphrase rather than random numbers, the Diceware Passphrase Generator uses a similar quality of underlying randomness for a different purpose.
Pool size = total numbers in the range (1 to 50, inclusive, which is 50 numbers) minus the excluded numbers (7 and 13, 2 numbers) = 48. Excluded numbers are removed before the draw, not filtered out afterward.
No. This draws without replacement -- each number in the pool can appear at most once in the result set, which is why a pool of 48 numbers drawing 6 always produces 6 genuinely distinct values.
Fisher-Yates shuffle with crypto.getRandomValues. Order is shuffled each run. It guarantees every possible ordering of the pool is equally likely to occur, avoiding the subtle bias toward certain orderings that some naive or improperly implemented shuffle algorithms can introduce.
Fisher-Yates shuffle with crypto.getRandomValues. Order is shuffled each run. crypto.getRandomValues() draws from a cryptographically secure random source, providing higher-quality, less predictable randomness than Math.random(), which matters for use cases like giveaways or drawings where fairness and unpredictability are genuinely important.
Almost certainly not. Each run performs a fresh random shuffle of the pool, so both the specific 6 numbers drawn and their presented order will very likely differ from any previous run with identical range and exclusion settings.
Age Calculator Exact years, months, days, and hours.
Reading Time & Speaking Speed Calculator Word count plus read and speak minutes from a passage and two words-per-minute speeds.
Word Frequency Counter & Density Inspector Top tokens of three or more letters with counts and percent density in the passage.
NATO Phonetic Alphabet Translator Spell letters and digits as Alpha, Bravo, Charlie through Zulu and Zero through Nine.