Roll a dice, flip a coin, or let the tool decide what to eat today. Let it make a fair, random choice for you.
Every result from this tool — dice rolls, coin flips, or a food pick — comes from the browser's built-in Math.random() function (for example, dice use Math.floor(Math.random() * sides) + 1 to get a value). Numbers produced this way are technically called "pseudorandom": they aren't drawn from a truly unpredictable physical source like radioactive decay or atmospheric noise, but generated by a fixed mathematical formula that starts from an initial value (a seed) and grinds out a long sequence of numbers that looks chaotic but is, underneath, deterministic. For everyday use, that's more than fair enough — you genuinely can't predict or manipulate what the next roll will be, and over many rolls the results converge on an even distribution just like true randomness would. Only high-security contexts (like generating encryption keys) need a stronger "cryptographically secure" random source; rolling a die, flipping a coin, or picking dinner doesn't need to worry about the distinction at all.
Human intuition about randomness is famously bad. If you flip a coin and get five heads in a row, most people's gut reaction is "that can't be random, something's off" — but in a truly random sequence, streaks like that are entirely within normal probability (five heads in a row has a 1-in-32 chance, which isn't rare at all). Conversely, when people try to "randomly" pick numbers by hand, they tend to deliberately avoid repeats and force an artificially even spread — and that kind of sequence, when tested statistically, actually shows too much pattern to be genuinely random. This is part of why letting a program generate the pick tends to land closer to true fairness than picking "by feel" (e.g. "we had ramen last time so let's rule it out this time") — the tool has no memory bias nudging it away from repeats.
Say three friends are stuck on what to have for dinner, each deferring to the others. Instead of spending ten minutes going back and forth, switch to "🍜 What to Eat Today" mode, pick the "🎉 Group" category — it fills in options like hot pot, all-you-can-eat BBQ, and buffet — then hit "Pick For Me" and let the spin animation run for a few seconds before it announces a winner. For extra ceremony, "🎲 Roll Dice" can decide who gets veto power (roll a single 6-sided die, highest number gets one re-roll), or "🪙 Flip a Coin" can settle a quick either/or (down to two restaurants — heads picks A, tails picks B). Handing the decision to the tool removes the social friction of "who actually has to decide" and skips the pointless back-and-forth when nobody has a strong preference anyway.
Solo mode tries to detect your region from your network IP address (via the public ipapi.co lookup service) and fills in a locally popular food list based on the detected country code — the tool has built-in lists for Taiwan, Japan, Korea, mainland China, Hong Kong/Macau, the US/UK, and Singapore/Malaysia/Thailand/Vietnam, among others. If detection fails or your region isn't covered, it falls back to a generic default list. That list is only a starting point — you're free to add, edit, or delete items in the text box, and as long as you don't manually switch category afterward, your edits are preserved rather than overwritten. The idea is that "random" should mean random among things you'd actually eat, not limited to whatever the tool guessed by default.
It's computed live — nothing is precomputed. Every time you press the button, the tool calls Math.random() fresh to generate a new result. That's the browser's built-in pseudorandom generator, which is more than fair and unpredictable enough for everyday things like dice and coin flips.
Solo mode detects your region from your current network connection's IP address. If you're using a VPN, or your ISP's IP-to-location data is inaccurate, the detected region may not match where you actually are. You can just edit the list directly in the text box — your changes are preserved and won't be overwritten automatically.
A confirmation popup appears first, warning that "switching category will overwrite your current list." The list only actually changes if you click OK. If you want to keep your edits, just click Cancel and the category and list stay exactly as they were.
The input fields default to a visible max of 6 dice and 10 coins, but the underlying code actually allows up to 50 of each — typing a larger number than the field suggests is still accepted, just capped internally at 50.
Yes, there's no limit on how many times you can click the button. Each click reruns the spin animation and generates a fresh result, replacing whatever was shown before.