Physical entropy · camera · mic · atmosphere · lava lamps

True Random Number Generator

Harvest randomness from nature — the noise in your camera sensor and microphone, atmospheric radio static, and the lava-lamp-fed drand beacon — then draw integers or raw bytes from it. Sources are health-tested (NIST SP 800-90B), hashed together with your OS generator, and expanded with ChaCha20.

1 · Collect entropy
Collecting physical entropy…0 / 256 bits
Camera noise

Photon shot noise + CMOS dark current — the lava-lamp principle, using your own sensor.

0 bits credited
Microphone hiss

Johnson–Nyquist thermal noise in the mic preamp, plus room sound.

0 bits credited
Move your mouse

Hand-motion jitter and sub-millisecond event timing. 1 bit per move.

0 bits credited
Remote natural sources
Atmospheric noise
via Random.org

Radio static from lightning and atmospheric discharge. Credits 256 bits; Random.org sees these bytes.

0 bits credited
Lava lamps + beacon
via drand · League of Entropy

Cloudflare’s LavaRand-fed node co-signs each round. Public, so it is mixed in for 0 credited bits.

0 bits credited

Every seed also mixes 512 fresh bits from your OS generator (crypto.getRandomValues), so a dead or hostile source can only fail to add randomness — never remove it. Raw samples are hashed in memory and discarded; remote bytes come straight from the source to your browser.

2 · Draw numbers

Your numbers appear here. Each draw advances a ChaCha20 stream that erases its own key, so earlier results can’t be recomputed from memory.

Where nature’s randomness comes from — and which sources this page uses

SourcePhysicsKnown forOn this page
Atmospheric radio noiseLightning and static picked up on an untuned radioRandom.orgUsed — “Pull 256 bits”
Lava lamps (chaotic fluid)Camera footage of wax convecting, hashed with sensor noiseCloudflare LavaRandUsed — via the drand beacon Cloudflare co-signs (public, 0 credited bits)
Camera sensor noisePhoton shot noise and dark current in every CMOS pixelThe LavaRand principle on your own deviceUsed — “Camera noise”
Thermal (Johnson–Nyquist) noiseRandom electron motion in a resistor or amplifierHSM chips, CPU RDSEEDUsed — “Microphone hiss” and your OS generator, which every seed mixes in
Quantum vacuum fluctuationsMeasuring the vacuum electromagnetic fieldANU QRNGNot used — its API blocks browser requests and allows one call a minute
Radioactive decayGeiger-counter timing of krypton-85 decaysHotBits (Fourmilab)Not used — requires a per-user API key
T
ALL TOOLS · THE CATALOG
149 single-purpose utilities · runs local
Browse all →
All tools process files entirely in your browser · Your data never leaves your device

True Random Number Generator — Randomness From Physical Noise

Harvest entropy from nature — camera sensor noise, microphone thermal hiss, atmospheric radio static via Random.org and the lava-lamp-fed drand beacon — then draw integers or raw bytes. Health-tested and mixed with your OS generator, in your browser.

Private by design. Camera and microphone samples are hashed in memory and discarded — never recorded or uploaded. Only the remote sources you click fetch bytes, directly from Random.org or the drand beacon to your browser.

FreeNo sign-upRuns in your browserSecurityApplication

TRNG vs PRNG vs CSPRNG — what each actually guarantees

Every random number on a computer comes from one of three machines. The difference is not how random the output looks — all three pass statistical tests — but whether an attacker who knows the algorithm can predict the next value.

GeneratorWhere randomness comes fromPredictable if you know…Good for
PRNG (Math.random, Mersenne Twister)A seed and a formulaA few hundred outputsGames, simulations, shuffling a playlist
CSPRNG (crypto.getRandomValues)OS pool seeded from hardware noise, expanded by ChaCha20/AESThe internal state — never exposedPasswords, keys, tokens — the default you should trust
TRNG (this page)Physical noise: sensor shot noise, thermal hiss, atmospheric staticNothing — the next sample does not exist yetSeeds, lotteries and draws where provenance matters
Public beacon (drand, NIST)Many parties’ entropy, threshold-signed each roundNothing before the round; everything afterVerifiable public draws — never secrets on its own
  • Raw physical noise is biased and correlated, so no serious TRNG ships it directly. This page estimates min-entropy per sample (NIST SP 800-90B Most Common Value), credits only a 1/64 fraction of it, and refuses samples that fail the Repetition Count or Adaptive Proportion health tests.
  • Credited samples are hashed into a SHA-512 pool, combined with 512 fresh bits from your OS generator, and the 256-bit result keys a ChaCha20 stream with fast key erasure — the same conditioning-then-expansion design used by Linux /dev/random and hardware security modules.
  • Random.org bytes are credited because only Random.org sees them before your browser does. The drand beacon is public, so it is mixed in for zero credited bits: it adds unpredictability up to the moment of the round, nothing more.
  • A camera with the lens covered still produces dark-current noise on most sensors, but some webcams clamp black to zero — the health tests catch that and credit nothing.

How to generate true random numbers from physical noise

  1. Start an entropy source. Click Start on Camera noise, Microphone hiss, or Move your mouse — or pull atmospheric noise from Random.org. Each batch is health-tested before it is credited.
  2. Fill the pool to 256 bits. Watch the meter fill. Local sources stop automatically at 256 credited bits, so your camera light turns off on its own.
  3. Choose integers or bytes. Set a min, max and count (optionally without duplicates), or pick a byte length and hex, Base64 or binary output.
  4. Generate, copy or download. Click Generate true random. Copy the result or save it as a .txt file; the seed fingerprint lets you tell draws from different pools apart.

Frequently Asked Questions

What is a true random number generator (TRNG)?
A TRNG measures an unpredictable physical process — thermal noise, photon arrival, radioactive decay, atmospheric static — instead of computing numbers from a formula. The next value is not determined by anything an attacker can know in advance.
Which natural sources does this tool use?
Your camera sensor (photon shot noise and dark current, the same principle as Cloudflare’s lava-lamp wall), your microphone preamp’s thermal noise, hand-motion jitter, Random.org’s atmospheric radio noise, and the drand League of Entropy beacon, which Cloudflare’s LavaRand-fed node co-signs.
Why not the ANU quantum generator or HotBits?
ANU’s free API blocks requests from browsers and allows one call per minute; HotBits now requires a personal API key. Calling either would mean routing your random bytes through our server, which defeats the point.
Is the camera video uploaded or stored?
No. Frames are cropped, differenced, hashed into an in-memory pool and discarded. Nothing is recorded, and the camera stops automatically once 256 bits are collected.
Is this more secure than crypto.getRandomValues?
It is never less secure: every seed mixes in 512 bits from your OS generator, so a broken source only fails to add entropy. Your OS generator is already excellent — use this when you want randomness whose physical origin you watched happen.
Can I use the drand beacon alone for secrets?
No. drand rounds are public — anyone can fetch the same value. That is why this tool credits it zero bits and requires private entropy from your devices or Random.org before generating.

Use Cases

  • Run a raffle, giveaway or lottery draw with numbers seeded from physical noise
  • Generate a 256-bit seed or key material from entropy you collected yourself
  • Teach how TRNGs, health tests and entropy pools work with a live sensor-noise view
  • Pick unique random numbers in any range without duplicates
  • Produce raw random bytes in hex, Base64 or binary for testing

Related tools

More free, in-browser tools from the Developer Tools set — every one runs locally, with no sign-up and no upload.

Browse all free online tools →