Category
Numbers
Random numbers, PINs, passwords, dates, and times — any range, any count.
This category covers every tool where the output is fundamentally a number -- or something built directly from digits, like a PIN, or from a calendar/clock position, like a date or time. Six tools live here, and while they look different on the surface, five of the six share the exact same core fairness fix: rejection sampling, used to correct for the fact that most useful ranges (1 to 100, 4-digit PINs, a February-to-April date span) don't divide evenly into the 256 possible values of a single random byte.
That shared foundation is worth understanding once, because it explains why every tool here reaches for crypto.getRandomValues instead of the far more common Math.random() -- and why 'just take a random byte and use modulo' quietly produces biased results that get worse the further your range is from a power of two.
It's also worth knowing what this category deliberately doesn't include: none of these six tools generate decimal or floating-point values -- every one of them works with whole numbers, whole digits, whole days, or whole minutes, which keeps the rejection-sampling fairness math tractable and the results genuinely uniform.
Random Number Generator
Any range, any count, unique or repeating — true cryptographic randomness.
Number Wheel
A spinning wheel of numbers in your chosen range — bingo-night friendly.
Random Password Generator
Generate a strong, truly random password — nothing sent anywhere.
Random PIN Generator
Generate a random numeric PIN of any length.
Random Date Generator
Pick a random date within any range.
Random Time Generator
Pick a random time of day — for scheduling games or drills.
Pure number generation
The random number generator is the broadest tool in this category — any minimum, any maximum, one value or a whole batch, all drawn with the same rejection-sampling fairness guarantee as everything else here. Batch requests get an extra safeguard worth calling out: rather than generating candidates and throwing away any that happen to repeat, which would slow down and get messier as fewer unused numbers remain, it pulls each value directly out of a shrinking pool of what's left, so there's no repeat to filter out in the first place because there was never a chance for one to occur.
The number wheel takes that same fair-range idea and adds the spinner wheel's arc-proportion visual mechanic on top, auto-populating a spinning wheel with your chosen number range instead of custom text. Its real practical addition over the plain number generator is an optional 'remove after call' mode built for bingo-style live number calling, where numbers already called shouldn't come up again.
Security codes: passwords and PINs
The random password generator builds a password character by character from whichever character types you enable -- uppercase, lowercase, digits, symbols -- each drawn independently from that pool via rejection sampling. The real security metric here is entropy: with a roughly 94-character pool (all types on), each character contributes about 6.5 bits, so a 16-character password lands around 104 bits of entropy, far beyond what any realistic brute-force attempt could crack.
The random PIN generator is the digits-only sibling: each digit is drawn from just 10 possible values (0 through 9), contributing only about 3.32 bits of entropy each -- meaningfully weaker per character than a mixed password, which is exactly why a 4-digit PIN (about 13 bits total) is so much weaker than even a short mixed password, and why 6- or 8-digit PINs exist for anywhere that needs stronger numeric-only security.
Calendar and clock: dates and times
The random date generator and random time generator both solve the same category of problem -- picking a fair point within a calendar or clock range -- using the same underlying trick: convert the range into a flat integer (days since a reference point, or minutes/seconds since midnight), draw a fair integer within that flat range via rejection sampling, then convert back into a readable date or time.
That flat-integer conversion matters because randomizing a date's month and day separately (or a time's hour and minute separately) would introduce bias -- not every month has the same number of days, so picking month and day independently would under-represent dates like the 31st and over-represent February relative to its real share of the year. Working in day-count or minute-count space avoids that specific problem entirely, giving every real calendar day (leap days included) or every real minute in the window a genuinely equal chance.
Choosing between the six number tools
Reach for the random number generator whenever the range itself is the point -- a raffle needs a ticket number, a stats lesson needs a live demonstration, a board game is missing whatever oddly-sized die a rule calls for. It's also the pick when you need several different numbers at once rather than just one. Want that same fair range wrapped in a visual spin and an auto-removal mode built for calling numbers out loud (bingo night, a live raffle draw)? The number wheel layers that presentation on top without changing the underlying fairness at all.
For anything that needs to double as a real credential, the choice comes down to what the destination accepts: a mixed-character password if letters and symbols are allowed (it's meaningfully stronger per character), or a numeric-only PIN if the destination specifically restricts to digits. For calendar or clock values, the date and time generators are purpose-built and shouldn't be replicated with the plain number generator, since naively randomizing month-and-day or hour-and-minute separately introduces the exact bias those two tools are built to avoid.
Why crypto.getRandomValues instead of Math.random()
JavaScript's built-in Math.random() is a pseudo-random number generator -- fast, deterministic under the hood, and never designed with unpredictability as a goal. Its output can, in principle, be predicted or reverse-engineered from enough prior outputs, because it's built from a mathematical formula optimized for speed and statistical distribution, not for resisting prediction. That's a fine tradeoff for a lot of casual uses, but it's the wrong tool anywhere fairness or security actually matters -- a password generator built on Math.random() would be genuinely weaker than one built on a cryptographic source.
crypto.getRandomValues instead pulls from the operating system's own cryptographic random generator, the same kind of source behind encryption-key generation, purpose-built so that watching past results tells you nothing about what's coming next. That's why every tool in this category, and everywhere else on the site, is built on it rather than on Math.random() -- a tool that claims to be fair while quietly running on a source that was never designed to resist prediction isn't really keeping that promise.
A note on precision and rounding
None of the six tools in this category ever silently round or truncate a result in a way that would skew fairness -- the number generator and number wheel return exact whole numbers within your set range, the password and PIN generators return exact character-by-character draws with no rounding concept to apply, and the date and time generators resolve to whichever precision you choose (a full calendar day, or a minute versus a second) without ever collapsing multiple possible results into one displayed value. That matters because rounding is itself a form of weighting -- if a tool quietly grouped several distinct underlying outcomes into one displayed result, some displayed results would end up more likely than others even if the underlying draw was fair.
Frequently asked questions
How much slower does rejection sampling make these tools compared to a plain modulo shortcut?
Not noticeably -- the occasional extra draw needed to skip an uneven leftover byte value happens in a fraction of a millisecond, so every tool in this category still feels instant even though it's doing the extra fairness check the shortcut skips.
Which tool should I use for a raffle ticket number versus a lottery-style pick?
The random number generator handles both -- set your range to match the ticket or lottery format you need, in single or unique-batch mode.
Is a PIN ever as strong as a password of the same length?
No -- because a PIN's digit-only pool is much smaller than a full password's mixed character pool, each digit carries less entropy, so a PIN needs more characters to reach comparable strength.
Can the date and time generators be combined into one full random timestamp?
They're separate tools that don't chain automatically, but you can run each independently and combine the results yourself for a full date-and-time value.
Is there a real-world difference I'd ever notice between Math.random() and crypto.getRandomValues in casual use?
For a single quick decision, probably not visibly -- the difference matters most for security-sensitive uses (passwords, PINs) and for anything run at scale (like a large raffle draw), where the theoretical predictability of Math.random() becomes a real, exploitable weakness rather than an abstract one.
Can I generate a random number that's guaranteed to be prime, or otherwise mathematically constrained?
No -- the random number generator produces a uniform draw across your range with no further filtering; constrained generation like primes-only isn't built in.
Does the PIN generator ever produce a PIN starting with 0, like 0472?
Yes -- every digit position, including the first, is an independent equal draw across 0 through 9, so a leading zero is exactly as likely as any other digit.
Is there a difference in how 'unique' mode works between the number generator and the date generator?
Not directly comparable -- the number generator's unique mode draws several distinct numbers from one range in a single session, while the date generator produces one date per draw; generating several unique dates would mean running it multiple times and tracking duplicates yourself.
Which of these six tools is most commonly used for something security-related?
The password and PIN generators -- the other four (number generator, number wheel, date generator, time generator) are built for games, raffles, and scheduling rather than credentials.
Do any of these tools store a history of what they've generated?
No -- none of the six retain a history between draws or sessions; every result exists only until you record it yourself or generate the next one.