FANTASY ROYAL RUMBLE

FANTASY DRAFT ORDER RANDOMIZER
⚙️ MATCH SETUP
Configure your league's Royal Rumble. The generated link will produce the exact same match for every viewer.
2 20
Pick how many wrestlers will enter the Royal Rumble. Most fantasy leagues are 10 or 12 — but you can go down to a head-to-head 2-person match or up to 20 like a true WWE classic.
Off by default. When on, each wrestler gets a number of "lottery balls" and their chance to WIN the rumble is proportional to their balls — exactly like an NBA draft lottery. Lower placements also correlate, so high-ball wrestlers tend to last longer too.
Each name will become a wrestler. Names can include team names, owner names, or whatever you want shown.
Sign in with Yahoo to automatically import your league's team names. Works with any Yahoo Fantasy Football league you're a member of. Only team names are read — no personal data is stored.
Paste your full Sleeper URL (e.g. https://sleeper.com/leagues/1311843383148281856/league) or just the long number ID. The wrestler count will automatically match the number of teams in your league (up to 20). No login required — uses Sleeper's public API.

⚠️ Important: If you opened this HTML file by double-clicking it, the Sleeper fetch won't work due to browser security (the page is on file:// and can't call https://). To fix this, either host the file on a real web server, or just use the Manual Names tab to type the team names yourself.
Start Now mode: The link starts the match the instant anyone opens it. Great for a live watch party where everyone's already gathered. The match is still deterministic, so everyone sees the exact same outcome — but each viewer's clock starts when they open the page.

Turn any fantasy draft into a deterministic WWE-style Royal Rumble — football, basketball, baseball, hockey, dynasty, keeper, any sport. One shareable link plays the identical match for every viewer. See FAQ for how it works.

🏟️ My Leagues

Your saved leagues. Click "Load" to bring a league's roster back into Match Setup, then generate a fresh draft.

Loading…

Frequently Asked Questions

How does Fantasy Royal Rumble decide who wins my fantasy draft?

Every league member becomes a wrestler in a WWE-style Royal Rumble simulation. Wrestlers enter the ring one at a time and fight until only one is left. The winner is your league's #1 overall draft pick, the second-to-last eliminated gets pick #2, and so on down the order. The first wrestler eliminated picks last.

Is the match really random, or is it rigged?

It's deterministically random. The match outcome is driven by a seeded pseudo-random number generator (Mulberry32), and the seed comes from the unique matchId in your share link. So the result is unpredictable until the match plays out — but it's identical for every viewer of the same link. No one can "re-roll" by refreshing.

What's random per match: entry order, who attacks whom, which move is chosen, who gets eliminated each round, and where wrestlers spawn on the mat. Strengths are also re-shuffled per match so no league member is permanently strong.

What is Weighted Mode and how do the lottery balls work?

Weighted Mode is an optional toggle (off by default) that lets you give each wrestler a number of "lottery balls" — exactly like the NBA draft lottery. The win probability is then proportional to balls. If three teams have 75, 20, and 5 balls, those teams win 75%, 20%, and 5% of the time respectively across all possible matchIds.

Under the hood, a "destined winner" is picked up front via a balls-weighted lottery and protected from elimination. Lower placements still correlate with ball counts: wrestlers with fewer balls are more likely to be eliminated early, while higher-ball wrestlers tend to last longer.

This is great for keeper leagues where last place from last season should get better odds, or for any league that wants to weight the draft order by record, points scored, or any other criteria.

Will everyone in my league see the same match if I share the link?

Yes. The full match configuration — members, scheduled time, weighted balls, etc. — is encoded directly in the URL after the #. The match is a pure function of the matchId, so anyone opening the link sees the same wrestlers enter in the same order, attack in the same way, and finish in the same standings. You can run a draft over Zoom and trust that everyone sees the same champion.

Can I import my Sleeper league instead of typing names?

Yes. Switch to the "Sleeper League" tab on the setup screen and paste your league ID or full Sleeper URL. The app pulls your league's team names directly from the Sleeper API and pre-fills the roster. No login required for public leagues.

Does it work for non-football leagues — fantasy basketball, hockey, dynasty, auction drafts?

Yes. Fantasy Royal Rumble is league-agnostic — anywhere you need a randomized draft order or a fun way to settle a bet, this works. It's used for fantasy football, fantasy basketball, fantasy baseball, fantasy hockey, dynasty leagues, keeper leagues, auction draft order, prize ordering, and friendly arguments between friends.

How long does a match take?

By default, the app auto-picks a duration based on the team count — usually 2 to 5 minutes total. You can override to anywhere from 5 to 60 minutes if you want a longer dramatic event (great for streaming on Discord or Zoom). Wrestlers enter on a steady cadence; eliminations ramp up as the ring fills.

What's the maximum number of teams?

32 wrestlers. Default is 12 (standard fantasy league size). Minimum is 2 (head-to-head). The simulation scales smoothly across the range.

Can I redo a match if I don't like the result?

Sort of. The whole point of the share link is that the result is committed once you share it — that's what makes it a fair draft tool. But if you haven't shared yet, you can regenerate a new matchId in the setup screen and try again. Once the link is out, it's locked in like a real Royal Rumble.

Is my data saved anywhere?

No. There's no server, no database, no tracking. Everything happens in your browser. The roster you type is encoded into the share URL (base64) so the match can be reproduced — but nothing is sent anywhere. The app is a single HTML file you could even run offline.

Why pixel art and not 3D?

Three reasons: it loads instantly anywhere, it's authentic to the WWF WrestleFest / Saturday Night Slam Masters arcade era it's homaging, and each wrestler sprite can be palette-swapped to give every league member a distinct look without commissioning separate art. Also, it's funnier.

About Fantasy Royal Rumble

Fantasy Royal Rumble is a free, shareable draft order randomizer that turns the boring "who picks first" question into a 2-5 minute WWE-style Royal Rumble match. Each league member becomes a pixel-art wrestler. The last one standing gets the #1 overall pick, runner-up gets #2, all the way down. The first one tossed over the top rope picks last.

Built for fantasy football, fantasy basketball, fantasy baseball, fantasy hockey, dynasty leagues, keeper leagues, and any other context where you need a randomized order with style. Includes optional Weighted Mode for NBA-lottery-style ball weighting — perfect for keeper leagues where bottom finishers deserve better odds.

How it works under the hood: the match is driven by a seeded pseudo-random number generator (Mulberry32). The seed is encoded in the share-link's URL hash, so the same link plays the identical match for every viewer. There's no server, no database, no tracking — the entire app is a single HTML file. You could run it offline.

Built with: vanilla JavaScript, hand-drawn pixel-art sprites, procedurally synthesized 8-bit sound effects, a procedurally-drawn wrestling ring, and an embarrassing amount of love for SNES wrestling arcade games (WWF WrestleFest, Saturday Night Slam Masters, Natsume Championship Wrestling).

❤️ Support the Creator

Fantasy Royal Rumble is free, ad-free, and login-free — and it's going to stay that way. If it's saved your league a draft-order argument (or just made one more fun), here are a few ways to keep it going:

☕ Tip a few bucks. Covers hosting and the occasional sprite regeneration on paid AI tools. buymeacoffee.com/your-handle (placeholder — swap in your real link)

📣 Tell your league. The whole point is being shared — drop the link in your league chat / Discord / Reddit thread when draft season rolls around.

🐛 Report bugs or pitch features. Use the Contact tab — feature requests with strong opinions are welcome.

Thanks for using it.

Contact

Coming soon.

ROYAL RUMBLE
MATCH BEGINS IN
--:--:--
Match ID: ----
Match Time: 0:00
In Ring: 0
Eliminated: 0
Next Entry: --
⚔️ ROSTER
📡 PLAY-BY-PLAY
🏆 FINAL STANDINGS 🏆