WAR shows how many more wins a player added than a replacement player
WAR (Wins Above Replacement) puts one number on how many extra wins a player gave his team compared with a replacement player, the kind of player a club can pick up at minimum salary to fill the same spot. For a hitter, it adds batting, baserunning and fielding runs, then a positional adjustment, a league adjustment and the runs a replacement player would be credited with, and divides the total by the runs it takes to win a game that season. For a pitcher, it turns FIP into a run scale, compares it with the league average and adds a replacement-level credit. This calculator applies the FanGraphs formulas (fWAR) with league values for KBO and MLB 2026 and 2025.
Take Pete Crow-Armstrong (CHC) in 2026: 726 plate appearances, 1,370 innings in center field and 4 games at DH. His line works out to batting +49.0, baserunning +4.3, position +1.9, league adjustment +2.0 and replacement credit +22.1, which is 79.3 runs above a replacement player. At 9.82 runs per win in 2026 MLB, that is WAR 8.1. His fielding runs are not in the public numbers, so they are set to 0, the average.
Why look at WAR
Batting average, home runs and ERA each show only one slice of a player. WAR converts very different jobs into the same unit, wins, so it helps with questions like these.
- Who added more when the positions differ? Heo In Seo (Hanwha) hit for a wOBA of .370 in 2026 KBO, far below Kim Do Yeong's .460, but he caught 925⅔ innings and earns +7.9 runs from the positional adjustment alone. His WAR is 3.0, double the 1.5 the same bat would produce at first base.
- Does playing a lot count? The replacement credit grows with plate appearances. In 2026 MLB it is 18.3 runs (1.86 wins) per 600 PA, so a second baseman who hits exactly league average over 600 PA and 1,150 innings gets (0 + 1.97 + 1.69 + 18.26) ÷ 9.822 = WAR 2.2. A season cut in half by injury shrinks accordingly.
- Can a hitter and a pitcher go on the same scale? Shohei Ohtani (LAD) in 2026 has WAR 3.7 as a DH and WAR 2.8 in 85⅔ innings as a pitcher, 6.5 combined. Both are measured in wins above replacement, so they can be added.
- Is the salary worth it? FanGraphs found that in the 2025-26 offseason, teams paid an average of $11.23 million per projected WAR across 89 free agents, and $12.84 million per WAR for the 19 players projected at 2 WAR or more. In earlier years the overall figure was $10.34 million (2023), $12.08 million (2024) and $11.92 million (2025). WAR is a common starting point for judging what a player is worth.
How to use it
- Choose Hitters or Pitchers at the top, then the league and season the stats come from (KBO or MLB, 2026 or 2025). The example buttons fill in real 2026 stat lines.
- For a hitter, enter plate appearances, at-bats, hits, doubles, triples, home runs, walks, intentional walks, hit by pitch and sacrifice flies. The walks field takes total walks, including intentional ones.
- Add stolen bases and caught stealing, the fielding position and innings (up to two positions) and games as DH. Innings can be typed as 1153 1/3 or 1153.1, where .1 means 1/3 of an inning. If you know the fielding runs (one of UZR, DRS or OAA) and other baserunning runs, enter them too.
- For a pitcher, enter innings, games, starts, strikeouts, walks, hit batters and home runs allowed. Add runs allowed to see runs-allowed WAR (RA9-WAR) as well.
- Check how many runs each item adds in the run ladder, and how WAR changes with the position alone in the box below it. "Copy link" reopens the same calculation later.
How hitter WAR is calculated
The FanGraphs hitter formula is WAR = (batting + baserunning + fielding + positional adjustment + league adjustment + replacement credit) ÷ runs per win. The first three items are measured against the average player in the league, the positional adjustment accounts for how hard the defensive spot is, and the replacement credit moves the baseline from average down to replacement level. Here is Crow-Armstrong's 2026 line item by item.
| Item | Calculation | Crow-Armstrong 2026 |
|---|---|---|
| Batting (wRAA) | (wOBA − league wOBA) ÷ wOBA scale × PA = (.3995 − .3160) ÷ 1.2380 × 726 | +49.0 |
| Park adjustment | league runs per PA × (1 − park factor ÷ 100) × PA | 0.0 (factor 100) |
| Baserunning (wSB + other) | SB × 0.2 + CS × (−0.412) − league wSB per opportunity × (singles + walks + HBP − IBB) | +4.3 |
| Fielding | fielding runs such as UZR, DRS or OAA (average at the position = 0) | 0.0 (unknown) |
| Positional adjustment | (CF +2.5 × 1,370 innings + DH −17.5 × 4 games × 9) ÷ 1,458 | +1.9 |
| League adjustment | PA × .0028 (the share that sets the league-wide positional total to zero) | +2.0 |
| Replacement credit | 570 × (league games ÷ 2,430) × runs per win ÷ league PA × PA = .0304 × 726 | +22.1 |
| Total (RAR) ÷ runs per win | 79.3 ÷ 9.82 | WAR 8.1 |
The run value of a caught stealing is "−(2 × league runs per out + 0.075)" and changes every year. It is −0.412 in 2026 MLB and −0.456 in 2026 KBO, where more runs are scored. Runs per win is "9 × league runs per inning × 1.5 + 3"; calculated from the 2026 MLB totals it matches the 9.822 that FanGraphs publishes.
How pitcher WAR is calculated
FanGraphs builds pitcher WAR on FIP instead of ERA. FIP uses only home runs, walks, hit batters and strikeouts, so defense and luck affect it less. Here are the steps for Jacob Misiorowski (MIL) in 2026: 174⅔ innings, 30 games, all of them starts, 252 strikeouts, 44 walks, 9 hit batters and 14 home runs allowed.
- FIP = (13 × HR + 3 × (BB + HBP) − 2 × K) ÷ IP + league constant = (13 × 14 + 3 × 53 − 2 × 252) ÷ 174⅔ + 3.100 = 2.17
- Run scale (FIPR9) = FIP + (league RA9 − league ERA) = 2.17 + (4.55 − 4.17) = 2.54, from unrounded league values. This step puts unearned runs back on a runs-allowed basis.
- Runs per win for this pitcher (dRPW) = (((18 − innings per game) × league RA9 + innings per game × the pitcher's run scale) ÷ 18 + 2) × 1.5 = 8.85 runs. A pitcher who does well lowers the run environment of the games he works, so the number comes out below the league's 9.82.
- Wins above average = (league RA9 4.55 − 2.54) ÷ 8.85 × 174⅔ ÷ 9 = +4.4 wins
- Replacement level is 0.12 wins per 9 innings for starters and 0.03 for relievers, blended by share of starts. Misiorowski only started: 0.12 × 174⅔ ÷ 9 = +2.3 wins.
- Adding the two gives WAR 6.7. In runs, he allowed 59.5 fewer than a replacement pitcher would have. The same math with his actual runs allowed (RA9 2.22) gives runs-allowed WAR 7.5.
FanGraphs adds two more steps. It multiplies a reliever's value by (1 + gmLI) ÷ 2, where gmLI is the leverage of the situations he enters, and it adds −0.0007 to −0.0012 wins per inning so that league-wide pitcher WAR totals 430 wins. Both need league-wide data, so this calculator leaves them out. Counting the league correction alone, a 180-inning starter comes out about 0.1 to 0.2 wins higher; leaving out infield flies can move a pitcher either way.
Values that change by league and season (KBO and MLB, 2025 and 2026)
The same stats give a different WAR depending on the league and season. A higher-scoring league needs more runs to win a game, and a higher league wOBA shrinks the runs above average that the same hitting is worth. These are the values the calculator uses.
| Basis | League wOBA | Runs per win | Runs per PA | Replacement credit (600 PA) | League adjustment (600 PA) | Runs allowed per 9 innings | ERA | FIP constant |
|---|---|---|---|---|---|---|---|---|
| KBO 2026 | .346 | 10.72 | .129 | 19.2 runs (1.79 wins) | +1.6 | 5.15 | 4.66 | 3.553 |
| KBO 2025 | .338 | 10.20 | .122 | 18.5 runs (1.81 wins) | +1.6 | 4.80 | 4.31 | 3.430 |
| MLB 2026 | .316 | 9.82 | .118 | 18.3 runs (1.86 wins) | +1.7 | 4.55 | 4.17 | 3.100 |
| MLB 2025 | .313 | 9.77 | .118 | 18.3 runs (1.87 wins) | +1.7 | 4.52 | 4.15 | 3.135 |
The MLB values come from the season constants in the FanGraphs Guts! table and the totals of the 30 MLB clubs. The KBO values apply the FanGraphs formulas to the totals of the 10 KBO clubs (720 games) from the official KBO records. KBO has no published wOBA weights, so the same year's MLB weights are stretched to fit the KBO on-base percentage (by 1.042 in 2026 and 1.059 in 2025). The replacement credit uses the FanGraphs convention of giving hitters 57% of the league's 1,000 wins, scaled by the number of games for KBO.
Positional adjustment: why catchers and shortstops get more WAR for the same bat
Fielding runs are measured against the average player at the same position, so an average shortstop and an average first baseman both score 0. But playing shortstop at an average level is much harder, so FanGraphs adds or subtracts the values below for every 162 games (1,458 fielding innings).
| Position | Per 162 games | Per 1,150 innings (a typical regular) | Crow-Armstrong's line placed at this position for 1,370 innings |
|---|---|---|---|
| Catcher | +12.5 | +9.9 | WAR 9.1 |
| Shortstop | +7.5 | +5.9 | WAR 8.6 |
| 2B / 3B / CF | +2.5 | +2.0 | WAR 8.1 |
| LF / RF | −7.5 | −5.9 | WAR 7.1 |
| First base | −12.5 | −9.9 | WAR 6.7 |
| Designated hitter | −17.5 | −13.8 | WAR 6.2 |
A DH does not field at all, so he takes the biggest cut. Yordan Alvarez (HOU) in 2026 hit far better than Crow-Armstrong (CHC), with +62.9 batting runs against +49.0. But 134 games at DH plus 194 innings in left field cost him 15.5 runs in positional adjustment, so his WAR of 7.1 sits below Crow-Armstrong's 8.1 in center field. If a player moved around, split the innings across positions; a DH game counts as 9 innings.
When the FIP-based and runs-allowed-based values split
FanGraphs WAR uses FIP, but FanGraphs also publishes a version that runs the same math on actual runs allowed (RA9-WAR). Baseball-Reference uses runs allowed and adjusts separately for team defense. When the two values differ a lot, defense, luck and how well the pitcher manages contact are mixed into the gap.
| Pitcher (2026) | Innings | ERA | FIP | FIP-based WAR | Runs-allowed WAR |
|---|---|---|---|---|---|
| Gwak Been (Doosan) | 161 | 2.24 | 2.81 | 5.5 | 7.2 |
| Won Tae In (Samsung) | 145⅓ | 4.52 | 3.35 | 4.0 | 2.7 |
| Jacob Misiorowski (MIL) | 174⅔ | 1.80 | 2.17 | 6.7 | 7.5 |
Won Tae In's 4.52 ERA looks ordinary, but he gives up few walks and homers and strikes batters out, which makes his FIP 3.35. That is 4.0 wins by FIP and 2.7 wins by actual runs allowed, a gap of 1.3. FanGraphs says it is still not sure how much of the results on balls in play belongs to the pitcher, and it publishes both numbers so that one can inform the other.
What counts as a good WAR
FanGraphs gives the rough scale below for one season of a position player or starting pitcher. A full-time average hitter or average starter is around 2, and a reliever with more than 1 has a very good season. FanGraphs also says WAR is not accurate to the decimal, so it is safer to read close values like 6.4 and 6.1 as the same level.
| WAR | FanGraphs label | Shown in this calculator | 2026 examples (calculator values) |
|---|---|---|---|
| 0–1 | Scrub | Replacement level | |
| 1–2 | Role Player | Role player | |
| 2–3 | Solid Starter | Solid starter | Ohtani as a pitcher 2.8 (85⅔ innings) |
| 3–4 | Good Player | Good player | Heo In Seo 3.0, Ohtani as a hitter 3.7 |
| 4–5 | All-Star | All-Star | Park Seong Han 4.9, Won Tae In 4.0 |
| 5–6 | Superstar | Superstar | Moreno 5.1, Gwak Been 5.5 |
| 6 or more | MVP | MVP | Misiorowski 6.7, Kim Do Yeong and Alvarez 7.1, Crow-Armstrong 8.1 |
A KBO season is 144 games, shorter than MLB's 162, so the same skill produces slightly less total WAR. The scale was built for MLB seasons, so treat it as a rough yardstick for KBO values.
Why fWAR, bWAR and other sites' WAR differ
FanGraphs (fWAR) and Baseball-Reference (bWAR) set the replacement level the same way (1,000 wins league-wide, a .294 winning percentage). The values still differ because the ingredients differ.
- Pitchers: FanGraphs uses FIP (counting infield flies like strikeouts), while Baseball-Reference uses actual runs allowed plus a team defense adjustment.
- Fielding: depending on which metric is used (UZR, DRS, OAA and so on), the same player's fielding runs can move by several runs.
- Runs per win: FanGraphs uses a league-wide value for hitters, while Baseball-Reference runs a Pythagorean calculation from the run environment of the player and his team.
- Other WAR sources: record-keeping sites outside the US, including Korean ones, publish WAR with their own replacement level and their own fielding and baserunning methods. The same player can have a different WAR on each site.
This calculator follows the FanGraphs formulas, so compare its results with values built the same way.
Common mistakes
- Leaving out the replacement credit: adding up only the runs above average and dividing by runs per win gives WAA (wins above average), not WAR. For Crow-Armstrong's 2026 line, 8.1 drops to 5.8.
- Adding DRS and UZR: both measure the same fielding in different ways, so adding them counts it twice. Enter only one.
- Skipping the DH adjustment: a DH loses 17.5 runs per 162 games. Leaving that out can inflate a DH's WAR by well over a win (17.5 ÷ 9.82 is about 1.8 wins over a full season).
- Reading innings as decimals: 145.1 innings means 145⅓, not 145.1. This calculator reads .1 and .2 as one third and two thirds.
- Subtracting intentional walks before entering walks: the walks field takes total walks including intentional ones. The calculator removes the intentional walks from wOBA itself.
- Using MLB values for KBO stats: runs per win (10.72 against 9.82) and league wOBA (.346 against .316) differ, which changes the result a lot. Pick the league and season the stats came from.
Limits
- Fielding runs and other baserunning runs (UBR, avoiding double plays) cannot be computed from public box-score stats, so you enter them yourself. If you leave them blank, the calculator uses the league average (0).
- The American League and National League term in FanGraphs batting runs is not included, and the park adjustment uses only the park factor you type in.
- Pitcher FIP does not include infield flies (FanGraphs counts them like strikeouts), and the reliever leverage multiplier and the league-wide pitcher adjustment are also left out. A closer can come out lower than the FanGraphs value, and, counting the league correction alone, a starter 0.1 to 0.2 wins higher.
- The KBO weights and replacement level are MLB values stretched to fit KBO league totals, not values built from a KBO run-expectancy table.
- The examples set fielding runs to 0, and KBO records do not list DH games separately, so the KBO examples use fielding innings only.
- FanGraphs player pages could not be loaded this time because of a human-verification step, so the example values were not checked against the figures FanGraphs displays. The formulas and league constants were checked against the FanGraphs source texts and the Guts! table.
- League values are final regular-season totals for 2025 and 2026. A season still in progress is not included, and neither are other leagues: NPB (Japan) league values are not available yet.
As of 2026-10-23. The formulas and constants were checked on this date against the FanGraphs Library and Guts! source texts and the Baseball-Reference explanation. The league totals and the example players' stats were calculated on the same date from the final 2025 and 2026 regular-season records of the official KBO records and the MLB Stats API.
Sources
- 01FanGraphs Library: What is WAR?Rough scale (Scrub 0-1 to MVP 6+), 1,000 league-wide wins (.294 winning percentage), 570 for hitters and 430 for pitchers, the standard for relievers
- 02FanGraphs Library: WAR for Position PlayersHitter WAR formula, wRAA and park terms, wSB and runCS = −(2 × runs per out + 0.075), league adjustment, replacement credit = 570 × games/2,430 × runs per win/league PA, runs per win = 9 × R/IP × 1.5 + 3
- 03FanGraphs Library: WAR for PitchersifFIP, FIPR9 = FIP + league RA9 − league ERA, park adjustment, runs per win for each pitcher, replacement level 0.12 for starters and 0.03 for relievers, leverage (1 + gmLI)/2, league adjustment −0.0007 to −0.0012 per IP
- 04FanGraphs Library: Positional AdjustmentCatcher +12.5 to DH −17.5 per 1,458 fielding innings (162 games), example of 1,214 first-base innings = −10.4 runs
- 05FanGraphs Library: Replacement LevelDefinition of a replacement player, a .297 club (47-48 wins per team), about 17 runs between an average and a replacement player over 600 PA
- 06FanGraphs Library: wSB0.2 runs per steal, the value of a caught stealing, zeroing the average with league runs per opportunity
- 07FanGraphs: Guts! wOBA and FIP Constants2025 and 2026 league wOBA, wOBA scale, weights, runSB, runCS, R/PA, R/W (9.774 and 9.822), cFIP (3.135 and 3.100)
- 08FanGraphs: What Are Teams Paying For A Win In Free Agency? 2026 EditionBen Clemens, 2026-02-24. 89 free agents at $11.23M per projected WAR, 19 players at 2+ WAR at $12.84M, table by year
- 09Baseball-Reference: WAR ExplainedReplacement level .294 (aligned with FanGraphs in 2013), pitcher WAR from runs allowed, Pythagorean win conversion
- 10KBO official records: team hitting, pitching and baserunning2025 and 2026 regular-season totals for the 10 clubs (PA, AB, hits, extra-base hits, walks, intentional walks, HBP, sacrifice flies, runs, innings, runs allowed, earned runs, strikeouts, steals, caught stealing)
- 11KBO official records: player detail, defense and daily logs2026 example hitters' batting, steals and innings by position; pitchers' basic stats and the number of games started from the daily logs
- 12MLB Stats API: team season stats2025 and 2026 regular-season hitting and pitching totals for the 30 clubs, plus the example players' hitting, fielding (innings by position, DH games) and pitching stats
Frequently asked questions
What does WAR mean?
WAR stands for Wins Above Replacement. It counts how many more wins a player gave his team than a replacement player, someone a club can sign at minimum salary, would have in the same spot. Batting, baserunning, fielding and pitching are all converted to wins, so players at different positions can be compared.
How is WAR calculated?
FanGraphs hitter WAR is (batting + baserunning + fielding + positional adjustment + league adjustment + replacement credit) ÷ runs per win. For pitchers, FIP is turned into a run scale, its gap from the league average is divided by that pitcher's runs per win, the replacement level (0.12 wins per 9 innings for starters, 0.03 for relievers) is added, and the sum is multiplied by innings ÷ 9.
What is a good WAR, and what is average?
FanGraphs puts a full-time average hitter or average starter at around 2 WAR and a bench player at 0 to 1. A reliever with more than 1 WAR has a very good season. In this calculator, a second baseman who hits exactly league average over 600 PA and 1,150 innings in 2026 MLB comes out at 2.2.
How much is 1 WAR worth in dollars?
FanGraphs analyzed 89 free agents in the 2025-26 MLB offseason and found teams paid an average of $11.23 million per projected WAR, and $12.84 million per WAR for the 19 players projected at 2 WAR or more. From 2023 to 2025 the overall figure ranged from $10.34 million to $12.08 million. Korea has no published equivalent.
Can WAR be negative?
Yes. It means the player added less than a replacement player would have. A player who is well below average at the plate and in the field and who plays a lot can go negative. The FanGraphs WAR explainer cites Neifi Pérez's −3.1 in 2002 for Kansas City as an example of a very low value.
Why do fWAR and bWAR differ?
FanGraphs (fWAR) and Baseball-Reference (bWAR) use the same replacement level, but they differ on whether a pitcher is judged on FIP or on runs allowed, and on which fielding metric they use. Other sites, including Korean ones, have their own methods. This calculator follows FanGraphs, so compare it with values built the same way.
Why do catchers and shortstops get more WAR for the same bat?
The positional adjustment explains it. For every 162 games (1,458 fielding innings), FanGraphs adds 12.5 runs for a catcher, 7.5 for a shortstop and 2.5 for 2B, 3B and CF, and subtracts 7.5 for LF and RF, 12.5 for 1B and 17.5 for DH. Crow-Armstrong's 2026 line gives WAR 9.1 as a catcher and 6.7 at first base over 1,370 innings.
What if I don't know the defensive runs?
Leave the field blank and the calculator uses the position average, 0 runs. If you have a number, enter only one of UZR, DRS or OAA, because adding two of them counts the same fielding twice. The bigger a player's fielding runs, the more uncertain his WAR is.