Football records

Ten record tables, pulled from the same player database the games run on — over 27,000 players and their season-by-season league records. Premier League all-time top scorers, appearances and assists; every Golden Boot winner since 1992/93; the leading scorers of the nineties, the two thousands and the twenty-tens; and the top twenty in La Liga, Serie A and the Bundesliga.

Each page carries the full table, the seasons it covers, and a reading of what the numbers actually show — which is usually not what the names at the top would suggest. They are also the answer sheets for Top 10, so every list here is a board you can play with the names hidden.

Where the numbers come from

The same dataset that generates every round in the app: per-player, per-season, per-club league records, assembled by the pipeline described on the about page. Figures on these pages are as of 2026-10-11 and each table states the seasons it covers.

That coverage line is not boilerplate. The Premier League tables start at 1992/93, the competition’s first season, so they are genuinely all-time. The La Liga, Serie A and Bundesliga tables start at 2000/01, which means they are records of the last twenty-five seasons rather than of those leagues’ whole histories — a distinction those pages make in their own words rather than leaving you to infer it.

One table that could be here is not. A Scottish Premiership list is generated by the same pipeline and remains unpublished, because two players in the dataset turn out to be one man stored under two ids — which splits his goals across two rows and puts him on the board twice, in the wrong places, with neither figure correct. The generator refuses to emit a table carrying that defect rather than leaving it to be spotted by a reader. It goes up when the data is fixed, and not before.

How to read a record table

Three corrections apply to almost every list on this site, and applying them changes what the numbers mean more than any of them looks like it should.

A counting stat is partly a measure of time. Goals, appearances, assists and cards all accumulate, so any total answers “how long was this player here” at least as much as “how good was he”. The player at the top of an appearance list did not get there by being decisive; he got there by being fit, useful and picked, every week, for fifteen years. Dividing by seasons — or by minutes — produces a different list measuring a different quality, and the two rarely agree.

The window decides the winner. A table covering twenty-five seasons is not a table covering a century, and calling one all-time is a choice somebody made rather than something the figures said. This is the most common way football statistics mislead, and it is why every page here states its seasons directly under the table instead of in a footnote.

Leagues are not the same size. The Bundesliga plays thirty-four matches a season where England, Spain and Italy play thirty-eight. Over a twenty-year career that is eighty fixtures — comfortably enough to reorder a cross-league comparison. Before setting two totals from different competitions against each other, check the fixture list.

The other tables

These ten are the boards the games are built from, which means they are all goals, appearances and assists. The same dataset answers a lot of questions nobody usually asks of it, and those are on the stats blog: who played the most minutes rather than the most games, who was booked most and why it is mostly midfielders who were never dirty, who spent an entire career at one club, the best scoring rates rather than the biggest totals, and the small group who managed to score in all four of Europe’s big leagues.

Each of those posts is built the same way as these pages — a table computed from the dataset, the seasons it covers stated, and what it leaves out said plainly — with the argument about what the numbers actually show underneath. If you want the games rather than the numbers, the how-to-play guides cover every game.