
Otto Lopez
Bats/Throws: R/RAge: 28Born: Santo Domingo, Dominican RepublicDebut: Aug 17, 2021

Otto Lopez is a shortstop for the Miami Marlins. Lopez was born on October 1, 1998 in Santo Domingo, Dominican Republic and debuted in the major leagues on August 17, 2021. Lopez bats right and throws right. In 2026, Lopez is batting .305 with 11 home runs, 71 RBI and an OPS of .786 in 157 games. MLBDB has 5 seasons of statistics for Lopez, from 2021 to 2026.
5 seasons of hitting across 2 clubs. Season totals, oldest first. The team shown identifies the player's club when the totals were recorded.
| Season | Team | G | PA | AB | R | H | 2B | 3B | HR | RBI | SB | BB | SO | AVG | OBP | SLG | OPS |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2021TOR | 1 | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | .000 | .000 | .000 | .000 | |
| 2022TOR | 8 | 10 | 9 | 0 | 6 | 0 | 0 | 0 | 3 | 0 | 1 | 1 | .667 | .700 | .667 | 1.367 | |
| 2024MIA | 117 | 434 | 403 | 49 | 109 | 23 | 1 | 6 | 39 | 20 | 25 | 75 | .270 | .313 | .377 | .690 | |
| 2025MIA | 143 | 594 | 544 | 66 | 134 | 21 | 0 | 15 | 77 | 15 | 44 | 82 | .246 | .305 | .368 | .672 | |
| 2026MIA | 157 | 687 | 627 | 94 | 191 | 32 | 9 | 11 | 71 | 34 | 40 | 89 | .305 | .349 | .437 | .786 |
| Season | Team | 1B | TB | CS | SB% | HBP | IBB | SH | SF | GIDP | GO/AO | LOB | AB/HR | BB/K |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2021TOR | 0 | 0 | 0 | N/A | 0 | 0 | 0 | 0 | 0 | N/A | 0 | N/A | 0.00 | |
| 2022TOR | 6 | 6 | 1 | 0.0% | 0 | 0 | 0 | 0 | 0 | 0.00 | 2 | N/A | 1.00 | |
| 2024MIA | 79 | 152 | 4 | 83.3% | 1 | 0 | 2 | 2 | 13 | 1.45 | 153 | 67.17 | 0.33 | |
| 2025MIA | 98 | 200 | 6 | 71.4% | 3 | 2 | 0 | 3 | 9 | 1.11 | 228 | 36.27 | 0.54 | |
| 2026MIA | 139 | 274 | 5 | 87.2% | 9 | 1 | 0 | 11 | 14 | 1.16 | 240 | 57.00 | 0.45 |
| Season | Team | PA | AB | ISO | BABIP | HR% | K% | BB% | wOBA | wRAA | wRC |
|---|---|---|---|---|---|---|---|---|---|---|---|
| 2021TOR | 1 | 1 | .000 | N/A | 0.0% | 100.0% | 0.0% | .000 | -0.3 | -0.1 | |
| 2022TOR | 10 | 9 | .000 | .750 | 0.0% | 10.0% | 10.0% | .599 | 2.3 | 3.4 | |
| 2024MIA | 434 | 403 | .107 | .318 | 1.4% | 17.3% | 5.8% | .302 | -2.6 | 48.1 | |
| 2025MIA | 594 | 544 | .121 | .264 | 2.5% | 13.8% | 7.4% | .295 | -8.8 | 61.3 | |
| 2026MIA | 687 | 627 | .132 | .335 | 1.6% | 13.0% | 5.8% | .342 | 14.0 | 95.8 |
Read advanced measures alongside playing time. N/A means the required inputs or season calculations are unavailable.
4 seasons of fielding across 2 clubs. Fielding is shown by recorded position; games at different positions can overlap.
| Season | Team | Pos | G | GS | INN | TC | PO | A | E | DP | FLD% | RF/9 | RF/G |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2022TOR | 2B | 1 | 1 | 4.0 | 2 | 0 | 2 | 0 | 0 | 1.000 | 4.50 | 2.00 | |
| 2022TOR | SS | 5 | 1 | 17.0 | 3 | 2 | 1 | 0 | 0 | 1.000 | 1.59 | 0.60 | |
| 2022TOR | CF | 1 | 0 | 0.2 | 0 | 0 | 0 | 0 | 0 | N/A | 0.00 | 0.00 | |
| 2024MIA | 2B | 103 | 95 | 850.1 | 437 | 172 | 260 | 5 | 54 | .989 | 4.57 | 4.19 | |
| 2024MIA | 3B | 6 | 4 | 37.0 | 8 | 1 | 6 | 1 | 0 | .875 | 1.70 | 1.17 | |
| 2024MIA | SS | 8 | 6 | 52.0 | 25 | 8 | 15 | 2 | 1 | .920 | 3.98 | 2.88 | |
| 2024MIA | LF | 2 | 1 | 7.0 | 0 | 0 | 0 | 0 | 0 | N/A | 0.00 | 0.00 | |
| 2024MIA | CF | 1 | 0 | 3.0 | 0 | 0 | 0 | 0 | 0 | N/A | 0.00 | 0.00 | |
| 2025MIA | 2B | 32 | 31 | 265.1 | 139 | 40 | 97 | 2 | 11 | .986 | 4.65 | 4.28 | |
| 2025MIA | SS | 111 | 107 | 956.2 | 394 | 159 | 225 | 10 | 44 | .975 | 3.61 | 3.46 | |
| 2025MIA | DH | 1 | 1 | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | |
| 2026MIA | SS | 156 | 154 | 1357.0 | 581 | 216 | 344 | 21 | 76 | .964 | 3.71 | 3.59 | |
| 2026MIA | DH | 1 | 1 | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A |
A designated hitter does not play in the field, so DH rows show N/A for fielding measures.
Recorded measurements and MLBDB estimates from the pitches seen and the balls put in play as a hitter. Each table's note says which.
MLBDB calculates these numbers from recorded game measurements. EV balls and LA balls show the sample sizes. EV+LA balls have both measurements and are used for barrel percentage. Seasons without these measurements show N/A.
| Season | Team | BBE | EV+LA balls | MLBDB barrels | MLBDB Barrel% | EV balls | Avg EV balls | Avg EV | Max EV | Hard-hit% | LA balls | Avg LA balls | Avg LA | Sweet-spot% |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2021TOR | 0 | 0 | N/A | N/A | 0 | 0 | N/A | N/A | N/A | 0 | 0 | N/A | N/A | |
| 2022TOR | 8 | 8 | 0 | 0.0% | 8 | 8 | 85.5 | 102.9 | 37.5% | 8 | 8 | 4.3 | 37.5% | |
| 2024MIA | 332 | 332 | 17 | 5.1% | 332 | 330 | 88.0 | 108.8 | 38.9% | 332 | 330 | 5.4 | 31.9% | |
| 2025MIA | 465 | 463 | 32 | 6.9% | 463 | 462 | 88.5 | 111.2 | 38.4% | 463 | 462 | 8.4 | 33.9% | |
| 2026MIA | 549 | 546 | 34 | 6.2% | 546 | 540 | 89.1 | 112.8 | 41.0% | 548 | 542 | 8.4 | 31.8% |
Direction is estimated from recorded hit locations and the hand used to bat on each play. Rates divide by Located balls and show N/A below 95% location coverage. Unmapped balls are left out. Higher is not always better.
| Season | Team | Located balls | Location coverage | Pull% | Center% | Oppo% | Pull balls | Center balls | Oppo balls | Unmapped balls |
|---|---|---|---|---|---|---|---|---|---|---|
| 2021TOR | 0 | N/A | N/A | N/A | N/A | N/A | N/A | N/A | 0 | |
| 2022TOR | 8 | 100.0% | 25.0% | 62.5% | 12.5% | 2 | 5 | 1 | 0 | |
| 2024MIA | 332 | 100.0% | 29.8% | 44.6% | 25.6% | 99 | 148 | 85 | 0 | |
| 2025MIA | 464 | 99.8% | 34.9% | 40.7% | 24.4% | 162 | 189 | 113 | 1 | |
| 2026MIA | 547 | 99.6% | 32.7% | 40.2% | 27.1% | 179 | 220 | 148 | 2 |
Pitches counts every pitch actually thrown; automatic balls and strikes are left out. Swings include bunt attempts, and caught foul tips count as whiffs. Whiff% divides misses by swings; SwStr% divides misses by pitches. Zone rates need a recorded location for at least 95% of pitches. Missing results show N/A. For 2018 through 2024, inside or outside the zone is an MLBDB estimate from recorded pitch locations and batter zone heights; from 2025, MLB's recorded zone labels are used.
| Season | Team | Pitches | Swings | Whiff% | SwStr% | Contact% | Swing% | Chase% | Zone% | Z-Swing% | Z-Contact% | O-Contact% | First delivered strike% | Called% | CSW% | Zone coverage |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2021TOR | 6 | 3 | 66.7% | 33.3% | 33.3% | 50.0% | 50.0% | 33.3% | 50.0% | 100.0% | 0.0% | 100.0% | 16.7% | 50.0% | 100.0% | |
| 2022TOR | 36 | 14 | 7.1% | 2.8% | 92.9% | 38.9% | 21.1% | 47.2% | 58.8% | 100.0% | 75.0% | 70.0% | 22.2% | 25.0% | 100.0% | |
| 2024MIA | 1545 | 794 | 21.9% | 11.3% | 78.1% | 51.4% | 32.0% | 50.5% | 70.4% | 87.6% | 56.7% | 65.1% | 16.4% | 27.7% | 100.0% | |
| 2025MIA | 2129 | 986 | 18.9% | 8.7% | 81.1% | 46.3% | 29.4% | 50.5% | 62.8% | 89.3% | 63.2% | 62.0% | 19.6% | 28.3% | 100.0% | |
| 2026MIA | 2519 | 1167 | 19.5% | 9.1% | 80.5% | 46.3% | 31.2% | 48.8% | 62.2% | 90.1% | 62.2% | 60.3% | 19.6% | 28.6% | 100.0% |
MLBDB estimates these from recorded ball speed and angle, for seasons from 2018. A season or period shows N/A if any batted ball it needs is missing a measurement or falls outside what the model covers. That is common over a full season, and in 2018 and 2019 no regular player has complete measurements. Differences use actual results from the same completed games. These describe recorded contact, not future performance.
| Season | Team | Model balls | Measured% | MLBDB xBA | AVG − MLBDB xBA | MLBDB xSLG | SLG − MLBDB xSLG | MLBDB xwOBA | wOBA − MLBDB xwOBA | Missing pairs |
|---|---|---|---|---|---|---|---|---|---|---|
| 2021TOR | 0 | N/A | .000 | 0.000 | .000 | 0.000 | .000 | 0.000 | 0 | |
| 2022TOR | 8 | 100.0% | .284 | 0.383 | .320 | 0.346 | .309 | 0.291 | 0 | |
| 2024MIA | 332 | 100.0% | .268 | 0.002 | .397 | -0.019 | .313 | -0.011 | 0 | |
| 2025MIA | 463 | 99.6% | N/A | N/A | N/A | N/A | N/A | N/A | 2 | |
| 2026MIA | 546 | 99.5% | N/A | N/A | N/A | N/A | N/A | N/A | 3 |
| Date | Game | Result | AB | R | H | HR | RBI | BB | SO | SB |
|---|---|---|---|---|---|---|---|---|---|---|
| Sep 26 | L 3-8 | 5 | 1 | 2 | 0 | 0 | 0 | 0 | 0 | |
| Sep 25 | W 3-0 | 3 | 0 | 1 | 0 | 0 | 1 | 0 | 0 | |
| Sep 24 | L 1-2 | 3 | 0 | 1 | 0 | 0 | 1 | 0 | 0 | |
| Sep 23 | W 3-2 | 4 | 1 | 1 | 0 | 0 | 0 | 1 | 1 | |
| Sep 22 | W 8-2 | 5 | 1 | 1 | 0 | 0 | 0 | 1 | 1 |
5 recorded moves.
Number Change
SS Otto Lopez changed number to 6.
Number Change
SS Otto Lopez changed number to 21.
Status Change
National League All-Stars activated SS Otto Lopez.
Number Change
2B Otto Lopez changed number to 6.
Number Change
2B Otto Lopez changed number to 42.