Random Generator
Random strings, random numbers, or a fair pick from your own list.
Using toolbook means you agree to our Terms and Privacy Policy.
Your files stay on your device
How to use it
Make a random string, pick random numbers in a range, or draw winners from your own list. Every result is truly fair, and everything stays on your device.
Running a giveaway? Need a random number between 1 and 100? Picking who goes first? Choose String, Number, or Pick from list and set your options.
Tick “no repeats” to make sure nothing comes up twice — perfect for picking several different winners.
In Pick from list, paste one item per line. You can pick a few, or shuffle the whole list into a random order — handy for seating plans or turn order.
Every result is completely fair: no item or number is more likely than another.
FAQ
Is it really fair?
Yes. It uses a secure random source and a method that doesn’t favour any result.
Can I pick several winners with no repeats?
Yes. Tick “no repeats” and set how many to pick.
Can I shuffle a whole list?
Yes. Use “Shuffle the whole list” in Pick from list mode.
How it worksFor the curious
All three modes draw from crypto.getRandomValues with rejection sampling, rather than Math.random. Rejection sampling matters for ranges and picks: random() % range slightly favours low values whenever the range does not divide the generator’s output evenly.
For numbers, “no repeats” draws distinct values one at a time into a set rather than building an array of every possible value, so 50 unique numbers between 1 and a billion stays fast and light. For lists, it is a partial Fisher–Yates shuffle — the standard unbiased way to sample without replacement.