Loading games...
2026 Stats
G
110
AB
407
H
108
HR
18
RBI
76
R
58
SB
1
AVG
.265
OBP
.330
SLG
.440
OPS
.770
Career Stats
G
850
AB
2630
H
668
HR
102
RBI
389
R
332
SB
12
AVG
.254
OBP
.323
SLG
.424
OPS
.747
Year-by-Year Hitting
| Year | Team | G | PA | AB | H | HR | RBI | SB | AVG | OBP | SLG | OPS | Awards |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2018 | KC | 44 | 170 | 149 | 39 | 12 | 30 | — | .262 | .353 | .597 | .950 | |
| 2019 | KC | 105 | 370 | 328 | 64 | 14 | 38 | — | .195 | .281 | .369 | .650 | |
| 2020 | KC | 42 | 132 | 113 | 22 | 2 | 18 | — | .195 | .303 | .301 | .604 | |
| 2021 | KC | 84 | 254 | 236 | 53 | 9 | 29 | — | .225 | .268 | .369 | .637 | |
| 2022 | KC | 67 | 145 | 134 | 32 | 1 | 16 | — | .239 | .290 | .321 | .611 | |
| 2023 | BAL | 112 | 368 | 346 | 100 | 14 | 60 | 5 | .289 | .322 | .480 | .802 | |
| 2024 | BAL | 142 | 494 | 443 | 117 | 15 | 59 | 3 | .264 | .334 | .427 | .761 | |
| 2025 | Total | 144 | 544 | 474 | 133 | 17 | 63 | 3 | .281 | .366 | .437 | .803 | AS |
| 2026 | PIT | 110 | 451 | 407 | 108 | 18 | 76 | 1 | .265 | .330 | .440 | .770 |
Spring Training
Hitting
| Year | Team | G | PA | AB | H | HR | RBI | SB | AVG | OBP | SLG | OPS |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2016 | KC | 4 | 6 | 6 | 2 | — | — | — | .333 | .333 | .333 | .666 |
| 2017 | KC | 17 | 32 | 30 | 7 | 2 | 5 | — | .233 | .281 | .567 | .848 |
| 2018 | KC | 19 | 38 | 35 | 14 | 5 | 13 | 1 | .400 | .447 | 1.000 | 1.447 |
| 2019 | KC | 20 | 58 | 50 | 16 | 1 | 14 | — | .320 | .414 | .440 | .854 |
| 2020 | KC | 13 | 38 | 35 | 12 | 5 | 9 | — | .343 | .395 | .857 | 1.252 |
| 2021 | KC | 21 | 49 | 43 | 9 | 5 | 6 | — | .209 | .306 | .628 | .934 |
| 2022 | KC | 12 | 32 | 31 | 12 | 2 | 6 | — | .387 | .406 | .645 | 1.051 |
| 2023 | BAL | 18 | 45 | 40 | 15 | 3 | 6 | — | .375 | .444 | .650 | 1.094 |
| 2024 | BAL | 16 | 48 | 40 | 13 | 1 | 4 | — | .325 | .438 | .450 | .888 |
| 2025 | BAL | 16 | 48 | 43 | 10 | 2 | 7 | — | .233 | .313 | .442 | .755 |
| 2026 | PIT | 17 | 49 | 40 | 10 | 2 | 9 | — | .250 | .367 | .450 | .817 |
Postseason
Hitting
| Year | Team | G | PA | AB | H | HR | RBI | SB | AVG | OBP | SLG | OPS |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2023 | BAL | 3 | 5 | 5 | 1 | — | — | — | .200 | .200 | .200 | .400 |
| 2024 | BAL | 2 | 3 | 2 | 1 | — | — | — | .500 | .667 | .500 | 1.167 |
| 2025 | SD | 3 | 11 | 9 | 2 | — | — | — | .222 | .364 | .222 | .586 |
Game Logs
Season selector loads one year at a time.
Hitting
| Date | Opponent | AB | H | 2B | 3B | HR | RBI | R | BB | SO |
|---|---|---|---|---|---|---|---|---|---|---|
| 2026-09-27 | @ DET | 3 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 2 |
| 2026-09-26 | @ DET | 4 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 |
| 2026-09-25 | @ DET | 4 | 2 | 0 | 0 | 0 | 2 | 2 | 0 | 1 |
| 2026-09-24 | vs STL | 3 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 1 |
| 2026-09-23 | vs STL | 3 | 2 | 2 | 0 | 0 | 0 | 0 | 0 | 0 |
| 2026-09-22 | vs STL | 4 | 1 | 0 | 0 | 0 | 1 | 0 | 0 | 1 |
| 2026-09-20 | vs KC | 3 | 1 | 0 | 0 | 0 | 0 | 1 | 1 | 1 |
| 2026-09-19 | vs KC | 4 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 2 |
| 2026-09-18 | vs KC | 3 | 0 | 0 | 0 | 0 | 1 | 0 | 1 | 1 |
| 2026-09-16 | vs MIL | 4 | 2 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
| 2026-09-15 | vs MIL | 3 | 1 | 0 | 0 | 0 | 0 | 0 | 1 | 1 |
| 2026-09-13 | @ CHC | 4 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 |
| 2026-09-12 | @ CHC | 4 | 1 | 0 | 0 | 1 | 3 | 1 | 0 | 1 |
| 2026-09-11 | @ CHC | 2 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
| 2026-07-31 | @ CIN | 4 | 1 | 0 | 0 | 0 | 0 | 0 | 1 | 0 |
| 2026-07-30 | @ CIN | 4 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 |
| 2026-07-29 | vs AZ | 4 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
| 2026-07-28 | vs AZ | 6 | 2 | 2 | 0 | 0 | 1 | 1 | 0 | 0 |
| 2026-07-27 | vs AZ | 4 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
| 2026-07-26 | vs CHC | 2 | 1 | 0 | 0 | 1 | 4 | 2 | 2 | 0 |
| 2026-07-25 | vs CHC | 3 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
| 2026-07-24 | vs CHC | 4 | 2 | 0 | 0 | 0 | 0 | 0 | 0 | 1 |
| 2026-07-22 | @ NYY | 4 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 3 |
| 2026-07-22 | @ NYY | 4 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 2 |
| 2026-07-20 | @ NYY | 4 | 2 | 0 | 0 | 0 | 0 | 1 | 0 | 2 |
| 2026-07-19 | @ CLE | 4 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 1 |
| 2026-07-18 | @ CLE | 3 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 2 |
| 2026-07-18 | @ CLE | 3 | 0 | 0 | 0 | 0 | 0 | 1 | 1 | 0 |
| 2026-07-12 | vs MIL | 2 | 2 | 1 | 0 | 0 | 2 | 2 | 1 | 0 |
| 2026-07-11 | vs MIL | 3 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 3 |
| 2026-07-11 | vs MIL | 3 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
| 2026-07-09 | vs ATL | 4 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 |
| 2026-07-08 | vs ATL | 4 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
| 2026-07-07 | vs ATL | 5 | 4 | 0 | 0 | 3 | 10 | 3 | 0 | 0 |
| 2026-07-05 | @ WSH | 2 | 1 | 0 | 0 | 0 | 0 | 2 | 3 | 0 |
| 2026-07-04 | @ WSH | 4 | 2 | 0 | 0 | 0 | 0 | 1 | 0 | 1 |
| 2026-07-03 | @ WSH | 5 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 |
| 2026-07-02 | @ PHI | 5 | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 2 |
| 2026-07-01 | @ PHI | 5 | 1 | 0 | 0 | 0 | 0 | 1 | 0 | 2 |
| 2026-06-30 | @ PHI | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 |
| 2026-06-29 | @ PHI | 5 | 2 | 0 | 0 | 0 | 1 | 2 | 0 | 1 |
| 2026-06-28 | vs CIN | 5 | 3 | 0 | 0 | 2 | 4 | 3 | 0 | 1 |
| 2026-06-27 | vs CIN | 5 | 1 | 0 | 0 | 0 | 1 | 0 | 0 | 0 |
| 2026-06-26 | vs CIN | 3 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 2 |
| 2026-06-25 | vs SEA | 4 | 1 | 0 | 0 | 0 | 1 | 0 | 0 | 2 |
| 2026-06-24 | vs SEA | 5 | 4 | 3 | 0 | 0 | 3 | 2 | 0 | 0 |
| 2026-06-23 | vs SEA | 4 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
| 2026-06-21 | @ COL | 4 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 2 |
| 2026-06-20 | @ COL | 4 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 2 |
| 2026-06-19 | @ COL | 4 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
| 2026-06-17 | @ ATH | 5 | 3 | 1 | 0 | 1 | 6 | 1 | 0 | 0 |
| 2026-06-16 | @ ATH | 5 | 3 | 1 | 0 | 0 | 0 | 1 | 0 | 1 |
| 2026-06-15 | @ ATH | 4 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 |
| 2026-06-14 | vs MIA | 5 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 2 |
| 2026-06-13 | vs MIA | 4 | 2 | 0 | 0 | 0 | 1 | 0 | 0 | 1 |
| 2026-06-12 | vs MIA | 4 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 |
| 2026-06-11 | vs LAD | 3 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 2 |
| 2026-06-10 | vs LAD | 5 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 2 |
| 2026-06-09 | vs LAD | 4 | 1 | 0 | 0 | 1 | 1 | 1 | 0 | 3 |
| 2026-06-07 | @ ATL | 4 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 |
| 2026-06-06 | @ ATL | 4 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 |
| 2026-06-05 | @ ATL | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
| 2026-06-04 | @ HOU | 4 | 2 | 0 | 0 | 1 | 3 | 1 | 0 | 1 |
| 2026-06-03 | @ HOU | 2 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 |
| 2026-06-02 | @ HOU | 4 | 1 | 0 | 0 | 0 | 0 | 1 | 1 | 2 |
| 2026-05-31 | vs MIN | 4 | 2 | 0 | 0 | 1 | 1 | 1 | 0 | 1 |
| 2026-05-16 | vs PHI | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
| 2026-05-15 | vs PHI | 4 | 0 | 0 | 0 | 0 | 0 | 1 | 1 | 1 |
| 2026-05-14 | vs COL | 4 | 3 | 0 | 0 | 1 | 2 | 2 | 0 | 0 |
| 2026-05-13 | vs COL | 4 | 2 | 1 | 0 | 1 | 1 | 2 | 0 | 0 |
| 2026-05-12 | vs COL | 4 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 2 |
| 2026-05-10 | @ SF | 6 | 1 | 0 | 0 | 0 | 0 | 1 | 0 | 1 |
| 2026-05-09 | @ SF | 5 | 2 | 0 | 0 | 0 | 1 | 1 | 1 | 0 |
| 2026-05-08 | @ SF | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
| 2026-05-07 | @ AZ | 4 | 1 | 0 | 0 | 0 | 1 | 0 | 0 | 2 |
| 2026-05-06 | @ AZ | 3 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 |
| 2026-05-05 | @ AZ | 3 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 |
| 2026-05-03 | vs CIN | 3 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 2 |
| 2026-05-02 | vs CIN | 4 | 2 | 1 | 0 | 0 | 3 | 3 | 1 | 2 |
| 2026-05-01 | vs CIN | 5 | 2 | 0 | 0 | 0 | 1 | 1 | 0 | 0 |
| 2026-04-30 | vs STL | 4 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 1 |
| 2026-04-29 | vs STL | 5 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 |
| 2026-04-28 | vs STL | 4 | 2 | 0 | 0 | 1 | 3 | 2 | 0 | 1 |
| 2026-04-27 | vs STL | 3 | 1 | 0 | 0 | 0 | 1 | 0 | 1 | 1 |
| 2026-04-26 | @ MIL | 4 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 |
| 2026-04-25 | @ MIL | 4 | 1 | 0 | 0 | 0 | 0 | 1 | 0 | 2 |
| 2026-04-24 | @ MIL | 4 | 2 | 1 | 0 | 0 | 0 | 2 | 0 | 0 |
| 2026-04-23 | @ TEX | 3 | 1 | 0 | 0 | 0 | 0 | 0 | 1 | 1 |
| 2026-04-22 | @ TEX | 3 | 1 | 0 | 0 | 0 | 0 | 0 | 1 | 0 |
| 2026-04-21 | @ TEX | 4 | 1 | 0 | 0 | 0 | 1 | 0 | 0 | 1 |
| 2026-04-18 | vs TB | 3 | 2 | 0 | 0 | 1 | 2 | 2 | 1 | 1 |
| 2026-04-17 | vs TB | 4 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 |
| 2026-04-16 | vs WSH | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
| 2026-04-15 | vs WSH | 4 | 3 | 0 | 0 | 0 | 0 | 1 | 0 | 1 |
| 2026-04-14 | vs WSH | 3 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 |
| 2026-04-13 | vs WSH | 5 | 1 | 1 | 0 | 0 | 1 | 1 | 0 | 3 |
| 2026-04-12 | @ CHC | 4 | 2 | 0 | 0 | 0 | 0 | 0 | 0 | 1 |
| 2026-04-11 | @ CHC | 3 | 0 | 0 | 0 | 0 | 1 | 0 | 1 | 0 |
| 2026-04-10 | @ CHC | 4 | 1 | 0 | 0 | 0 | 0 | 1 | 0 | 0 |
| 2026-04-08 | vs SD | 4 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
| 2026-04-07 | vs SD | 3 | 2 | 0 | 0 | 0 | 0 | 1 | 1 | 0 |
| 2026-04-06 | vs SD | 3 | 1 | 1 | 0 | 0 | 0 | 0 | 1 | 1 |
| 2026-04-05 | vs BAL | 5 | 2 | 1 | 0 | 1 | 4 | 1 | 0 | 1 |
| 2026-04-04 | vs BAL | 4 | 1 | 0 | 0 | 0 | 0 | 0 | 1 | 1 |
| 2026-04-03 | vs BAL | 2 | 0 | 0 | 0 | 0 | 1 | 1 | 1 | 1 |
| 2026-03-31 | @ CIN | 3 | 1 | 0 | 0 | 1 | 3 | 1 | 1 | 0 |
| 2026-03-30 | @ CIN | 2 | 1 | 0 | 0 | 0 | 0 | 0 | 2 | 0 |
| 2026-03-29 | @ NYM | 5 | 3 | 0 | 0 | 0 | 2 | 0 | 0 | 2 |
| 2026-03-28 | @ NYM | 5 | 1 | 0 | 0 | 0 | 0 | 0 | 1 | 0 |
| 2026-03-26 | @ NYM | 4 | 2 | 0 | 0 | 1 | 1 | 2 | 0 | 1 |
Transactions
Entire history • newest first.
2026-09-16
RF Ryan O'Hearn changed number to 29.
2026-09-15
RF Ryan O'Hearn changed number to 21.
2026-09-11
Pittsburgh Pirates activated RF Ryan O'Hearn from the 10-day injured list.
2026-09-08
Pittsburgh Pirates sent RF Ryan O'Hearn on a rehab assignment to Indianapolis Indians.
2026-08-01
Pittsburgh Pirates placed RF Ryan O'Hearn on the 10-day injured list. Left quad strain.
2026-05-31
Pittsburgh Pirates activated RF Ryan O'Hearn from the 10-day injured list.
2026-05-17
Pittsburgh Pirates placed RF Ryan O'Hearn on the 10-day injured list. Right quad muscle strain.
2026-04-16
1B Ryan O'Hearn changed number to 29.
2026-04-15
1B Ryan O'Hearn changed number to 42.
2026-01-08
Pittsburgh Pirates signed free agent 1B Ryan O'Hearn.
2025-11-02
1B Ryan O'Hearn elected free agency.
2025-08-01
San Diego Padres activated 1B Ryan O'Hearn.
2025-07-31
1B Ryan O'Hearn roster status changed by San Diego Padres.
2025-07-31
Baltimore Orioles traded 1B Ryan O'Hearn, RF Ramón Laureano and cash to San Diego Padres for LHP Boston Bateman, RHP Tyson Neighbors, RHP Tanner Smith, SS Brandon Butterworth, SS Cobb Hightower and 1B Victor Figueroa.
2025-07-14
American League All-Stars activated 1B Ryan O'Hearn.
2025-04-16
1B Ryan O'Hearn changed number to 32.
2025-04-15
1B Ryan O'Hearn changed number to 42.
2023-05-09
Baltimore Orioles recalled 1B Ryan O'Hearn from Norfolk Tides.
2023-05-05
Baltimore Orioles optioned 1B Ryan O'Hearn to Norfolk Tides.
2023-04-13
Baltimore Orioles selected the contract of 1B Ryan O'Hearn, and from Norfolk Tides.
2023-02-02
Baltimore Orioles invited non-roster 1B Ryan O'Hearn and to spring training.
2023-01-12
Baltimore Orioles sent 1B Ryan O'Hearn outright to Norfolk Tides.
2023-01-05
Baltimore Orioles designated 1B Ryan O'Hearn for assignment.
2023-01-03
Kansas City Royals traded 1B Ryan O'Hearn to Baltimore Orioles for cash.
2021-06-21
Kansas City Royals recalled 1B Ryan O'Hearn, and from Omaha Storm Chasers.
2021-05-28
Kansas City Royals optioned 1B Ryan O'Hearn to Omaha Storm Chasers.
2021-04-23
Kansas City Royals recalled 1B Ryan O'Hearn from Royals Alternate Training Site.
2021-03-30
Kansas City Royals optioned 1B Ryan O'Hearn to Royals Alternate Training Site.
2020-07-27
Kansas City Royals activated 1B Ryan O'Hearn from the 10-day injured list.
2020-07-14
Kansas City Royals placed 1B Ryan O'Hearn on the 10-day injured list.
2019-07-27
Kansas City Royals recalled 1B Ryan O'Hearn from Omaha Storm Chasers.
2019-06-14
Kansas City Royals optioned 1B Ryan O'Hearn to Omaha Storm Chasers.
2018-07-31
Kansas City Royals selected the contract of Ryan O'Hearn from Omaha Storm Chasers.
2018-01-05
Kansas City Royals invited non-roster 1B Ryan O'Hearn to spring training.
2017-01-07
Kansas City Royals invited non-roster 1B Ryan O'Hearn to spring training.
2016-03-09
1B Ryan O'Hearn assigned to Kansas City Royals.
2014-06-10
Kansas City Royals signed 1B Ryan O'Hearn.
Scouting Report
Statcast-style percentiles • Basenerd theme
Season 2026
No Statcast percentile data available.
Spray Chart
Hits only • Stadium overlay
1B
2B
3B
HR
MLBAM-style coords scaled into stadium viewBox. Home plate baseline ≈ (125, 199). Stadium SVG: pirates.svg.
Results by Pitch Type
| Pitch | # | Usage% | Zone% | Whiff% | AVG | HardHit% |
|---|---|---|---|---|---|---|
| 4-Seam Fastball | 513 | 29.6% | 54.6% | 15.5% | .326 | 43.6% |
| Sinker | 292 | 16.9% | 56.5% | 6.3% | .308 | 46.4% |
| Slider | 227 | 13.1% | 41.0% | 27.7% | .228 | 50.0% |
| Changeup | 173 | 10.0% | 32.9% | 25.6% | .250 | 32.1% |
| Cutter | 160 | 9.2% | 52.5% | 13.3% | .139 | 34.6% |
| Curveball | 142 | 8.2% | 43.7% | 28.6% | .242 | 40.9% |
| Sweeper | 120 | 6.9% | 45.0% | 32.7% | .185 | 26.3% |
| Knuckle Curve | 51 | 2.9% | 35.3% | 44.4% | .200 | 66.7% |
| Splitter | 42 | 2.4% | 23.8% | 21.4% | .000 | 25.0% |
| Slurve | 10 | 0.6% | 30.0% | 75.0% | .500 | 100.0% |
| Eephus | 1 | 0.1% | 100.0% | 0.0% | .000 | 0.0% |
| Total | 1731 | 100.0% | 47.8% | 20.1% | .264 | 41.9% |
Results by Pitch Category
| Category | # | Usage% | Zone% | Whiff% | AVG | HardHit% |
|---|---|---|---|---|---|---|
| Fastball | 965 | 55.7% | 54.8% | 12.6% | .292 | 43.4% |
| Breaking | 550 | 31.8% | 41.8% | 31.3% | .226 | 43.2% |
| Offspeed | 216 | 12.5% | 31.5% | 24.7% | .205 | 30.3% |
| Total | 1731 | 100.0% | 47.8% | 20.1% | .264 | 41.9% |
| MLB Avg | - | - | 50.6% | 25.3% | .245 | 41.0% |