STATS
MLB/Players/Tanner Rainey
Tanner Rainey

TANNER RAINEY

P · 20182026 · 415 games
415
CAREER GAMES · REGULAR SEASON
7 seasons · postseason below
.221
CAREER BATTING AVERAGE
312 hits in 1,412 at-bats
66
CAREER HOME RUNS
121 RBI · 24 stolen bases
5.46
CAREER ERA
206.0 innings · 253 strikeouts
5-11
CAREER RECORD
WHIP 1.50

01/Hitting

Season by season
Regular season
SeasonClubGABRH2B3BHRRBIBBSOSBAVGOBPSLGOPS
2024WSH1003945694182162758888.239.336.416.753
2023WSH28020000220.250.400.250.650
2022WSH58228325222101626726.228.307.386.693
2021WSH762445458104122750842.238.367.459.826
2020WSH401341216408814642.119.203.328.531
2019WSH10434044641421222761486.188.337.347.684
2018CIN166438268082124140.406.568.9061.474
Career3961,41223631256106612125047224.221.338.415.753

02/Pitching

Season by season
Regular season
SeasonClubGWLIPHERBBSOHRERAWHIP
2026DET6007.0338603.861.57
2025DET13019.2812911011.171.76
2024WSH500051.04727294484.761.49
2023WSH1001.0101100.002.00
2022WSH291330.02611133653.301.30
2021WSH381331.22926254267.391.71
2020WSH201120.18673242.660.74
2019WSH522348.13221387463.911.45
2018CIN8007.01319127424.433.57
Career217511206.0167125142253335.461.50

03/Postseason

Kept apart
Never folded in
SeasonClubGABHHRRBIAVGIPSOERA
2019WSH1823311.1306.266.75

04/Every pitch

2020 Regular season
Play log from 2015
Spray chart · 0 batted balls

No batted balls with a location in this window.

Pitch locations · 299 pitches
Called strike (41) Swinging strike (71) In play (35) Foul (44) Ball (108)

Catcher’s view · the zone drawn is the average of the 299 batter zones recorded here, 1.61 to 3.41 feet

Pitch mix
PitchNShareMPHRPMStrike%
Four-Seam Fastball18260.9%96.62,45753.8%
Slider11739.1%87.12,40749.6%

05/Game log

2020
Regular season
DateOppResultABRHHRRBIBBSOIPHERBBSO
JUL 25vs NYYW 9230000101.00010
JUL 25vs NYYW 923000010
JUL 26vs NYYL 231000011
JUL 26vs NYYL 2310000110.10011
JUL 28vs TORL 154000002
JUL 28vs TORL 1540000021.10002
JUL 29@ TORW 404000003
JUL 29@ TORW 4040000031.00003
JUL 30@ TORW 6441111001.01100
JUL 30@ TORW 644111000
AUG 4vs NYMW 5330000011.00001
AUG 4vs NYMW 533000001
AUG 8vs BALL 3530000021.00002
AUG 8vs BALL 353000002
AUG 11@ NYMW 214000002
AUG 11@ NYMW 2140000021.20002
AUG 16@ BALW 6530000031.00003
AUG 16@ BALW 653000003
AUG 17@ ATLL 6740100231.01023
AUG 17@ ATLL 674010023
AUG 21vs MIAL 2320000110.20011
AUG 21vs MIAL 232000011
AUG 22vs MIAW 5430000001.00000
AUG 22vs MIAW 543000000
AUG 25vs PHIL 3861201011.12101
AUG 25vs PHIL 386120001
AUG 26vs PHIL 2330100011.01001
AUG 26vs PHIL 233010001
SEP 2@ PHIL 0320000111.00011
SEP 2@ PHIL 032000011
SEP 3@ PHIL 563000003
SEP 3@ PHIL 5630000031.00003
SEP 4@ ATLW 10942114131.01213
SEP 4@ ATLW 1094211013
SEP 7vs TBW 6141111011.01101
SEP 7vs TBW 614111001
SEP 8vs TBW 533000002
SEP 8vs TBW 5330000021.00002
SEP 10vs ATLL 674111002
SEP 10vs ATLL 6741111021.01102

Regular season and postseason are separate tables and are never summed into one career line; spring training is excluded entirely. Hitting and pitching come from different source rows, so a two-way player has both tables and neither borrows from the other. Innings pitched is summed as outs and converted once: the stored value counts thirds, so “6.1” means six innings and one out, and adding those as decimals understates a career. ERA and WHIP are computed from those totals rather than averaged across seasons. On-base percentage is (H + BB) over (AB + BB), which runs slightly under the official figure because the source rows carry no hit-by-pitch or sacrifice fly. The charts cover 2015 onward only, and the spray chart plots batted balls with a recorded landing spot: a strikeout or a walk has no location and is not a missing dot. Its field is a representative park, not the one the ball was hit in, because a spray chart pooled across a season is hit in thirty different outfields.