Off the clock
How the top 25 actually gets built
Ranking 25 players across seven decades directly is hopeless — you end up comparing a 1960s center to a 2020s point guard with nothing in common. Two phases make it tractable instead.
- Position battles. Build a depth chart — every point guard stacked against every other point guard, same for each position. Comparable skill sets, comparable roles.
- Era duels. Where two or three players overlapped and both have a real case for "best in the league right now," settle it head-to-head before merging everyone into one list.
Phase 1: the depth chart
Same 25 players as the top 25, just sorted into position groups first. Hit the button to watch them merge back into the actual ranking.
- SF1#1LeBron James2000s–2020s
- SG1#2Michael Jordan1980s–1990s
- C1#3Kareem Abdul-Jabbar1970s–1980s
- C2#4Shaquille O'Neal1990s–2000s
- PF1#5Tim Duncan2000s–2010s
- SG2#6Kobe Bryant2000s–2010s
- SF2#7Larry Bird1980s
- PG1#8Magic Johnson1980s
- C3#9Bill Russell1950s–1960s
- PG2#10Stephen Curry2010s–2020s
- C4#11Hakeem Olajuwon1980s–1990s
- C5#12Wilt Chamberlain1960s–1970s
- SF3#13Kevin Durant2010s–2020s
- C6#14Nikola Jokić2010s–2020s
- C7#15Moses Malone1970s–1980s
- PF2#16Giannis Antetokounmpo2010s–2020s
- PF3#17Dirk Nowitzki2000s–2010s
- PF4#18Kevin Garnett1990s–2010s
- SF4#19Scottie Pippen1980s–2000s
- SF5#20Kawhi Leonard2010s–2020s
- PG3#21Chris Paul2000s–2020s
- PF5#22Charles Barkley1980s–1990s
- PG4#23Oscar Robertson1960s–1970s
- SG3#24Jerry West1960s–1970s
- SG4#25Dwyane Wade2000s–2010s
Runs on the View Transitions API — same static HTML/CSS/JS GitHub Pages already serves, no server needed. Falls back to an instant snap if a browser (or reduced-motion setting) doesn't support it.
Phase 2: era duels
The depth chart still leaves ties — players who overlapped and both have a real claim to "best in the league" in a given stretch. Two of those calls, straight from the reasoning already behind the rankings above:
1980s · SF/PG
Bird vs. Magic
Bird gets the nod (#7 vs. #8) — better defender, ahead-of-his-time shooter, and did it with lesser teams around him. Magic's case is the best-passer-ever argument and a Swiss-army-knife game; he just never had to do it without Kareem and Worthy next to him.
2000s · C/PF/SG
Shaq vs. Duncan vs. Kobe
Landed #4, #5, #6 — in that order, back-to-back. Shaq's peak was the most dominant of the three, which is exactly why neither Duncan nor Kobe was ever really considered the best player in the league in a given year despite both being inner-circle greats. Duncan edges Kobe on longevity and two-way impact; Kobe's efficiency and playing Robin to Shaq's Batman cost him the last half-step.
Do that for every position and every overlapping era, merge the results by rank, and you get the top 25.