Home/Guides/How Random Is Random?

Guide · Probability and honest play

How Random Is Random?

Pseudorandom, cryptographic and true randomness explained, with the exact two generators this site runs, why they differ, and how to check both yourself.

The short answer

Most computer randomness is pseudorandom: a deterministic formula whose output looks random but is completely fixed once you know its starting seed. Cryptographic randomness is the same kind of machine seeded from unpredictable physical events, which makes the output impossible to reproduce. This site runs both, deliberately, for two jobs that need opposite properties.

Last updated: 26 July 2026

Key facts

Each one checkable, with the source it came from.

  • The Web Cryptography API specification "provides no lower-bound on the information theoretic entropy present in cryptographically strong random values" and advises seeding from an OS source such as /dev/urandom.

    W3C — Web Cryptography API
  • crypto.getRandomValues returns cryptographically strong values from a PRNG seeded with high-entropy input, is capped at 65,536 bytes per call, and is not the recommended path for key generation.

    MDN Web Docs — Crypto.getRandomValues()
  • NIST SP 800-90A Rev. 1 (June 2015) specifies deterministic random bit generator mechanisms built on hash functions or block cipher algorithms.

    NIST Special Publication 800-90A Rev. 1
  • Mulberry32 uses a 32-bit state, giving a period of around 4 billion, and one analysis notes it appears to skip roughly a third of all 32-bit values.

    bryc — JavaScript PRNGs reference
  • Computed by us: folding a 0–255 source into a 1–100 range with a remainder makes 56 of the 100 outcomes 50% more likely, because 256 = 2 × 100 + 56.

    Vibe Numbers — worked example of modulo bias

How Random Is Random? — frequently asked

Reproducibility. Pseudorandom output comes from a formula and a starting seed, so anyone holding both can regenerate the whole sequence. Genuinely random output cannot be regenerated by anything, including the machine that produced it.

Deliberately not. They are seeded from your birth date and today's date, which is why they hold still all day and match across your devices.

It is a cryptographically strong pseudorandom generator seeded from the operating system's entropy pool, which is not the same thing as a physical noise source. The Web Cryptography specification is candid about that: it sets no lower bound on the entropy present and only advises implementers to seed from something like /dev/urandom. Every current browser does. For rolling a die that is far more assurance than the job needs.

It means throwing away any random value that falls outside a clean multiple of your target range and drawing again. Skip it and the leftovers bias you. Folding a 0–255 source into 1–100 makes 56 of the hundred outcomes come up half again as often as the rest, because 256 is not a multiple of 100.

A seeded one can, trivially, by choosing the seed. That is why our tools take no seed and our daily numbers publish theirs.

Keep reading

What the arithmetic of a lottery draw actually says, and what it rules out. These are the guides that disagree with most of the niche.

All guides →

Numbers of your own

A fresh set every day, seeded from your birth date, with the odds told straight.

Get today's numbers