Everyone, not just the leaders
Most baseball statistics pages show you the players who were good enough to be worth listing. This one has all of them: 156 seasons from 1871 to 2026, every batter who came to the plate and every pitcher who threw an inning, whether they had a career or an afternoon. The obscure ones are frequently the interesting ones — the September call-up who never came back, the position player who pitched a blowout, the name your grandfather insisted was better than the record shows.
Pick a season from the menu and the whole year appears. Sorting is instant because your browser is doing it to data it already holds, and searching filters as you type. Every column is sortable in both directions, hitting and pitching are separate tables with their own columns, and the qualifying filter is a tick box rather than a fixed rule — so the same page gives you the batting title race and the man who came to the plate once, depending on which of them you asked for.
The one-at-bat problem, and why the filter is on by default
Here is what happens if you sort 2026 batting averages with no filter at all: the leader is a pitcher who came to the plate once, got a hit, and finished the season batting 1.000. Behind him is somebody who went two-for-three. The actual batting champion is nowhere near the top. That is not a quirk to be tolerated, it is a table that lies to you, and it is the single most common way a statistics page gets things wrong.
Baseball solved this a long time ago with a minimum. A hitter has to average 3.1 plate appearances per team game to qualify for a batting title, and a pitcher has to average one inning per team game for the earned run average. Anyone under that line is a real player with real numbers, but their rate statistics are too small a sample to rank. The Regulars only box applies exactly that rule, and it is ticked when the page loads.
You can untick it, and you should whenever you are looking for a person rather than a leaderboard. Most players in any given year are below the line — in 2026 the regulars are a minority of everyone who batted — so if a search comes back empty, that box is the first thing to try. The page says so when it happens rather than leaving you staring at nothing.
How the qualifying line is worked out
The minimum depends on how many games a team played, and that number is not the same in every era. It was 162 in a normal modern season, 154 for most of the twentieth century, 60 in the pandemic-shortened 2020 season, 66 in the National League's first year and 29 in 1871, the earliest season here. A page that hard-codes 162 gets the qualifying line wrong for most of baseball history — and for 1871 it would ask for more plate appearances than anyone in the league had.
So it is derived from the data instead. Every game has exactly one starting pitcher, which means the games started by a club's pitchers add up to the number of games that club played; taking the median across clubs gives the length of that season's schedule. Checked against the 64 seasons from 1962 to 2026 whose schedule is a matter of record, it is exactly right for 60 of them and never off by more than two games — including the odd ones, 60 in 2020 and 114 in the strike-shortened 1994. The resulting minimum is printed next to the tick box, so if it is ever wrong you can see that it is wrong rather than having to trust us.
It is roughest before 1950, and for an interesting reason rather than a technical one: the seasons of that era did not all have one length. Negro Leagues and independent clubs in the same file played a much shorter official schedule, which drags the median below the American and National League figure — 1930 comes out at 152 games against the 154 those two leagues actually played. Pushing the estimate upwards would fix the number and remove those players from every qualified list, so it stays where it is, and the note under the table tells you how far apart the two schedules were in whatever year you picked.
What the columns mean
The counting statistics are self-explanatory once the abbreviations are unpacked: G games, PA plate appearances, AB at bats, R runs, H hits, 2B and 3B doubles and triples, HR home runs, RBI runs batted in, BB walks, SO strikeouts, SB and CS stolen bases and times caught, TB total bases, HBP hit by a pitch. On the pitching side, GS games started, SV saves, ER earned runs, BFP batters faced, CG complete games and SHO shutouts.
The Team column carries the club's full name as the source records it, and the lookup is keyed on the year as well as the club — because the same three-letter code does not mean the same team in every era, and matching on the code alone would quietly put one franchise's name on another's record. The League column beside it says which competition that club was playing in, which is the part that changes how the rest of the row should be read.
A dash means the figure does not exist, not that it is zero, and the distinction matters more than it sounds. A batting average needs at-bats to divide by, a wOBA and a WAR need plate appearances, an ERA needs innings — so a pitcher who never came to the plate has no average, no wOBA and no WAR, and printing 0 for any of them would place him below every hitter who was merely bad. The dashes sort to the bottom whichever way you order a column, in both directions, for the same reason. A genuine zero is printed as a zero: eighteen hitters in 2026 really did finish with a .000 wOBA, and they appear as .000, not as a dash.
The rate columns are where the meaning lives. AVG is hits divided by at bats — the oldest headline number and the least informative, because it treats a single and a home run identically and ignores walks. OBP counts every time a batter reached base, walks included, so it measures how often he avoided making an out. SLG weights hits by how far he got. OPS adds the last two together, which is arithmetically crude but tracks run scoring well enough to have become the standard single glance.
For pitchers, ERA is earned runs allowed per nine innings, with runs that scored because of a fielding error excluded; lower is better, which is why the page sorts it upwards. WHIP is walks plus hits per inning — how many runners he put on — and it complements ERA because it is less affected by the fielding behind him. IP deserves a warning, and here it is the opposite of the usual one. Baseball conventionally writes innings pitched as 187.2, where the digit after the point is outs rather than a fraction — a notation that breaks the moment anyone adds two of them together in a spreadsheet. This page does not use it. The source counts outs, so the same season shows as 187.7: a real decimal, 187 and two-thirds innings, which sorts and sums correctly. If you are comparing against a site that prints 187.2, those are the same season.
The 2026 season is not finished, and that changes what you are reading
Every other season on this page is settled. The 2026 one is not: it was last collected on 1 September 2026, about 138 games into each team's schedule, and it is refreshed roughly once a week until the season ends on 2026-09-27. So the totals move, the qualifying line moves with them — it is 428 plate appearances today rather than 502, and a player who leads a column this week may not next week. Nothing here is a final record until the season is over.
These figures also come from somewhere else. The database behind the other 155 seasons is published once a year, after the season it covers is complete, so it does not yet contain 2026. For the season in progress we read the MLB Stats API, which is MLB Advanced Media, L.P.'s and carries its own copyright notice rather than the licence that covers the rest. Both are named under the tables. This site is not affiliated with, endorsed by, or connected to Major League Baseball or any of its clubs.
Two things about 2026 are weaker than the rest and we would rather say so than let you find out. Park factors are estimated — the source only publishes them for completed seasons, so we average each franchise's last three, which moves a full-season hitter's WAR by up to about half a win once the real figures arrive. And the accuracy check we quote elsewhere — an average gap of 0.767 wins against the published WAR figures — cannot be run on 2026 at all, because no one has published a final WAR for a season still being played. That number describes completed seasons. It does not describe this one.
WAR is ours, and here is how close it lands
At the right-hand end of each table are the modern metrics: WAR, wOBA and wRAA for hitters, plus a four-way breakdown of where the WAR came from; WAR and FIP for pitchers. Being exact about these matters more than usual, because a number whose assumptions are invisible is worse than no number at all.
We calculate them. The source database publishes box scores — games, plate appearances, hits, innings, earned runs, putouts, assists — and not a single derived metric. Everything from wOBA rightwards is worked out here, on this repository's own code, from those raw lines. That is the opposite of what this page used to say, and the change is not cosmetic: until August 2026 the numbers arrived ready-made from a source we were not licensed to use commercially, and replacing it meant either dropping WAR or computing it.
So the honest question is how close ours gets. We checked all 146 seasons for which published figures exist and compared player by player. The average gap is 0.767 wins for hitters and 1.111 for pitchers; on the most recent full season, 2025, it is 0.710 and 0.572. Those are mean absolute differences, not a best case — half of all players land closer than that and half land further away.
Why the gap is that size, where ours is roughest, and what the four components mean
A gap of that size sounds alarming until you notice that the two published standards disagree with each other by about as much. Baseball-Reference and FanGraphs both call their metric WAR, and they routinely differ by 0.5 to 1.0 wins on the same player in the same season, because each makes its own choices about replacement level, run environment, park effects and how to value defence. There is no single correct WAR to be wrong about. Ours is a third reading taken with the same intent and stated openly, which is a more useful thing to hand you than a number copied from one authority and presented as the answer.
Where ours is roughest, and why
Defence is the weak part, and it is not close. Modern fielding metrics use where each batted ball landed and how fast it got there. That information does not exist for historical seasons and never will, so the fielding term here is estimated from putouts, assists, errors and innings at a position — the same raw material that Baseball-Reference falls back on for old seasons. It works well enough in aggregate and badly on individuals. The example we keep in front of us is Ryan Doumit catching in 2008: our calculation makes his season worth +4.2 wins and the published figure makes it −3.1. He was, by every contemporary account, a poor defensive catcher, and a seven-win disagreement about one player is not a rounding difference — it is two methods valuing the same glove in opposite directions. When a figure on this page looks surprising, this is the sort of reason, and the surprising one is more likely to be ours.
The second limitation is a gap in the source itself: fielding innings are not recorded before 1954. For those seasons the calculation falls back on games at each position, which is a coarser measure of how much a player was actually on the field. A utility man who started sixty games and finished forty more looks the same as one who played a hundred complete ones.
The third is that value depends on a run environment which shifted enormously across this span — the 1930 National League scored 5.8 runs a game and the 1968 American League 3.5 — so the number of runs it takes to buy a win is recomputed for every season rather than held at a constant. That is the right approach, and it is also where a season with few teams and thin records can wobble. Pitchers come out worse than hitters in our comparison for exactly this reason: their value is the most sensitive to it.
What the four WAR components mean
A hitter's row splits WAR into WAR: Bat, WAR: Field, WAR: Run and WAR: Pos. Each is an estimate in runs of what one part of his game was worth relative to an average player: his hitting, his glove, his baserunning, and an adjustment for how demanding his position is. A shortstop and a designated hitter who create the same number of runs at the plate are not equally valuable, and the positional component is where that difference is booked.
The breakdown is on the screen deliberately. A single WAR figure asks you to trust it; four components let you see what it is made of, and — given what the paragraph above says about defence — decide for yourself how much weight the fielding term deserves. Most sites show you the total and keep the workings. Read them as parts of one calculation rather than four separate statistics: they are expressed in runs, and they do not add up to the WAR column on their own, because the conversion from runs to wins happens afterwards.
In particular, WAR: Field is not a fielding record and should not be read as one. It is the fielding term inside a run estimate. If you came looking for putouts, assists and errors, they are genuinely not on this page — they were used to produce that column and are not displayed.
The Negro Leagues are in here, and their seasons were a different length
In 1937 the Negro Leagues hitters here averaged 15.7 league games each; the American and National League hitters averaged 55.6. Why that makes a counting statistic the wrong comparison, why these records are here at all, and how the qualifying line treats them.
The Negro Leagues are in here, and their seasons were a different length
In 1937 the Negro Leagues hitters here averaged 15.7 league games each; the American and National League hitters averaged 55.6. Why that makes a counting statistic the wrong comparison, why these records are here at all, and how the qualifying line treats them.
The leagues in this table did not all play the same number of games, and that is the one thing to know before comparing anything in it. In 1937 the Negro Leagues hitters here averaged 15.7 league games each; the American and National League hitters averaged 55.6. The clubs themselves played much more baseball than that — often a hundred games or more against opponents outside the league, barnstorming through towns that had no professional team — but those games were not league games and were never entered in the record.
So a counting statistic is not a comparison. Josh Gibson's 2.6 wins in 1937 sit beside seasons of eight and ten in the same column, and reading that as "he was worse" gets it exactly backwards: he was better, over a third of the schedule. The same goes for hits, home runs and runs batted in — they are sums, and the summands are not the same size. Rate statistics are the ones that travel. AVG, OBP, SLG, OPS and wOBA are per-appearance, so they can be lined up directly, and it is on that axis that the Negro Leagues records are startling. The note directly under the table says this too, with the actual figures for whichever season you are looking at, because that is where you meet the problem rather than here.
In 2020 Major League Baseball recognised seven Negro Leagues operating between 1920 and 1948 as major leagues, and in 2024 the records were merged into the official statistics. The source database follows the same recommendations, so open one of those seasons and the Homestead Grays, the Kansas City Monarchs and the Chicago American Giants are in the same table as the Yankees and the Cubs. The League menu will show you those clubs on their own, and it also has a row for the independent Black clubs — the Cuban Giants, the Pittsburgh Crawfords, the Homestead Grays in the years they ran outside any league — which appear here from 1891 onwards, three decades before the merged leagues begin.
Every one of those players now has a WAR figure. That is new: the previous source published none for these seasons, and the columns sat empty. Because the calculation here runs on box scores rather than on somebody else's derived table, Josh Gibson's 1937 has a WAR like everybody else's — 2.6, on a .417 average and a 1.474 OPS in 39 games.
The qualifying line has the same root. It is derived from schedule length, so in 1937 it asks for 471 plate appearances, and no Negro Leagues player in that season reaches it — turn Regulars only off before looking for them, or the table will be empty and it will look as though the records are missing. They are not missing. They are the best surviving account of that baseball, which for the era is exactly what they are, and they are here in full.
How the page loads, and what it costs you
The 2026 regulars arrive inside this page, so the numbers you see first need no request of their own. Everything beyond that — a different season, or the full field including part-timers — is a single file of roughly 205 KB for a modern year and rather less for an old one. The exact size is printed before the download starts, because being asked to wait without being told for how long is the thing that makes people leave.
That file is a static download from this site, not a query answered by a server: there is no database behind this page and nothing that inspects what you are looking for. Being a download, it is recorded by our host the same way the page itself is — so what is worth saying precisely is that a season file reveals the year you picked and nothing finer, while the sorting, the searching and the player you were actually after stay in the tab.
The page is not silent on the network either, and it would be a strange thing to imply. It loads advertising, which is what pays for the work and is the reason none of this needs an account or a subscription. That is also the whole of the arrangement: the work happens on hardware you already paid for, so a visitor costs us nothing whether they look at one season or all 156 of them, and the privacy policy lists every host your browser contacts.
What this page deliberately does not do
- Regular season only. No postseason, no All-Star games, no exhibitions.
- No fielding records. No putouts, assists, errors or innings at a position — even though the source has them and the WAR calculation reads them. The one fielding number in the tables is WAR: Field, and that is an estimate in runs rather than a record of plays: roughly what a glove was worth, not what it did.
- Season totals only. No monthly splits, no home and away, no game logs, no performance against a particular opponent.
- No wRC+, xFIP, ERA− or FIP−. They were on this page while it ran on a different source and they are gone with it. Each would now have to be a calculation of ours, and one calculated column carrying a stated error bar is already as much as we are willing to ask you to trust. wRAA covers most of what wRC+ was there for.
- Nothing else is ours. WAR and its components are calculated here, and the error is stated above. Every other column is straight off the box score, copied across unchanged — no park factor of our own, no smoothing, no blending of sources.
- A traded player appears once. His totals are attributed to a single club, so a team's roster here will not always match the one in your memory.
- One country's leagues. Major League Baseball, including the recognised Negro Leagues, the independent Black clubs and the nineteenth-century associations. The KBO and NPB are not here.
Where the numbers come from, and what you may do with them
Every raw figure on this page comes from the Lahman Baseball Database 2025, compiled by SABR (Society for American Baseball Research) and released under the CC BY-SA 3.0 Unported licence. It is read once and stored in this repository as one file per season. The Negro Leagues records within it are licensed from Seamheads.com and included on the strength of SABR's major-league recommendations of 2021 and 2024. The full database is at sabr.org/lahman-database/.
This is not the source this page had a month ago, and the reason is worth stating plainly. The numbers used to come from MLB's own statistics API, whose terms permit use that is "individual, non-commercial, non-bulk". A public site, carrying advertising, serving whole seasons at a time, is none of the three. Nobody complained; we read the terms properly and moved. What that cost was the ready-made WAR column, which is why there is now a calculation of ours on this page and a section above explaining how far off it lands. What it bought is a database we are actually allowed to publish.
And you may take it. ShareAlike works in both directions: because the source is CC BY-SA, the season files this page downloads are our derivative work and carry the same licence. Copy them, chart them, load them into something else, publish what you find — the conditions are the ones you already accepted by reading this page, which are to credit SABR and to pass the same freedom on. They are plain JSON, one per season, and their addresses are in the page source. Most sites treat the data as the thing to defend. There is more to gain here from being quoted than from being the only place a number lives.
The date printed under the tables is the day a person last confirmed this build against that database, and the page works out how many days ago that was every time you load it — so if it ever goes stale, it will say so on the screen rather than quietly presenting old numbers as current. Completed seasons do not move; a season still being played does, and the page marks that too. This page is not affiliated with, endorsed by, or connected to Major League Baseball or any of its clubs.
The facts, in one place
| Seasons | 1871 to 2026 — 156 of them |
|---|---|
| Players | Everyone who appeared, not only the regulars |
| Default view | 2026, regulars only, sorted by home runs |
| Where it runs | On this page, in your browser |
| Stat data requests | None for the 2026 numbers; one file per season after that |
| File size | About 205 KB for a modern season, less for older ones |
| Source | Lahman Baseball Database 2025, by SABR (Society for American Baseball Research) |
| Licence | CC BY-SA 3.0 Unported — and the season files this page downloads are published under it too |
| Last checked | 2026-09-02 |
| 2026 park factors | Estimated — 3-season franchise mean, 2023–2025, spanning 93 to 112. The source publishes them only for completed seasons |
| 2026 source | MLB Stats API, by MLB Advanced Media, L.P. — the season is still being played, so these figures change every week |
| WAR | Calculated here from the source box scores, not supplied — across completed seasons the average gap to the published figures is 0.767 wins for hitters and 1.111 for pitchers; the 2026 figures cannot be checked that way yet, because nobody has published a final one |
| Everything else | Straight off the box score, copied across unchanged |
| Not included | Postseason, fielding records as such, splits, game logs, wRC+ and the FIP family |
| Price | Free |
How the numbers on this page are worked out is on the about page, and the hosts your browser contacts while you use it are listed in the privacy policy.