On May 16, 2025, the Kansas City Royals beat the Chicago Cubs 7-3 at Wrigley Field. Bobby Witt Jr. went 3-for-5 with a homer and four RBIs. Seth Lugo pitched six innings of two-run ball. You could watch all three hours of the broadcast to learn that, or you could spend 90 seconds learning how to read a baseball box score.
The box score is the oldest, densest, most elegant summary in sports. Invented in the 1850s, its numbers have evolved, but the basic idea hasn't changed: compress an entire game into a grid that fits on a single page. If you know how to read a baseball box score, you can reconstruct the story of any game without watching a single pitch.
If you're new to baseball... or you just aren't used to reading game recaps, you might not know how to. Maybe you see a wall of abbreviations and numbers on ESPN or Baseball Reference and your eyes slide right past it. That ends today!
This guide walks through every section of a real box score, explains every abbreviation, and gives you the confidence to read any MLB box score on your own. We'll use that Royals-Cubs game from May 2025 as our running example.
What Is a Box Score in Baseball?
A box score is a structured statistical summary of a baseball game. It captures every meaningful event: who batted, how they performed, who pitched, how long they lasted, and the inning-by-inning scoring progression.
Think of it as the game's receipt. The line score tells you the final total. The batting section tells you what each hitter did. The pitching section tells you how each pitcher performed. Additional notes at the bottom capture the stuff that doesn't fit neatly into rows, like stolen bases, double plays, and hit-by-pitches.
Every box score you'll find on Baseball Reference, MLB.com, or ESPN follows the same basic structure. Once you learn one, you can read them all.
The Line Score: Your Starting Point
The line score sits at the top of every box score. It's the bird's-eye view. Here's what the Royals-Cubs line score looked like:
| Team | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | R | H | E |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| KC | 0 | 0 | 3 | 0 | 2 | 0 | 0 | 2 | 0 | 7 | 12 | 0 |
| CHC | 1 | 0 | 0 | 1 | 0 | 0 | 0 | 1 | 0 | 3 | 8 | 1 |
What Each Column Means
The numbered columns (1 through 9) show how many runs each team scored in that inning. Not hits. Not baserunners. Just runs. If a game goes to extras, you'll see columns 10, 11, 12, and so on.
The three summary columns on the right:
- R (Runs): Total runs scored, which is the final score. Royals 7, Cubs 3.
- H (Hits): Total hits by each team. Kansas City collected 12; Chicago had 8.
- E (Errors): Fielding mistakes. The Cubs committed 1 error, while the Royals played clean defense.
What the Line Score Tells You (and Doesn't)
Even before you look at individual stats, the line score reveals the game's shape. Kansas City's runs came in clusters: a 3-run third, a 2-run fifth, a 2-run eighth. That pattern suggests big at-bats with runners on, not a slow trickle of solo homers.
Chicago scored in three separate innings but never more than one run at a time. That's a team that kept threatening but couldn't break through.
The line score won't tell you who drove in those runs or how they scored. For that, you need the batting section.
Get daily baseball updates, free
Scores, recaps, standings and Vibe Checks every morning.
How to Read a Baseball Box Score: The Batting Section
Below the line score, you'll find two batting tables, one for each team. Here's a simplified version of the Royals' batting stats from that game:
| Player | POS | AB | R | H | RBI | BB | SO | AVG |
|---|---|---|---|---|---|---|---|---|
| Witt Jr., B | SS | 5 | 2 | 3 | 4 | 0 | 1 | .299 |
| Pasquantino, V | 1B | 4 | 1 | 2 | 1 | 1 | 0 | .262 |
| Perez, S | C | 5 | 1 | 2 | 1 | 0 | 1 | .271 |
| Renfroe, H | RF | 4 | 1 | 1 | 0 | 0 | 2 | .218 |
| Melendez, MJ | DH | 3 | 1 | 1 | 0 | 1 | 1 | .241 |
| Garcia, M | LF | 4 | 0 | 2 | 1 | 0 | 0 | .255 |
| Fermin, F | 2B | 4 | 1 | 1 | 0 | 0 | 1 | .238 |
| Isbel, K | CF | 4 | 0 | 0 | 0 | 0 | 2 | .223 |
| Blanco, D | 3B | 3 | 0 | 0 | 0 | 1 | 0 | .205 |
| Totals | 36 | 7 | 12 | 7 | 3 | 8 |
Every Abbreviation, Decoded
Some of these are obvious. A couple will trip you up if you're new to reading baseball stats.
POS (Position): Where the player played defensively. SS is shortstop, 1B is first base, DH is designated hitter, and so on.
AB (At-Bats): The number of times a player completed a plate appearance that "counts" toward their batting average. Walks, hit-by-pitches, and sacrifice bunts don't count as at-bats. This distinction confuses people more than any other abbreviation in the box score. Witt Jr. had 5 at-bats, meaning all five of his plate appearances ended with a countable outcome (hit, out, or error).
R (Runs): How many times the player crossed home plate. Witt scored twice.
H (Hits): Singles, doubles, triples, and home runs. Witt had 3 hits in 5 at-bats, which is a great night.
RBI (Runs Batted In): How many runs scored as a direct result of this batter's action. Witt's 4 RBIs mean his at-bats were responsible for more than half the team's offense.
BB (Bases on Balls): Times the pitcher threw four balls before the at-bat ended. Pasquantino drew 1 walk, which is why his AB count (4) plus his BB (1) equals 5 total plate appearances.
SO (Strikeouts): Times the batter struck out. Also sometimes listed as K. The Royals struck out 8 times as a team.
AVG (Batting Average): The player's season-long batting average entering (or after) the game. It's calculated as:
Batting Average = Hits ÷ At-Bats
Witt's .299 means he was getting a hit roughly 30% of the time across the full season. For a deeper look at what batting average does and doesn't capture, check out our breakdown of how to calculate batting average.
How to Read a Single Line
Take Vinnie Pasquantino's line: 4 AB, 1 R, 2 H, 1 RBI, 1 BB, 0 SO. Translation: he came to the plate 5 times (4 at-bats plus 1 walk), got 2 hits, scored once, drove in a run, and never struck out. Solid, productive, disciplined. You can picture his night without watching a single replay.
The Totals Row
The totals row at the bottom sums everything up. Notice that the team's 7 runs match the line score. The 12 hits match. The 7 RBIs match the 7 runs (which won't always happen; sometimes runs score on errors, wild pitches, or other non-RBI events).
These cross-references are a quick way to make sure you're reading the box score correctly.
The Pitching Section: The Other Half of the Story
Below the batting tables, you'll find pitching stats for both teams. Here's the Royals' pitching line:
| Pitcher | IP | H | R | ER | BB | SO | ERA | Decision |
|---|---|---|---|---|---|---|---|---|
| Lugo, S | 6.0 | 5 | 2 | 2 | 2 | 7 | 3.12 | W (6-2) |
| Stratton, C | 1.0 | 1 | 0 | 0 | 0 | 1 | 3.45 | |
| Kolarek, A | 0.2 | 2 | 1 | 1 | 0 | 0 | 4.15 | |
| Barlow, S | 1.1 | 0 | 0 | 0 | 1 | 2 | 2.88 |
The Abbreviations
IP (Innings Pitched): This one has a quirk. The number after the decimal isn't a fraction; it represents outs. So 6.0 means six full innings (18 outs). Kolarek's 0.2 means he recorded 2 outs (two-thirds of an inning). Barlow's 1.1 means he got 4 outs (one full inning plus one out). Add them up: 6.0 + 1.0 + 0.2 + 1.1 = 9.0 innings. A complete game.
This decimal notation trips up more people than anything else in the box score. It's not 0.2 as in "twenty percent of an inning." It's 0.2 as in "two outs recorded."
H (Hits Allowed): Lugo gave up 5 hits over 6 innings. Not bad.
R (Runs Allowed): Total runs scored while this pitcher was on the mound, including unearned runs.
ER (Earned Runs): Runs that scored without the help of errors or passed balls. This is the number that feeds into ERA. For Lugo, R and ER are both 2, meaning no errors contributed to the runs he allowed. For a full breakdown of how earned runs shape a pitcher's profile, read our guide to ERA in baseball.
BB (Walks): Same concept as the batting section but from the pitcher's perspective. Lugo walked 2 batters.
SO (Strikeouts): Lugo struck out 7. That's dominant.
ERA (Earned Run Average): The pitcher's season-long ERA, calculated as:
ERA = (Earned Runs ÷ Innings Pitched) × 9
Lugo's 3.12 means he allows about 3 earned runs per nine innings across the whole season.
Decision: W means win, L means loss, S means save. Lugo got the win, improving his record to 6-2.
Reading the Pitching Sequence
The order of pitchers tells you the game's story from the mound. Lugo started and went 6 innings. Stratton handled the 7th cleanly. Kolarek got into trouble in the 8th (2 hits, 1 earned run) and was pulled after recording only 2 outs. Barlow came in, cleaned up the mess, and finished the game.
That sequence (starter handing off to setup men, with one reliever struggling) is the kind of narrative the box score preserves perfectly.
The Footnotes: Everything Else
Below the main tables, most box scores include additional notes. These vary by source, but common entries include:
- 2B (Doubles): Which players hit doubles
- HR (Home Runs): Who homered, sometimes noting the inning and runners on base
- SB (Stolen Bases) and CS (Caught Stealing): Baserunning outcomes
- GIDP (Grounded Into Double Play): Momentum killers
- LOB (Left on Base): How many runners a team stranded, which is one of the most revealing numbers in the entire box score
- HBP (Hit By Pitch): Batters plunked
- WP (Wild Pitch) and PB (Passed Ball): Balls that got away from the battery
These footnotes are where you find the plays that shaped the game but don't fit into a grid. A caught stealing in the 7th that killed a rally. A double play that ended a bases-loaded threat.
Don't skip them.
Advanced Stats You'll Sometimes See
Modern box scores, especially on FanGraphs and Baseball Reference, sometimes include advanced columns alongside the traditional ones.
For Hitters
| Stat | What It Measures |
|---|---|
| OBP | On-Base Percentage: how often a batter reaches base |
| SLG | Slugging Percentage: total bases per at-bat |
| OPS | OBP + SLG combined. Here's our full OPS explainer. |
| WPA | Win Probability Added: how much a player's actions changed the team's odds of winning |
For Pitchers
| Stat | What It Measures |
|---|---|
| Pitches/Strikes | Pitch count and how many were strikes |
| GSc | Game Score: a single number rating a starting pitcher's outing |
| FIP | Fielding Independent Pitching: ERA adjusted for defense |
For the most comprehensive single-number evaluation of any player, there's WAR (Wins Above Replacement), which attempts to capture a player's total contribution across batting, baserunning, and defense.
You don't need these to read a basic box score. But knowing they exist means you won't be confused when you see extra columns on more detailed stat sites.
Common Mistakes When Reading Box Scores
A few things that trip up even experienced fans:
Confusing AB with plate appearances. A player who goes 1-for-3 with 2 walks actually came to the plate 5 times. His batting line will show 3 AB, but he had 5 total plate appearances. Walks, sacrifices, and HBPs don't count as at-bats.
Misreading IP decimals. We covered this above, but it's worth repeating. An IP of 5.1 means five innings and one out, not five and one-tenth innings. The decimal values only go to .2 (two outs). You'll never see 5.3; that would be written as 6.0.
Assuming RBI = runs. A team can score 5 runs but only have 4 RBIs if one run scored on a wild pitch, error, or double play. The RBI total and the run total don't always match.
Ignoring LOB. If a team had 10 hits and only 2 runs with 11 LOB, they were getting on base all night and couldn't cash in. That's a completely different story than a team with 4 hits and 2 runs.
Putting It All Together: Reading a Box Score in 60 Seconds
Here's the order I'd recommend for scanning any baseball box score quickly:
- Line score first. Check the final score and the inning-by-inning pattern. Was it close? A blowout? Did one team score all their runs early?
- Scan the batting leaders. Look for the biggest H, RBI, and R numbers. Who drove the game?
- Check the pitching decisions. Who got the W, L, or S? How deep did the starter go?
- Glance at strikeouts and walks. High team strikeouts suggest dominant pitching or an offense that couldn't make contact. High walks suggest wildness or patience, depending on which side you're reading.
- Read the footnotes. Home runs, stolen bases, double plays, and LOB fill in the gaps.
That's it. Sixty seconds, and you know what happened.
What the Box Score Still Misses
After sending daily stat digests, the gap between what a box score says and what the games feel like is one of the most consistent patterns I notice.
That Royals-Cubs box score tells you Kansas City won 7-3 and Witt Jr. was the star. It doesn't tell you that the Royals had won four of their last five heading into that game, that the dugout energy was visibly different from a team on a losing streak, or that Chicago's bullpen had been leaking runs for two weeks in a way that made a late-inning collapse feel almost inevitable.
A box score is a snapshot. It captures one game in isolation.
But baseball isn't played in isolation. It's played in 162-game seasons where momentum compounds, where a team riding a hot streak plays differently than one that's spiraling, where the same 7-3 win means something completely different in April than it does in a September pennant race. Stats flatten time. A .299 batting average looks the same whether it was built on a torrid June or a miserable August. A 3.12 ERA doesn't tell you if the pitcher has been getting better or worse over the last three weeks.
That's the gap we built the Small Ball Vibe Check to fill. It takes the raw numbers from every box score, layers in streak data and momentum patterns and collective performance trends, then distills your team's current state into a single daily number. It's the box score interpretation already done for you: not just what happened last night, but what it means in the context of the last week, the last month, and the season so far.
Put a box score next to the Vibe Check, and you've got a perfect game recap.
Small Ball sends a free daily newsletter for every MLB team, 30 digests built around the Vibe Check metric. Pick your team, and tomorrow morning you'll get the only stat summary that actually tells you how things feel. Subscribe below and stop squinting at box scores before your coffee kicks in.
