What Randomness Actually Means

A random result is one you cannot predict better than chance. Computers use pseudorandom generators, which are predictable in principle but not in practice, and cryptographic generators are the ones built to resist prediction.
A rolled die is not really random in the physics sense. If you knew the exact force, spin, air resistance and surface, you could calculate the result. It is unpredictable because measuring all that is hopeless, not because the universe refuses to say.
Pseudorandom generators
A computer has the opposite problem: it is entirely deterministic, so it cannot produce a genuinely unpredictable number by thinking. Instead it starts from a seed value and applies a mathematical process that scrambles it thoroughly. The output looks random and passes statistical tests, but the same seed always produces the same sequence.
That is fine for a game and useless for a lottery. If you can guess the seed, you can predict every number that follows. And a seed drawn from something obvious, such as the current time, is very guessable.
Cryptographic generators
These are built on the assumption that someone is actively trying to predict them. They gather entropy from genuinely messy physical sources, such as the precise timing of keystrokes, network packets and hardware noise, then run it through a process designed so that seeing past output tells you nothing useful about future output.
Every browser has one, exposed as crypto.getRandomValues(). It is what this site uses for every roll, rather than the ordinary Math.random(), which is a plain pseudorandom generator and is explicitly documented as unsuitable for anything security related.
The subtle bug almost everyone ships
Getting an unbiased number from a random generator is harder than it looks. The obvious way to turn a large random number into a die roll is to take the remainder after dividing by six. The problem is that the generator’s range does not divide evenly by six, so the first few faces get one extra chance each.
The bias is tiny, well under a hundredth of a percent for a d6, and completely invisible without millions of rolls. That is exactly why it survives in so much software. The fix is to discard results that fall in the uneven tail and draw again, which costs almost nothing and removes the bias entirely. Our fairness page describes what this site does.
Why streaks are not evidence of anything
Genuinely random sequences clump far more than people expect. Runs of the same number, long gaps and apparent patterns are all normal, and a sequence carefully arranged to avoid them would be the suspicious one.
This is worth internalising, because it is the single most common reason people conclude a roller is broken. Why dice feel unfair works through the numbers.