A library of random generators
Randomness,
sourced from reality.
Drawn for this page load · Integers
14, 26, 28, 30, 34, 45
drand round 6,593,017 — no single operator could have predicted this value. Check it yourself ↗
Every result carries a receipt like that one: the source, the moment, the proof. Reload this page and the numbers change, because the world did. So does the field drawn behind this headline — it is the same sixteen bytes, expanded down a different path and handed to your browser to draw.
- 63
- generators live
- every one specified is built
- 6
- modules shipping
- all six
- 10
- entropy sources
- wired and probed
- 0
- API keys
- no signup, ever
- Operating System CSPRNG drawn fresh per request class A
- ANU Quantum Vacuum — class A
- RANDOM.ORG — class A
- NIST Randomness Beacon — class B
- drand · League of Entropy drand round 6,593,017 — no single operator could have predicted this value. class B
- Bitcoin Proof-of-Work — class B
- USGS Seismic Feed — class C
- NOAA Space Weather — class C
- Live Weather — class C
- ISS Position — class C
Values appear as each source gets drawn from. Nothing is fetched merely to fill this strip · what each one is worth → · the ticker lost its connection and is showing its last known values
Pick what you want to be random.
63 generators across all 6 modules, and nothing on this page is a promise — every generator the design documents specified is written and running. The catalogue never counted unwritten code, which is why the number took a while to get here.
-
Numbers
13 liveIntegers, distributions, dice and the points on a sphere everyone gets wrong.
- Integers →
- Dice →
- Bell Curve →
- Distribution Lab →
- Decimals →
- Earth Points →
- Lottery →
- Coin Flips →
- Identifiers →
- Passwords →
- Raw Bytes →
- Primes →
- Moments →
everything specified for this module is built
-
Words
9 livePassphrases with real entropy, and words that never existed.
- Passphrase →
- Invented Words →
- Name Forge →
- Brand Names →
- Lorem →
- Random Knowledge →
- Random Life →
- Word Web →
- Fictional People →
everything specified for this module is built
-
Equations
9 liveProblems with clean answers, built backwards from the solution.
- Mental Math →
- Expression Tree →
- Linear Equations →
- Quadratics →
- Systems →
- Calculus →
- Matrices →
- True or False? →
- Find the Pattern →
everything specified for this module is built
-
Patterns
15 liveNoise, growth and decay — Perlin, Gray-Scott, cellular automata.
- Perlin Noise →
- Simplex Noise →
- Worley Cells →
- Spectral Noise →
- Elementary Automata →
- Life →
- Reaction–Diffusion →
- Truchet Tiles →
- Blue Noise →
- Voronoi →
- Mazes →
- L-Systems →
- Wave Function Collapse →
- Random Walks →
- Diffusion-Limited Aggregation →
everything specified for this module is built
-
Images
9 liveFlow fields, superformula blobs, perceptual palettes, real art.
- Flow Field →
- Superformula →
- Identicon →
- Circle Packing →
- Mondrian →
- Mesh Gradient →
- Particle Spray →
- Glyph Grid →
- Strata →
everything specified for this module is built
-
Audio
8 liveNoise colours, Euclidean rhythms and strings plucked out of static.
- Noise Colours →
- Euclidean Rhythm →
- Melody →
- Plucked Strings →
- Chord Progressions →
- Drone →
- UI Sounds →
- Generative Ambient →
everything specified for this module is built
Collect, condition, generate.
Three steps, one of which is a single line of PHP. The honesty is in the middle one.
-
01
Collect
10 free, keyless sources: the kernel's own pool, a quantum optics bench in Canberra, atmospheric radio noise, a signed government beacon, a threshold signature network, ten minutes of global Bitcoin hashrate, and every earthquake on Earth in the last hour. Every call has a timeout and a circuit breaker; when one misses we fall back to the OS CSPRNG and mark the receipt degraded rather than pretending.
-
02
Condition
The exotic material supplies the story and a real contribution. Fresh CSPRNG bytes, the nanosecond clock and a counter supply uniqueness — which is what makes caching a 60-second beacon pulse safe without ever reusing a seed.
ikm = source ‖ random_bytes(32) ‖ hrtime() ‖ counter seed = hash_hkdf('sha256', ikm, 16, 'randomly.seed') -
03
Generate
16 bytes and a token. The token is the seed, so a permalink recomputes the result instead of looking it up — which is why this site has no database. Change a parameter and you get a different answer from the same randomness; press Generate and you get new randomness. Two buttons, one lesson.
info = randomly/v1|{generator}|v{n}|sha256(params)
Every result has a receipt.
This is the receipt for the numbers at the top of this page — not an example, the actual one, from this request.
- Source
- drand · League of Entropy
- Narrative
- drand round 6,593,017 — no single operator could have predicted this value.
- Observed at
- 2026-10-28T21:05:31+00:00
- Mixed with
- csprng — always
- Latency
- 291 ms
- Entropy in
- 16 bytes
- Duration
- 334 µs
- Token
- 5RV2RH3NS37ST8H1M1DR8JQBJG
Published openly — anyone can look this value up after the fact.
The same API we use.
There is no private API. This page's own hero went through the endpoints below. No authentication, no key, no signup — matching every source we draw from. Rate limited to 60 requests a minute per IP.
curl -s 'https://randomly.cluxnei.dev/api/v1/g/numbers.integers?count=6&min=1&max=60&unique=1' \
-H 'Accept: text/plain'
14, 26, 28, 30, 34, 45
- GET /api/v1/generators the catalogue, machine-readable
- GET /api/v1/sources every source, status and class
- POST /api/v1/generate one result plus its receipt
- GET /api/v1/replay/{token} recompute a past result, bit-for-bit
A replay against a generator whose version has moved on answers 409 version_changed rather than quietly returning something different. Honest failure beats a silently different answer.