MLB/Players/JoJo Romero
JoJo Romero

JOJO ROMERO

P · St. Louis Cardinals · 20202026 · 375 games
375
CAREER GAMES · REGULAR SEASON
5 seasons
.242
CAREER BATTING AVERAGE
238 hits in 982 at-bats
34
CAREER HOME RUNS
70 RBI · 2 stolen bases
3.49
CAREER ERA
237.1 innings · 227 strikeouts
17-14
CAREER RECORD
WHIP 1.24

01/Hitting

Season by season
Regular season
SeasonClubGABRH2B3BHRRBIBBSOSBAVGOBPSLGOPS
2024STL130440461042201627321022.236.288.395.684
2023STL5426834588421620840.216.271.299.569
2022STL341121826406620340.232.348.429.777
2021PHI22781624408128160.308.372.6671.039
2020PHI2484202660294200.310.341.452.793
Career2649821342384443470842562.242.302.399.701

02/Pitching

Season by season
Regular season
SeasonClubGWLIPHERBBSOHRERAWHIP
2026MIL462344.24216164453.221.30
2025STL654661.04714295522.071.25
2024STL657359.05222165183.361.15
2023STL274236.22915104213.681.06
2022STL170016.1139101734.961.41
2021PHI11009.01274847.001.78
2020PHI120010.213921017.591.41
Career2431714237.12089287227243.491.24

04/Every pitch

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

No batted balls with a location in this window.

Pitch locations · 551 pitches
Called strike (105) Swinging strike (95) In play (94) Foul (73) Ball (184)

Catcher’s view · the zone drawn is the average of the 551 batter zones recorded here, 1.59 to 3.35 feet

Pitch mix
PitchNShareMPHRPMStrike%
Sinker18533.6%94.62,11051.4%
Changeup15427.9%85.91,57550.6%
Sweeper12622.9%84.42,63255.6%
Four-Seam Fastball8615.6%95.12,20334.9%

05/Game log

2023
Regular season
DateOppResultABRHHRRBIBBSOIPHERBBSO
APR 18vs AZL 7850101111.21011
APR 18vs AZL 785010011
APR 21@ SEAL 2520000101.00010
APR 21@ SEAL 252000010
APR 28@ LADL 3761000232.00123
APR 28@ LADL 376100023
APR 30@ LADL 365010001
APR 30@ LADL 3650100011.11001
MAY 4vs LAAL 7115010001
MAY 4vs LAAL 71150100011.11001
MAY 7vs DETW 12622114100.11210
MAY 7vs DETW 1262211010
JUL 4@ MIAL 2157010012
JUL 4@ MIAL 21570102121.21012
JUL 7@ CWSL 786320000
JUL 7@ CWSL 7863201001.02200
JUL 9@ CWSW 4350000132.00013
JUL 9@ CWSW 435000013
JUL 14vs WSHL 574010002
JUL 14vs WSHL 5740100021.11002
JUL 16vs WSHW 8450001121.20012
JUL 16vs WSHW 845000012
JUL 18vs MIAW 523000002
JUL 18vs MIAW 5230000021.00002
JUL 20@ CHCW 725010001
JUL 20@ CHCW 7250100011.11001
JUL 24@ AZW 1065220000
JUL 24@ AZW 10652201001.02200
JUL 25@ AZL 135220000
JUL 25@ AZL 1352201001.02200
JUL 30vs CHCW 304010002
JUL 30vs CHCW 3040100021.01002
AUG 2vs MINW 734010002
AUG 2vs MINW 7340100021.01002
AUG 6vs COLL 016000004
AUG 6vs COLL 0160000042.00004
AUG 9@ TBW 6450100031.11003
AUG 9@ TBW 645010003
AUG 10@ TBW 525220011
AUG 10@ TBW 5252201111.02211
AUG 12@ KCW 547130000
AUG 12@ KCW 5471301001.23100
AUG 14vs W 755000002
AUG 14vs W 7550000021.10002
AUG 15vs W 6230000021.00002
AUG 15vs W 623000002
AUG 20vs NYMW 7330000001.00000
AUG 20vs NYMW 733000000
AUG 23@ PITW 648120003
AUG 23@ PITW 6481201032.02103
AUG 29vs SDW 657020003
AUG 29vs SDW 6570200032.02003
SEP 1vs PITL 2473402121.24212
SEP 1vs PITL 247340012

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.