Chess Rating HQ

Converter / Methodology

Methodology: How We Convert Chess Ratings

We convert a rating from one platform to another by matching percentiles: we find where your rating sits among active players in its home pool, then read off the rating that holds the same position in the other pool. There is no official exchange rate between platforms, so we build one from real, current player distributions and republish it on a fixed schedule. This build uses data as of July 2026, drawn from a Chess.com sample of 19,976 players (4,107 bullet, 7,453 blitz, 10,820 rapid after filtering).

The problem with simple converters

There is no official exchange rate between Chess.com, Lichess, and FIDE. Each is a separate rating pool with its own starting points and its own player population, so a single fixed formula was never accurate to begin with, and it drifts further out of date as the pools change over time. That is why single-formula converters go stale. A number that popular players quoted a few years ago can be well off today, yet it keeps circulating because nobody refreshed it. Our answer is to recompute the whole conversion from live distributions every month and to publish the date the data was gathered, so you always know how fresh the numbers are and never have to trust a figure of unknown age.

Where the Lichess data comes from

Lichess is famous for open data, and it openly publishes a weekly rating distribution for every time control. At the time we built the site, for example, one of those distributions reported 658,817 Blitz players in a single week. Each distribution covers players with established, non-provisional ratings who were active that week, grouped into 25-point buckets spanning ratings from 400 to 2800. We fetch these published distributions directly. Because they describe the whole active Lichess population rather than a sample, we treat the Lichess side as exact.

Where the Chess.com data comes from

Chess.com offers a public, read-only, key-free published-data API, and we use it politely. We start by collecting usernames from its country player lists, covering 16 countries: the United States, United Kingdom, Germany, India, Brazil, France, Canada, Australia, Netherlands, Norway, Portugal, Greece, Serbia, Chile, Philippines, and Vietnam. Each list is capped at 10,000 recently active players. We then fetch each sampled player's stats one request at a time, at a polite rate, identifying ourselves in every request.

To be counted in a given mode's sample, a player must have a rated game in that mode within the last 90 days, a rating deviation of 100 or less, and at least 30 games in that mode. These filters keep the sample to players whose ratings are current and well established rather than noisy or long dormant.

An honest word about bias

Our Chess.com data is a sample, not a census, and we want to be straight about its limits. Large countries' player lists are truncated alphabetically, which means our sample over-represents usernames that begin with digits and symbols. We found no reason to think that correlates with playing strength, but we disclose it rather than hide it. Because it is a sample, the Chess.com percentiles carry sampling error, and that is precisely why every conversion is shown with a 95% confidence range instead of a single false-precision number.

The method: percentile equating

For each side we build a cumulative distribution, or CDF, of active rated players. A rating then converts to the rating that holds the same percentile in the other pool. In plain terms, if your Chess.com rating puts you ahead of 70 percent of active Chess.com players in that mode, we return the Lichess rating that sits ahead of 70 percent of active Lichess players in the matching mode. The confidence ranges you see come from bootstrap resampling: we redraw the Chess.com sample 200 times and watch how much the answer moves. The Lichess distribution, being a census of its whole active population, is treated as exact and contributes no sampling error of its own.

Time controls are matched like for like: bullet to bullet, blitz to blitz, rapid to rapid. Lichess Classical has no Chess.com counterpart, so it receives percentiles only. The tool also shows you the same-percentile ratings across other time controls, clearly labeled as a same-percentile standing rather than a prediction of how you would actually play at that speed.

What this method cannot tell you

Percentile matching assumes the two active populations are comparable in how their strength is distributed. It cannot know your personal style, and your own accounts on the two sites may legitimately differ from what the tables suggest. Our percentiles also cover active players rather than every account ever created, which makes them stricter than all-accounts statistics: measuring yourself against people who are currently playing sets a higher bar than measuring against every dormant account.

What is coming next

FIDE ratings are not yet included. We plan to add FIDE percentiles built from FIDE's published rating lists so that over-the-board players can be placed on the same footing as online ones.

Update cadence

We recompute everything monthly. The as-of date is shown on the tool itself and on every page we generate, so the freshness of any number you see is never a mystery. This build reflects data as of July 2026.