Data verified for patch 26.21 — updated automatically with every League of Legends release

Methodology

A tool that won't explain how it calculates is worth nothing. Here is, without omission, how every number on this site is produced.

MMR estimation

Riot doesn't publish MMR; any value displayed, here or anywhere else, is an estimate. Ours proceeds in three steps. First, your visible rank provides a base MMR: each tier maps to a band of points (Iron 600-900 up to Challenger 3000+, recalibrated each season), with your division and LP pinning your position inside the band. Next, your season win rate adjusts that base by up to ±150 points, weighted by game volume (full effect at 60 games, so a 3-0 season start can't distort everything). Finally, the gap between estimate and base produces the LP prediction, bounded between +12 and +32, modeled on the observable behavior of Riot's system. The displayed error margin (±35 to ±60) reflects the volume of available data. All data comes exclusively from Riot Games' official public API (account-v1, league-v4).

Ping test

A browser cannot emit a true ICMP ping. The tool therefore measures timed HTTP round-trips to cloud infrastructure points located in the same geographic zones as Riot's game servers (for example, the Frankfurt/Amsterdam zone for EUW). Each server receives one uncounted warm-up request, then five measurements; the median is kept to neutralize outliers. The result tracks your in-game latency within 5-15 ms — enough to decide whether your connection is ready, not to compare two values to the millisecond.

Playtime calculation

Riot's match-v5 API lists the game identifiers it still holds for an account. The tool counts them queue by queue, then multiplies each total by that queue's observed average duration:

QueueAverage duration
Ranked Solo/Duo and Flex29 min
Normal Draft28 min
Normal Blind27 min
ARAM21 min
Swiftplay20 min
Arena18 min
Other modes (residual)22 min

The Swiftplay figure comes from Riot's own statement that the mode runs about eight minutes shorter than a standard Summoner's Rift game, with sudden death starting at 25 minutes. The residual bucket covers every queue not counted separately — rotating modes, Clash, ARAM variants, bot games — and its 22-minute average is the mean of the durations we track for those modes, which now skew short (Brawl runs about ten minutes, Nexus Blitz and ARAM Mayhem about eighteen).

Covering the whole account, not just the last 1,000 games

Riot's match list stops at the last 1,000 games of any single list — "the match list is currently capped at 1k games", in the words of the Riot engineer answering the bug report filed against it — and it does not reach back before 2021. Counting match identifiers alone would therefore cut a long account short, and report the same total for a player with 1,100 games and one with 15,000. Two things get around that.

First, every queue is paginated on its own list instead of being bounded by the account's unfiltered total, so a player with 1,000 ranked games and 1,000 ARAM games is counted as 2,000 rather than flattened to 1,000.

Second, account level closes the remaining gap. Summoner XP accumulates from the day the account is created, never resets, and is awarded strictly on time played: 0.11 XP per second plus 6.6 on a win, 0.09 plus 5.4 on a loss — which averages to exactly 0.1 XP per second plus 6 per game. That makes a level readable as playtime, provided it is read against the right player, so two quantities are measured rather than assumed. The queue mix, because an ARAM game pays less XP than a ranked one and the same level therefore represents more games. And the real playing rhythm, because the 400 XP first win of the day is worth as much as two games to someone playing one game an evening and close to nothing to someone playing ten back to back: we date the most recent games, split them into sessions on the 20-hour reset the bonus actually uses, and read the level through that. Beyond the point the match list reaches, in other words, the total is derived from account level rather than counted game by game — and the counted games always stand as the floor, since the level can only ever extend them.

The XP tables and per-game formulas are the published ones for the summoner experience system. We check ours against the two cumulative totals the progression itself publishes — 39,936 XP to reach level 30, 101,088 to reach level 50 — and the site refuses to start if the table ever stops reproducing both exactly.

This averages-based approach keeps the calculation fast and reproducible: the gap against an exact per-game measurement stays under 5% on large histories, because individual deviations cancel out statistically. It is less accurate in two cases, and we would rather name them than hide them: accounts with very few games, where no averaging can happen, and accounts whose history sits mostly in the residual bucket rather than in a tracked queue. Whenever Riot adds a queue, its duration is added here and to the calculator together — a published formula the code no longer applies would be worse than no formula at all.

Data freshness

The site polls Riot's official version distribution endpoint (Data Dragon) every 15 minutes. Any new version automatically triggers the update of the patch band, the modification dates communicated to search engines, and the current patch page. The patch date itself is read from the Last-Modified header of Riot's CDN, not from a clock on our server.

Two consequences of that rule are visible on the site. Until Data Dragon has actually answered — the first seconds after a deployment, or during an outage on Riot's side — the band reads "checking the live version" with the last known number instead of certifying a patch we have not confirmed, and no modification date is sent to search engines at all. And a guide's modification date is the date its text was last revised, not the date of the latest patch: re-reading a guide against a new release is a verification, which the page states in its own header, not a modification. No "fresh" page on this site is backdated or forward-dated by hand: every date corresponds to a real, verifiable event.

What this site does not do

No connection to your Riot account, no password requested, no private data collected. The public leaderboard keeps only your public in-game name, region and game totals. MMR estimates are not official Riot data and must not be presented as such.