MLB/Players/Joel Kuhnel
Joel Kuhnel

JOEL KUHNEL

P · Milwaukee Brewers · 20192026 · 117 games
117
CAREER GAMES · REGULAR SEASON
5 seasons
.278
CAREER BATTING AVERAGE
103 hits in 370 at-bats
14
CAREER HOME RUNS
59 RBI · 6 stolen bases
5.58
CAREER ERA
129.0 innings · 98 strikeouts
5-6
CAREER RECORD
WHIP 1.39

01/Hitting

Season by season
Regular season
SeasonClubGABRH2B3BHRRBIBBSOSBAVGOBPSLGOPS
2024TB638582015051.211.211.342.553
2023HOU9528163027532.308.368.481.849
2022CIN53230416716084114562.291.332.465.797
2020CIN313240022030.308.308.7691.077
2019CIN1137581014591.216.310.324.634
Career8237061103220145924766.278.322.451.774

02/Pitching

Season by season
Regular season
SeasonClubGWLIPHERBBSOHRERAWHIP
2026MIL351335.14019122264.841.47
2024TB60010.0850514.500.80
2023HOU90013.01685325.541.62
2022CIN532358.06741145686.361.40
2020CIN3103.0420326.001.33
2019CIN11109.2855914.661.34
Career11756129.0143803698205.581.39

04/Every pitch

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

No batted balls with a location in this window.

Pitch locations · 564 pitches
Called strike (84) Swinging strike (59) In play (119) Foul (87) Ball (215)

Catcher’s view · the zone drawn is the average of the 564 batter zones recorded here, 1.63 to 3.22 feet

Pitch mix
PitchNShareMPHRPMStrike%
Sinker29151.6%95.12,26539.2%
Cutter17831.6%90.52,48444.9%
Changeup386.7%90.11,42728.9%
Four-Seam Fastball315.5%95.12,27732.3%
Curveball183.2%81.92,42166.7%
Slider81.4%86.82,45450.0%

05/Game log

2026
Regular season
DateOppResultABRHHRRBIBBSOIPHERBBSO
APR 7@ NYYL 3500000.10000
APR 8@ NYYW 3200011.00001
APR 11@ NYMW 11610001.01000
APR 12@ NYMW 1000001.00000
APR 15vs TEXW 6500021.10002
APR 18vs CWSW 7610001.11000
APR 20@ SEAW 6420001.02100
APR 22@ SEAL 4540000.24100
APR 26@ TEXW 2100110.20011
APR 29vs KCW 5220101.22110
MAY 1vs CLEL 5800111.20011
MAY 3vs CLEW 7100101.00010
MAY 8@ BALW 4300001.00000
MAY 9@ BALW 6200001.00000
MAY 12vs STLL 4631010.23201
MAY 14vs STLL 4500000.10000
MAY 15vs SFW 5210021.01002
MAY 19@ LAAW 14610021.01002
MAY 21@ LAAW 3210101.01010
MAY 23@ SDL 0210022.01002
MAY 25vs SEAL 2900010.10001
MAY 27vs SEAL 1920101.02110
MAY 29vs NYYL 2831001.23200
JUN 3@ CHCW 5400011.10001
JUN 4@ CHCL 6750000.25400
JUN 8@ ATHW 151411041.21104
JUN 9@ ATHL 5711111.01111
JUN 13vs PHIL 8920010.12001
JUN 16vs CLEW 2110000.11000
JUN 18vs CLEL 2411101.01110
JUN 22@ CINW 2110001.01000
JUN 24@ CINW 6510201.11020
JUN 27vs CHCL 2811011.01101
JUN 28vs CHCL 3410211.01221
JUL 2vs CINL 2730001.03100

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.