Random Generator
Free web tool: Random Generator
About Random Generator
The Random Generator is a versatile browser-based tool with three distinct modes: random number generation, random string generation, and random item picker. In number mode, you specify a minimum value, maximum value, and count, with an optional no-duplicates constraint enforced through a Fisher-Yates shuffle. Results update instantly when you click Generate.
String mode lets you compose random passwords and tokens by selecting which character classes to include — uppercase letters (A-Z), lowercase letters (a-z), digits (0-9), and special characters (!@#$%^&*()_+-=[]{}|;:,.<>?). You can set any length from 1 to 256 characters, and the generated string can be copied to the clipboard with a single click, making it ideal for password creation and API key generation.
Pick mode (also called lottery or raffle mode) accepts any list of text items entered one per line, then randomly selects the specified number of winners without replacement. The Fisher-Yates algorithm ensures each item has an equal probability of being selected, making it statistically fair for team draws, prize raffles, random assignment of tasks, or any situation requiring unbiased selection from a list.
Key Features
- Random number generation with configurable min, max, and count
- No-duplicates mode using Fisher-Yates shuffle for fair sampling without replacement
- Random string generator with per-class character set selection (uppercase, lowercase, digits, special)
- Configurable string length up to 256 characters for passwords and tokens
- One-click clipboard copy for generated strings
- Random pick / lottery mode for selecting N items from any text list without replacement
- 100% client-side — all randomness uses Math.random() in your browser, no server calls
- Dark mode support and mobile-responsive layout for use on any device
Frequently Asked Questions
How does the random number generator work?
In normal mode, each number is independently drawn using Math.floor(Math.random() * (max - min + 1)) + min, which gives a uniform distribution across the specified range. With no-duplicates enabled, the full range is built as an array and shuffled using the Fisher-Yates algorithm, then the first N items are taken as results.
Is the no-duplicates option truly fair?
Yes. The Fisher-Yates (Knuth) shuffle is an unbiased algorithm that gives every permutation of the array equal probability. Each number in the range has an exactly equal chance of appearing in any position, ensuring statistically fair draws without replacement.
How random is the generated string or password?
String generation uses Math.random() to select a character from the combined character set at each position. Math.random() in modern browsers uses a cryptographically seeded pseudo-random number generator (PRNG). For security-critical passwords, consider a dedicated password manager that uses the Web Crypto API (window.crypto.getRandomValues) for stronger randomness.
What special characters are included in string mode?
When the Special option is enabled, the character set includes: !@#$%^&*()_+-=[]{}|;:,.<>? — a common set compatible with most web service password requirements. Letters and digits are always safe; check the target service's password policy before using all special characters.
How does the Random Pick mode work?
You enter items one per line in the text area, then specify how many to pick. The tool builds an array of non-empty lines, then randomly selects N unique items by repeatedly choosing a random index and removing that item from the pool. This guarantees no item is picked twice in a single draw.
Can I use Pick mode for a lottery or team selection?
Yes. Pick mode is designed exactly for this use case. Enter all participant names, one per line, set the pick count to the number of winners or team slots, and click Pick. Each name has an equal probability of selection, making it fair for prizes, random team assignment, or rotating task allocation.
What is the maximum number of random numbers I can generate?
There is no hard-coded upper limit beyond what the browser can handle. In no-duplicates mode, the count cannot exceed the size of the range (max - min + 1). In normal mode, you can generate thousands of numbers, but displaying very large counts may be slow to render.
Can I generate negative numbers?
Yes. Set the minimum value to a negative number such as -100 and the maximum to a positive or negative value. The calculator correctly handles negative ranges and will generate integers uniformly distributed across the specified interval including negative values.