How RNGdle works
Three ways to roll. A full badge catalog hiding in the numbers. One honest EP total.
The rules
- Free roll — unlimited practice, drawn from your browser’s cryptographic randomness (rejection-sampled, no modulo bias) mixed with your own pointer timing. One roll in 100,000,000 hits the ceiling jackpot: exactly 1,000,000.
- Daily — at every UTC midnight a new shared number between 0 and 1,000,000 goes live, seeded by the date. Same for every player on Earth, one reveal per day.
- Official — signed-in players get a personal server-seeded roll, one per person per day, that counts toward your streak and the leaderboard.
- Every roll is checked against the full badge catalog — each matching trait earns a badge.
- Your roll’s EP is the sum of its badges’ EP, and the total lands in one of eight rarity tiers from Trash to Divine.
- Share your result spoiler-free — the share text shows trait squares and badge names, never the analysis.
EP — Energy Points
EP is the game’s currency. Every badge carries a fixed EP value tuned to how rare its trait is — a plain even number is worth nothing, a six-digit palindrome is worth thousands:
roll EP = Σ badge EP
tier ladder (total EP): Trash < 170 < Common < 305 < Uncommon < 800
< Rare < 1,015 < Epic < 1,225 < Anomaly
< 2,230 < Mythic < 5,265 < Divine
thresholds calibrated against the exact EP distribution
of all 1,000,001 numbers — Divine is roughly the top 0.4%The same badge engine runs everywhere: free rolls, the daily number, and the official server roll all produce identical EP for identical numbers — what you see at home is exactly what the leaderboard records.
Official rolls are personal: the server derives your number from mulberry32(hash(SESSION_SECRET : UTCdate : userId)) — deterministic and verifiable, but unknowable in advance. One roll per person per day; the database enforces it. Rolling on consecutive UTC days grows your streak.
The daily seed
seed = hash("rngdle-" + YYYYMMDD) // UTC date, e.g. "rngdle-20260915"
number = floor(mulberry32(seed) * 1_000_001) // integer in [0, 1,000,000]mulberry32 is a tiny, fully deterministic PRNG. Feed it the same 32-bit seed and it produces the same stream on every device, forever — so the “roll” needs no server and can be verified by anyone.
Deep-dive scoring (number pages)
Beyond the badge game, every number page on this site carries an information-theory rarity score. Each trait scores bits of surprise: if a trait appears in c of the 1,000,001 numbers, it earns -log2(c / 1,000,001) bits, capped at 20. Traits are sorted by bits and summed with a 0.5 decay per additional trait — your best trait counts in full, the second at half, the third at a quarter, and so on.
Every number also carries its digit sum, scored by how rare that sum is across the range — so no roll is ever truly zero. Counts are exact: we analyzed every number at build time.
Rarity tiers (deep-dive score)
The seven tiers below grade the information-theory score used on number pages. The home game uses its own eight-tier EP ladder (above), calibrated the same exhaustive way.
| Tier | Score | What it means |
|---|---|---|
| Trash | ≤ 4.2 | Bottom ~1% of all rolls. A truly forgettable number. |
| Common | ≥ 6 | An everyday number. Nothing to write home about. |
| Uncommon | ≥ 6.9 | A little sparkle. Better than about half of all numbers. |
| Rare | ≥ 7.8 | Top ~28%. Now we are talking. |
| Epic | ≥ 9.3 | Top ~12%. Screenshot-worthy. |
| Anomaly | ≥ 12.6 | Top ~4%. The machine blinked. |
| Mythic | ≥ | Top ~1%. Tell everyone. Immediately. |
All traits, with exact counts
Out of 1,000,001 numbers, rarest first. Digit-sum scores separately per sum.
| Trait | Count | 1 in | Meaning |
|---|---|---|---|
| Named number | 12 | 83,333 | A number the internet (or history) gave a name to. |
| Power of two | 20 | 50,000 | 2 raised to some exponent, like 65536 = 2¹⁶. |
| Ascending sequence | 22 | 45,455 | Every digit is exactly one more than the last, like 123456. |
| Descending sequence | 26 | 38,462 | Every digit is exactly one less than the last, like 654321. |
| Fibonacci number | 30 | 33,333 | Lives in the Fibonacci sequence. |
| All same digit | 45 | 22,222 | Every digit is identical, like 777777. |
| Perfect cube | 101 | 9,901 | An integer cubed, like 91125 = 45³. |
| ABAB pattern | 180 | 5,556 | Two digits alternating, like 1212 or 565656. |
| Monster digit run | 181 | 5,525 | Five or more of the same digit in a row. |
| ABCABC pattern | 900 | 1,111 | A three-digit block repeated twice, like 456456. |
| Round number | 1,000 | 1,000 | A clean multiple of 1,000. |
| Perfect square | 1,001 | 999 | An integer times itself, like 729 = 27². |
| Triangular number | 1,414 | 707 | Counts dots in a triangle: 1, 3, 6, 10, … |
| Rising run | 1,865 | 536 | Contains 4+ digits climbing by one, like 883456. |
| Falling run | 1,962 | 510 | Contains 4+ digits dropping by one, like 965432. |
| Palindrome | 1,989 | 503 | Reads the same forwards and backwards. |
| Quadruple digit run | 2,520 | 397 | Four of the same digit in a row. |
| Two distinct digits | 4,537 | 220 | Built from exactly two different digits. |
| Triple digit run | 33,219 | 30 | Three of the same digit in a row. |
| Alternating odd/even | 34,875 | 29 | Odd and even digits strictly alternate. |
| Prime | 78,498 | 13 | Divisible only by 1 and itself. |
| Harshad number | 95,428 | 10 | Divisible by the sum of its own digits. |
| Zigzag | 136,425 | 7 | Digits strictly alternate up-down-up-down. |
| Happy number | 143,071 | 7 | Repeatedly summing squared digits reaches 1. |
| All digits unique | 167,832 | 6 | No digit repeats anywhere. |
| Semiprime | 210,035 | 5 | A product of exactly two primes. |
| First < last | 399,996 | 3 | The first digit is smaller than the last. |
| Zero-free | 597,870 | 2 | Contains no zero digit at all. |
Named numbers (42, 666, 1337, …) score as one-of-a-kind: 1 in 1,000,001.
FAQ
How is the daily number chosen?
The number is floor(mulberry32(hash("rngdle-YYYYMMDD")) * 1,000,001) using the UTC date. It is deterministic, so every player rolls the same number and anyone can reproduce it.
How is the rarity score calculated?
Each trait contributes -log2(count / 1,000,001) bits, clamped to 20. Traits are sorted by bits and summed with a 0.5 decay per additional trait.
What are the rarity tiers?
The game grades total badge EP into eight tiers from Trash to Divine, with thresholds computed from the exact EP distribution of all 1,000,001 numbers. Number pages additionally use a seven-tier information-theory score.
Want the deep dives? Browse the pattern library —14 patterns with examples and stats.