MLB/Players/Luis Castillo
Luis Castillo

LUIS CASTILLO

P · Seattle Mariners · 20172026 · 480 games
480
CAREER GAMES · REGULAR SEASON
8 seasons · postseason below
.227
CAREER BATTING AVERAGE
2,080 hits in 9,164 at-bats
302
CAREER HOME RUNS
480 RBI · 100 stolen bases
3.72
CAREER ERA
1536.2 innings · 1,602 strikeouts
88-95
CAREER RECORD
WHIP 1.20

01/Hitting

Season by season
Regular season
SeasonClubGABRH2B3BHRRBIBBSOSBAVGOBPSLGOPS
2024SEA601,32614631672450659435026.238.289.412.700
2023SEA661,4701623207210567611243812.218.273.395.668
2022SEA501,11411223656026529033422.212.271.332.603
2021CIN661,4221883626814388315038410.255.326.402.728
2020CIN24532621243621026481784.233.297.365.661
2019CIN641,376152278582446815845216.202.284.343.627
2018CIN621,2901783167205681983308.245.298.431.729
2017CIN30634641282642229641962.202.275.360.635
Career4229,1641,0642,080460363024808142,662100.227.290.384.674

02/Pitching

Season by season
Regular season
SeasonClubGWLIPHERBBSOHRERAWHIP
2026CWS26411126.01447840109245.571.46
2025SEA32118180.21687146162233.541.18
2024SEA301112175.11587147175253.641.17
2023SEA33149197.01607356219283.341.10
2022SEA2586150.11185045167132.991.08
2021CIN33816187.21818375192193.981.36
2020CIN124670.06225248953.211.23
2019CIN32158190.21397279226223.401.14
2018CIN311012169.21588149165284.301.22
2017CIN153789.164313298113.121.07
Career26988951536.21,3526354931,6021983.721.20

03/Postseason

Kept apart
Never folded in
SeasonClubGABHHRRBIAVGIPSOERA
2022SEA4531123.20814.1121.88
2020CIN222601.2735.171.69

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 · 1153 pitches
Called strike (162) Swinging strike (192) In play (178) Foul (217) Ball (404)

Catcher’s view · the zone drawn is the average of the 1,153 batter zones recorded here, 1.59 to 3.36 feet

Pitch mix
PitchNShareMPHRPMStrike%
Changeup34630.0%88.21,94250.6%
Four-Seam Fastball31227.1%97.42,18151.0%
Sinker29125.2%97.52,10047.4%
Slider20417.7%86.82,48449.0%

05/Game log

2020
Regular season
DateOppResultABRHHRRBIBBSOIPHERBBSO
JUL 25vs DETL 462416011116.061111
JUL 25vs DETL 46241600111
JUL 31@ DETL 2724580016
JUL 31@ DETL 27245804166.08516
AUG 6@ CLEL 01319341049
AUG 6@ CLEL 013193413495.04349
AUG 11vs KCW 6525370025
AUG 11vs KCW 65253702256.07125
AUG 19@ KCL 0416450025
AUG 19@ KCL 04164503253.15225
AUG 25@ MILL 23223502496.05149
AUG 25@ MILL 2322350049
AUG 30vs CHCL 11020453017
AUG 30vs CHCL 110204534175.05417
SEP 4@ PITW 42242702286.07228
SEP 4@ PITW 4224270028
SEP 11@ STLW 3128120036
SEP 11@ STLW 31281201369.02136
SEP 16vs PITW 10230300110
SEP 16vs PITW 102303001107.030110
SEP 21vs MILW 63231411396.24139
SEP 21vs MILW 6323141039
SEP 26@ MINL 3718460004
SEP 26@ MINL 37184603044.06404

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.