2021 season · rankings
2021 MLB Batting Leaders
132 players qualified at 502 plate appearances, ranked by dbWAR. Every column sorts across the full qualified set — not just the rows shown — and the whole table downloads as Parquet.
PositionLeaguePool
Who
132 of 132 qualifiedDownload Parquet
| # | |||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 1 | Bryce Harper | RF | 29 | 141 | 599 | 35 | 84 | 13 | .309 | .429 | .615 | .305 | 16.7% | 22.4% | .435 | 68.0% | 91.0 | 15.4% | 49.4% | 184 | 7.2 |
| 2 | Juan Soto | RF | 23 | 151 | 654 | 29 | 95 | 9 | .313 | .465 | .534 | .221 | 22.2% | 14.2% | .426 | 80.0% | 93.0 | 12.6% | 52.8% | 179 | 7.1 |
| 3 | Trea Turner | SS | 28 | 148 | 646 | 28 | 77 | 32 | .328 | .375 | .536 | .208 | 6.3% | 17.0% | .388 | 77.0% | 89.6 | 7.0% | 46.4% | 152 | 6.9 |
| 4 | Vladimir Guerrero Jr. | 1B | 22 | 161 | 698 | 48 | 111 | 4 | .311 | .401 | .601 | .290 | 12.3% | 15.8% | .422 | 72.2% | 95.1 | 13.8% | 55.5% | 166 | 6.8 |
| 5 | Fernando Tatis Jr. | SS | 22 | 130 | 546 | 42 | 97 | 25 | .282 | .364 | .611 | .328 | 11.4% | 28.0% | .405 | 65.2% | 93.7 | 19.5% | 55.6% | 165 | 6.5 |
| 6 | Marcus Semien | 2B | 31 | 162 | 724 | 45 | 102 | 15 | .265 | .334 | .538 | .273 | 9.1% | 20.2% | .370 | 78.5% | 89.7 | 7.7% | 41.6% | 132 | 6.1 |
| 7 | Bryan Reynolds | CF | 26 | 159 | 646 | 24 | 90 | 5 | .302 | .390 | .522 | .220 | 11.6% | 18.4% | .389 | 76.1% | 89.2 | 10.2% | 41.0% | 149 | 6.1 |
| 8 | Cedric Mullins | CF | 27 | 157 | 675 | 30 | 59 | 30 | .291 | .360 | .518 | .228 | 8.7% | 18.5% | .374 | 79.2% | 88.2 | 7.3% | 39.4% | 133 | 5.9 |
| 9 | Austin Riley | 3B | 24 | 160 | 662 | 33 | 107 | 0 | .303 | .367 | .531 | .227 | 7.9% | 25.4% | .382 | 71.7% | 90.1 | 12.6% | 45.9% | 140 | 5.8 |
| 10 | Bo Bichette | SS | 23 | 159 | 690 | 29 | 102 | 25 | .298 | .343 | .484 | .186 | 5.8% | 19.9% | .355 | 77.7% | 91.4 | 8.7% | 47.6% | 122 | 5.5 |
| 11 | Carlos Correa | SS | 27 | 148 | 640 | 26 | 92 | 0 | .279 | .366 | .485 | .205 | 11.7% | 18.1% | .367 | 79.1% | 90.2 | 9.0% | 42.7% | 135 | 5.5 |
| 12 | José Ramírez | 3B | 29 | 152 | 636 | 36 | 103 | 27 | .266 | .355 | .538 | .272 | 11.3% | 13.7% | .375 | 85.1% | 89.9 | 10.2% | 42.8% | 142 | 5.5 |
| 13 | Rafael Devers | 3B | 25 | 156 | 664 | 38 | 113 | 5 | .279 | .352 | .538 | .259 | 9.3% | 21.5% | .375 | 72.3% | 92.7 | 14.4% | 51.9% | 131 | 5.5 |
| 14 | Brandon Crawford | SS | 34 | 136 | 549 | 24 | 90 | 11 | .298 | .373 | .522 | .224 | 10.2% | 19.1% | .380 | 70.7% | 88.7 | 10.5% | 43.5% | 145 | 5.4 |
| 15 | Xander Bogaerts | SS | 29 | 144 | 603 | 23 | 79 | 5 | .295 | .370 | .493 | .198 | 10.3% | 18.7% | .371 | 78.0% | 89.6 | 9.0% | 43.1% | 129 | 5.4 |
| 16 | Salvador Perez | C | 31 | 161 | 665 | 48 | 121 | 1 | .273 | .316 | .544 | .271 | 4.2% | 25.6% | .359 | 66.3% | 93.0 | 14.1% | 56.2% | 124 | 5.2 |
| 17 | Aaron Judge | RF | 29 | 148 | 633 | 39 | 98 | 6 | .287 | .373 | .544 | .256 | 11.8% | 25.0% | .390 | 70.9% | 95.8 | 16.5% | 58.4% | 152 | 5.1 |
| 18 | Jonathan India | 2B | 25 | 150 | 631 | 21 | 69 | 12 | .269 | .376 | .459 | .190 | 11.3% | 22.3% | .367 | 74.9% | 87.5 | 8.6% | 38.6% | 125 | 5.0 |
| 19 | Nick Castellanos | RF | 29 | 138 | 585 | 34 | 100 | 3 | .309 | .362 | .576 | .267 | 7.0% | 20.7% | .393 | 69.3% | 89.8 | 9.9% | 46.9% | 142 | 4.9 |
| 20 | Starling Marte | CF | 33 | 119 | 526 | 12 | 55 | 47 | .310 | .383 | .458 | .148 | 8.2% | 18.8% | .368 | 75.4% | 86.7 | 6.5% | 39.6% | 138 | 4.8 |
| 21 | Jose Altuve | 2B | 31 | 146 | 678 | 31 | 83 | 5 | .278 | .350 | .489 | .211 | 9.7% | 13.4% | .359 | 84.1% | 86.6 | 5.4% | 35.0% | 130 | 4.8 |
| 22 | Shohei Ohtani | DH | 27 | 155 | 639 | 46 | 100 | 26 | .257 | .372 | .592 | .335 | 15.0% | 29.6% | .397 | 64.9% | 92.9 | 20.8% | 53.7% | 153 | 4.8 |
| 23 | Brandon Lowe | 2B | 27 | 149 | 615 | 39 | 99 | 7 | .247 | .340 | .523 | .277 | 11.1% | 27.2% | .366 | 67.2% | 89.0 | 12.4% | 43.1% | 143 | 4.7 |
| 24 | Freddie Freeman | 1B | 32 | 159 | 695 | 31 | 83 | 8 | .300 | .393 | .503 | .203 | 12.2% | 15.4% | .382 | 79.0% | 91.4 | 10.9% | 46.2% | 141 | 4.6 |
| 25 | Kyle Tucker | RF | 24 | 137 | 567 | 30 | 92 | 14 | .294 | .359 | .557 | .263 | 9.3% | 15.9% | .385 | 79.7% | 91.2 | 10.9% | 47.5% | 148 | 4.5 |
| 26 | Justin Turner | 3B | 37 | 151 | 612 | 27 | 87 | 3 | .278 | .361 | .471 | .193 | 10.0% | 16.0% | .361 | 82.3% | 90.9 | 7.5% | 42.7% | 133 | 4.5 |
| 27 | Matt Olson | 1B | 27 | 156 | 673 | 39 | 111 | 4 | .271 | .371 | .540 | .269 | 13.1% | 16.8% | .382 | 77.0% | 91.5 | 12.3% | 48.8% | 150 | 4.4 |
| 28 | Paul Goldschmidt | 1B | 34 | 158 | 679 | 31 | 99 | 12 | .294 | .365 | .514 | .221 | 9.9% | 20.0% | .376 | 75.1% | 92.6 | 13.0% | 50.7% | 149 | 4.3 |
| 29 | Tyler O'Neill | LF | 26 | 137 | 537 | 34 | 80 | 15 | .286 | .352 | .560 | .274 | 7.1% | 31.3% | .386 | 65.3% | 93.0 | 16.4% | 52.2% | 156 | 4.3 |
| 30 | Max Muncy | 1B | 31 | 143 | 592 | 36 | 94 | 2 | .249 | .368 | .527 | .278 | 14.0% | 20.3% | .383 | 76.6% | 91.2 | 15.2% | 46.8% | 147 | 4.2 |
| 31 | Manny Machado | 3B | 29 | 153 | 640 | 28 | 106 | 12 | .278 | .347 | .489 | .211 | 9.8% | 15.9% | .352 | 77.0% | 93.0 | 12.1% | 52.3% | 128 | 4.2 |
| 32 | Jorge Polanco | 2B | 28 | 151 | 644 | 33 | 98 | 11 | .269 | .323 | .503 | .235 | 7.0% | 18.3% | .351 | 80.3% | 88.3 | 9.5% | 37.5% | 124 | 4.2 |
| 33 | Trevor Story | SS | 29 | 142 | 595 | 24 | 75 | 20 | .251 | .329 | .471 | .221 | 8.9% | 23.4% | .344 | 72.6% | 90.6 | 9.7% | 42.6% | 110 | 4.1 |
| 34 | Joey Votto | 1B | 38 | 129 | 533 | 36 | 99 | 1 | .266 | .375 | .563 | .297 | 14.4% | 23.8% | .395 | 70.6% | 92.9 | 15.7% | 53.2% | 143 | 4.1 |
| 35 | Willy Adames | SS | 26 | 137 | 555 | 25 | 73 | 5 | .262 | .337 | .481 | .219 | 10.3% | 28.1% | .352 | 67.4% | 89.5 | 10.2% | 44.7% | 123 | 4.0 |
| 36 | Ozzie Albies | 2B | 24 | 156 | 686 | 30 | 106 | 20 | .259 | .310 | .488 | .229 | 6.9% | 18.7% | .338 | 75.1% | 89.5 | 8.3% | 37.4% | 111 | 3.9 |
| 37 | Yoán Moncada | 3B | 26 | 144 | 616 | 14 | 61 | 3 | .263 | .375 | .412 | .148 | 13.6% | 25.5% | .352 | 71.9% | 90.1 | 7.5% | 41.4% | 124 | 3.9 |
| 38 | Tim Anderson | SS | 28 | 123 | 551 | 17 | 61 | 18 | .309 | .338 | .469 | .159 | 4.0% | 21.6% | .346 | 74.1% | 89.6 | 7.7% | 42.5% | 119 | 3.8 |
| 39 | Teoscar Hernández | RF | 29 | 142 | 595 | 32 | 116 | 12 | .296 | .346 | .524 | .227 | 6.1% | 24.9% | .370 | 68.2% | 91.8 | 13.3% | 49.5% | 132 | 3.8 |
| 40 | C.J. Cron | 1B | 31 | 142 | 547 | 28 | 92 | 1 | .281 | .375 | .530 | .249 | 11.0% | 21.4% | .386 | 72.6% | 88.8 | 10.1% | 42.0% | 137 | 3.8 |
| 41 | Jeimer Candelario | 3B | 28 | 149 | 626 | 16 | 67 | 0 | .271 | .351 | .443 | .172 | 10.4% | 21.6% | .348 | 76.5% | 88.6 | 8.8% | 39.0% | 126 | 3.8 |
| 42 | Javier Báez | SS | 29 | 138 | 547 | 31 | 87 | 18 | .265 | .319 | .494 | .229 | 5.1% | 33.6% | .345 | 59.4% | 89.7 | 13.1% | 45.3% | 117 | 3.7 |
| 43 | Kris Bryant | 3B | 29 | 144 | 586 | 25 | 73 | 10 | .265 | .353 | .481 | .216 | 10.6% | 23.0% | .359 | 72.0% | 88.2 | 9.5% | 40.0% | 127 | 3.7 |
| 44 | Mookie Betts | RF | 29 | 121 | 550 | 23 | 58 | 10 | .264 | .367 | .487 | .223 | 12.4% | 15.6% | .370 | 83.2% | 90.4 | 6.6% | 41.5% | 138 | 3.7 |
| 45 | Jake Cronenworth | 2B | 27 | 152 | 643 | 21 | 71 | 4 | .266 | .340 | .460 | .194 | 8.6% | 14.0% | .344 | 86.3% | 88.1 | 6.3% | 35.3% | 122 | 3.6 |
| 46 | J.T. Realmuto | C | 30 | 132 | 537 | 17 | 73 | 13 | .263 | .343 | .439 | .176 | 8.9% | 24.0% | .339 | 73.0% | 89.6 | 7.5% | 44.8% | 116 | 3.6 |
| 47 | Nicky Lopez | SS | 26 | 147 | 565 | 2 | 43 | 22 | .300 | .365 | .378 | .078 | 8.7% | 13.1% | .332 | 84.3% | 84.3 | 0.7% | 27.1% | 105 | 3.6 |
| 48 | Adam Frazier | 2B | 30 | 154 | 639 | 5 | 43 | 10 | .305 | .368 | .411 | .106 | 7.5% | 10.8% | .344 | 87.6% | 85.0 | 0.8% | 25.3% | 118 | 3.6 |
| 49 | Luis Urías | SS | 24 | 149 | 570 | 23 | 75 | 5 | .249 | .345 | .445 | .196 | 11.1% | 20.4% | .344 | 77.2% | 87.8 | 8.7% | 40.5% | 117 | 3.6 |
| 50 | Nolan Arenado | 3B | 30 | 157 | 653 | 34 | 105 | 2 | .255 | .312 | .494 | .239 | 7.7% | 14.7% | .338 | 81.5% | 89.0 | 5.8% | 37.5% | 120 | 3.5 |
Reading this table
wOBA weights each offensive outcome by the runs it is actually worth, using weights measured from this season's own play-by-play. wRC+ indexes that against the league and adjusts for park, so 100 is average. dbWAR is our own open implementation, not fWAR or bWAR. See the full derivation →