How we rank
Every Monday, 45 Linux distributions get a score from 0 to 100. The score is built only from public numbers that anyone can check. Nobody votes, and no distro can pay to move. This page shows every number we use and where it comes from.
The signals
| Signal | What it measures | Source | Weight |
|---|---|---|---|
| Readers | Average daily views of the distro's English Wikipedia article over the last 28 days, counting people only (bots and crawlers are excluded). | Wikimedia Pageviews API | 70% |
| Development | Average commits per week to the distro's main public repositories over the last 12 complete weeks. | GitHub statistics API | Not scored yet |
| Release health | Whether a supported release exists, how recent the newest release is, and how long support has left. | endoflife.date | 30% |
Why development isn't in the score yet: many distros don't develop on GitHub (Debian, Ubuntu, Fedora and Arch all use their own servers), so only a handful have this number today. Scoring it now would reward distros just for where they host their code. We collect and show it below, and it joins the score once most distros on the board have it.
Search interest from Google Trends is planned as a fourth signal. Trends has no public API, so it needs careful manual exports, and we'd rather leave it out than publish numbers we can't stand behind. When it's added, it will be listed in the changelog below.
From signals to one score
- Each signal becomes a 0–100 number on a log scale. Readers go from 20 views a day (0 points) to 2,543 a day (100 points). A log scale means doubling your readers is worth the same at any size, so the biggest distros don't flatten everyone else.
- The scale is fixed. Those end points were set once, from the first year of data, and don't move week to week. So a distro's score only changes when its own numbers change, not because another distro had a big week. Changing them counts as a method change.
- The score is a weighted average of the signals the distro has. If a source has no data for a distro (for example, a rolling-release distro has no fixed releases to track), that signal is skipped and the other weights are scaled up. Missing data is never counted as zero.
- Readers are required. A distro without a Wikipedia article can't be ranked, because readers is the one signal every distro can have.
Release health in detail
If no release is supported, the score is 0. Otherwise it's half freshness and half runway. Freshness is 100 when the newest release is under 3 months old and falls in a straight line to 40 at 2 years old. Runway is 100 when the best supported release has 2 or more years of support left, and drops in a straight line to 0. Rolling-release distros like Arch have no fixed support dates, so release health doesn't apply to them.
Tiers
A tier is a fixed score range, so moving up a tier means the numbers really went up.
- S tier (Top tier): 85 or more
- A tier (Great): 70 to 84.9
- B tier (Good): 55 to 69.9
- C tier (Niche): 40 to 54.9
- D tier (Long tail): under 40
When it updates
A new ranking is published every Monday, using data up to the Sunday before. Published weeks are never edited afterwards. The full history is kept in version control, so any past ranking can be checked.
The first 52 weeks, from 3 Nov 2025, were rebuilt from historical data when the site launched. Wikipedia and endoflife.date keep full history. GitHub only keeps the last year of weekly commit counts, so the earliest weeks use a shorter development window.
What these numbers can't tell you
- Readers measure curiosity, not installs. A distro in the news gets readers whether people like it or not. That's why it's one signal of three.
- Commit counts don't measure quality. A distro that packages everything in one big repository will show more commits than one that splits work across many places. We only count the repositories listed below.
- English Wikipedia only. Distros that are popular mainly outside English-speaking countries are probably under-counted.
Every source, distro by distro
The numbers below are this week's raw values. A dash means the source has no data for that distro.
| Distro | Wikipedia article | Readers / day | Repositories | Commits / week | Release data | Release health |
|---|---|---|---|---|---|---|
| Linux Mint | Linux Mint | 739 | linuxmint/cinnamon | 12.5 | linuxmint | 90.7 |
| CachyOS | CachyOS | 366 | CachyOS/linux-cachyos | 3.4 | – | – |
| Ubuntu | Ubuntu | 1,177 | – | – | ubuntu | 100 |
| Fedora | Fedora Linux | 661 | – | – | fedora | 60.7 |
| Bazzite | Bazzite (operating system) | 272 | ublue-os/bazzite | – | – | – |
| Debian | Debian | 875 | – | – | debian | 100 |
| Omarchy | Omarchy | 1,152 | basecamp/omarchy | 104.3 | – | – |
| Arch Linux | Arch Linux | 589 | – | – | – | – |
| Pop!_OS | Pop!_OS | 217 | pop-os/cosmic-epoch | 1.9 | pop-os | 89.3 |
| Zorin OS | Zorin OS | 225 | – | – | zorin-os | – |
| MX Linux | MX Linux | 130 | – | – | – | – |
| EndeavourOS | EndeavourOS | 115 | endeavouros-team/EndeavourOS-ISO | – | – | – |
| openSUSE Tumbleweed | OpenSUSE | 306 | – | – | – | – |
| NixOS | NixOS | 918 | NixOS/nixpkgs | – | nixos | 51.8 |
| Manjaro | Manjaro | 150 | – | – | – | – |
| elementary OS | Elementary OS | 111 | elementary/os | – | elementary-os | – |
| Kali Linux | Kali Linux | 393 | – | – | – | – |
| Nobara | Nobara (operating system) | 96 | – | – | – | – |
| Garuda Linux | Garuda Linux | 57 | – | – | – | – |
| Tails | Tails (operating system) | 355 | – | – | – | – |
| Kubuntu | Kubuntu | 126 | – | – | – | – |
| Rocky Linux | Rocky Linux | 188 | – | – | rocky-linux | 97.2 |
| AlmaLinux | AlmaLinux | 150 | – | – | almalinux | 97 |
| Linux Lite | Linux Lite | 40 | – | – | – | – |
| KDE neon | KDE neon | 64 | – | – | – | – |
| Void Linux | Void Linux | 173 | void-linux/void-packages | – | – | – |
| Gentoo | Gentoo Linux | 317 | gentoo/gentoo | – | – | – |
| Xubuntu | Xubuntu | 89 | – | – | – | – |
| Solus | Solus (operating system) | 49 | getsolus/packages | – | – | – |
| Vanilla OS | Vanilla OS | – | Vanilla-OS/vanilla-tools | – | – | – |
| Alpine Linux | Alpine Linux | 256 | – | – | alpine | 90 |
| Parrot OS | Parrot OS | 88 | – | – | – | – |
| Lubuntu | Lubuntu | 149 | – | – | – | – |
| antiX | AntiX | 133 | – | – | – | – |
| Ubuntu MATE | Ubuntu MATE | 35 | – | – | – | – |
| Peppermint OS | Peppermint OS | 43 | – | – | – | – |
| Qubes OS | Qubes OS | 175 | QubesOS/qubes-core-admin | – | – | – |
| Deepin | Deepin | 70 | – | – | – | – |
| Rhino Linux | Rhino Linux | – | – | – | – | – |
| Slackware | Slackware | 275 | – | – | – | – |
| Puppy Linux | Puppy Linux | 123 | puppylinux-woof-CE/woof-CE | – | – | – |
| PikaOS | PikaOS | – | – | – | – | – |
| Fedora Silverblue | Fedora Silverblue | – | – | – | – | – |
| Asahi Linux | Asahi Linux | 146 | AsahiLinux/linux | – | – | – |
| ChimeraOS | ChimeraOS | – | ChimeraOS/chimeraos | – | – | – |
| Bodhi Linux | Bodhi Linux | 44 | – | – | – | – |
| Mageia | Mageia | 44 | – | – | – | – |
| SparkyLinux | SparkyLinux | 20 | – | – | – | – |
| Artix Linux | Artix Linux | 181 | – | – | – | – |
| BunsenLabs | BunsenLabs | 18 | – | – | – | – |
Changelog
- Version 1, 26 Oct 2026: first published method. Scores use readers (70%) and release health (30%). Development activity is collected and shown but not scored until coverage improves. Google Trends planned.
Spotted a wrong repository or a missing source? Email contact@distros.watch or read who runs this site.