Ledger No. 2 — User Guide
Modern baseball scorekeeping for a new generation of fans. Built for the ballpark, the couch, and everywhere in between.
This guide walks you through scoring a real game from setup to final out. App version 3.0.6.
⚾ Got questions, found a bug, want to share a scorecard? Join the Ledger No. 2 Discord: discord.gg/uWtnzRQ6XM. It's the fastest way to reach the developer and other scorekeepers.
Before the first pitch
Open the app
Go to ledgerno2.com in any browser on a phone, tablet, or laptop. The setup screen comes up automatically. iPad is the most-tested device, but everything works on iPhone, Android, and desktop too.
You can start scoring right away as a guest — no account needed. If you'd like your games, rosters, and settings to follow you to other devices, tap Sign in under the logo (or do it later in Settings). See Accounts & syncing below.
Pick a game
Two ways:
Import from MLB (the default) — choose a date, tap Load Games, and you'll see every MLB game scheduled that day. Each card shows the matchup, ballpark, probable pitchers, and a green ✓ if MLB has posted the starting lineups. Tap a card, then Use Selected Game. Team names, venue, and (when available) the lineups load automatically.
Manual Entry — for everything else (rec leagues, college, your kid's Little League). Type away team, home team, optional venue, and tap Start Scoring. You'll fill in the lineups by hand.
Set up the lineups
Tap the Lineup tab. Each team needs at least 9 batters and 1 pitcher.
- Add a batter — bottom of the list: name, jersey #, position from the dropdown. Tap Add Batter.
- Add a pitcher — under the Pitchers divider. The first pitcher you add gets a small SP badge for starter.
- Tap any name, jersey #, or position to edit in place.
- ◆ Field Positions at the top of the list opens a visual diamond — drag players to lay out your defense.
If you imported from MLB, most of this is filled in already. You can still edit anything that's wrong.
Save a roster to reuse it. Lineups you enter by hand — a Little League squad, a beer-league team — can be saved from the Rosters tab on the setup screen (or Settings → Manage rosters) and dropped into any future game without retyping. When you import an MLB game, both clubs' full active rosters come along for the night automatically, so pinch hitters and relievers are one tap away in the sub picker.
Hit Play Ball
Once both teams have 9 batters and 1 pitcher and you're at the top of the 1st, a green ⚾ Play Ball button appears at the top of the Scorecard tab. Tap it. The at-bat sheet opens for the leadoff hitter, away team. You're scoring.
Scoring an at-bat
This is the loop you'll repeat for the rest of the game.
What you're looking at
The at-bat sheet has three zones, top to bottom:
- Pitching block — the active pitcher's name, eight pitch-type buttons, the live pitch grid, and the current count.
- The diamond — fielders shown as small jerseys, base paths as four wedges, with three circles to the right (OUT, SC, ERR) and an RBI counter underneath.
- Result picker — three tabs (Reach, Out, Extras) with chips for every possible outcome.
The header at the very top shows the batter's name, the count (2-1), the outs in the inning, a tiny base-runner diamond, and arrows to move between batters (‹ prev, › next).
Logging pitches
Tap one of the eight pitch buttons each time the pitcher delivers:
- Swing — swing and miss
- Called — called strike (looking)
- Ball — ball
- Foul — foul ball
- Tip — foul tip
- Check — check swing called a strike
- Wild — wild pitch (counts as a ball, gets logged as a wild pitch)
- HBP — hit by pitch
Each tap fills in the pitch grid and the count updates. The button you tapped flashes for a couple of seconds in its color.
If you mis-tap, the small ↩ button right next to the pitch grid removes the most recent pitch.
There are also two smaller buttons below the row labeled PV → Ball and BV → Strike — those are pitch-clock violations (pitcher and batter, respectively). Tap them when called. They affect the count but don't charge a pitch to anyone.
When the at-bat ends
Three things happen automatically:
- Strikeout — third strike auto-records
K(orKcfor a called strike) and lights up the OUT circle. - Walk — fourth ball auto-records
BBand force-advances any runners on base. - Hit by pitch — tapping HBP auto-records
HBPand force-advances runners.
For anything else (a hit, a ground out, a fly out, an error), tap the right chip in the Result picker:
- Reach tab — 1B, 2B, 3B, HR, BB, IBB, HBP, FC
- Out tab — K, Kc, GO, FO, FOF, LO, SF, SAC, DP, TP, IFF
- Extras tab — E, CI, SB, CS, WP, PB, BLK
The first chip you tap is the primary result. You can tap additional chips to record secondary events on the same play (e.g. a stolen base on the same pitch as a hit).
Recording the fielders on a play
Some results need fielders attached — ground outs, fly outs, double plays, errors. When you pick one of those, the right side of the diamond panel changes to show the result symbol in red, and the fielders on the diamond light up as tappable.
- One-fielder plays (FO, FOF, LO, SF, IFF, E) — tap the fielder. Done.
FO 8becomesF8automatically. - Multi-fielder plays (GO, SAC, DP, TP) — tap fielders in order, then tap ✓ to confirm. So a 6-4-3 double play is: tap SS → tap 2B → tap 1B → tap ✓. The picker auto-derives the force out at 2nd.
- To bail out, tap the result chip again to deselect it.
If you want to add fielding notation without a result symbol attached (like an FC or just a fielder sequence), tap the small ✎ Notation button next to the diamond. Pick fielders, tap ✓ to save.
Advancing the runners
The diamond shows four wedge-shaped base paths: home→1st, 1st→2nd, 2nd→3rd, 3rd→home. Tap any wedge to cycle its state:
- First tap — safe (green): runner reached this base.
- Second tap — out (red): runner was thrown out trying.
- Third tap — clear, back to nothing.
Hits fill in base paths automatically: a single fills home→1st, a double fills home→1st and 1st→2nd, and so on. A home run fills all four and lights the SC (scored) circle on its own. For everything else — outs, walks, errors — runners don't move automatically. You tap.
The OUT and SC circles next to the diamond also work as manual toggles if you ever need to override what the app inferred.
Errors
The amber ERR circle records an error attributed to a specific fielder, separately from the primary result. Useful when something like "single + missed throw to 2nd" happens — 1B is the primary, then ERR for the missed throw.
Tap ERR, then tap the fielder who made the error on the diamond. The picker auto-confirms and a small chip (E6, E9, etc.) appears below the diamond. Each press of ERR = one error, so a two-error play is two presses.
To remove an error, tap the chip's ×.
RBIs
Below the diamond: RBI − 0 +. Tap + to credit a run batted in. The app helps you out — if your RBI count exceeds runs that have actually scored in the inning, the runner closest to home (3rd, then 2nd, then 1st) auto-advances home so the bookkeeping stays consistent.
On to the next batter
Tap › in the top-right of the sheet. The at-bat saves and the next batter's sheet opens.
If you mess up anything — wrong pitch, wrong result, wrong fielder, wrong RBI — the ↩ Undo button in the sheet header walks back the most recent action, one step at a time.
Stuff that comes up mid-game
Stolen bases
Open the runner's at-bat sheet (tap their cell on the scorecard). On the Extras tab, tap SB. Then tap the base segment they stole to mark it safe.
For a caught stealing, tap CS instead — the runner is auto-marked out and the base segment they were trying for becomes red.
Wild pitches and passed balls
Two ways depending on the situation.
- During an at-bat — log it as a pitch type. Wild in the pitch row counts as a ball and tags the pitcher with a wild pitch.
- Recording WP/PB as a separate event — on the Extras tab, tap WP (wild pitch) or PB (passed ball). The app attributes WP to the active pitcher and PB to the catcher automatically.
A wild pitch or passed ball that advances a runner between at-bats is a known rough edge — for now, record it as the primary event of the next at-bat or as an error chip with a note.
Substitutions
There are two flavors and the app handles both.
Pinch hitter / defensive sub — tap the Sub button in the at-bat sheet header (or, on the Lineup tab, tap Sub next to the player you're replacing). Type the new player's name and jersey #. The original player gets a ↳ arrow under their lineup row, and the substitute takes over from this point forward.
Pinch runner — when the current batter is on base, the Sub button changes label to Pinch Run. Tap it, fill in name and #. The original batter keeps the credit for the hit; the new runner gets credit for any subsequent advances and stolen bases. A small PR-15 annotation appears on the diamond.
Pitching changes
In the at-bat sheet, tap the small + next to the active pitcher's name. An inline form appears — name, optional jersey #, Add. The new pitcher takes over starting with the next pitch you log. Earlier pitches in this at-bat stay credited to the previous pitcher.
ABS challenges
(Automatic ball-strike challenge — MLB's new system. Each team gets two per game; an extra is restored at the start of the 10th if available.)
In the at-bat sheet, scroll to the ABS Challenge section. Three buttons: Batter (batting team), Catcher / Pitcher (fielding team). Each shows how many challenges that team has left.
- Tap who challenged.
- Pick the ruling: Overturned (green) or Confirmed (red).
The challenge logs as a chip with team, role, pitch number, and outcome. Tap the chip's × to remove (refunds the challenge if it was Confirmed).
Starring a great play ★
Tap the ★ STAR circle (alongside OUT / SC / ERR) to flag a memorable at-bat — a walk-off, a diving catch, your kid's first hit. A small star shows up in the corner of that cell on the scorecard and on any image you export. It's purely a keepsake marker and doesn't change any stats.
Earned vs. unearned runs
When a run scores, the at-bat sheet shows an Earned / Unearned toggle. The app makes a smart guess — runs in an inning muddied by an error or passed ball default to unearned — but you have the final say; tap to override either way. This is what feeds the pitcher's ERA on the Stats screen.
End of an inning, end of the game
When the third out is recorded, an amber ⚾ 3 Outs — End Half Inning button appears at the top of the scorecard (and as a banner inside the at-bat sheet). Tap it. The next half-inning opens and you're back to scoring.
If a half-inning runs long enough that the leadoff batter comes up again — the lineup turned over — tap › as usual and a new "split column" opens. A small 2nd Time Through pill shows up in the at-bat header. The earlier column stays visible on the scorecard; you can still tap ‹ to navigate back into it.
Once the game is decided (after the bottom of the 9th, or any later inning when the score isn't tied), the End ½ Inning button turns green and reads ⚾ Game Over — [Team] Win. Every cell on the scorecard locks — opening any of them now goes through a View or Edit prompt so you don't accidentally overwrite a finished game.
Extra innings are automatic. If the score is tied after regulation, just keep scoring — the app opens the 10th and beyond on its own (the old +INN button is gone). In a regular-season game, each half-inning from the 10th on starts with a one-tap prompt: "Place the automatic runner on 2nd base?" Tap OK and the batter in the lineup spot just ahead of the leadoff hitter is placed on second for you. If that runner comes around to score, the run is counted as unearned against the pitcher automatically (you can still override). Decline the prompt and you can place a runner by hand, the same as any other base path.
Saving, the box score, and undo
The top bar holds the buttons that come up most often:
- ▼ / ▲ Next half-inning — ends the current half and opens the next.
- ↩½ — undoes the most recent end-of-half-inning, but only if no pitches have been logged in the new half yet.
- 🆕 New Game — wipes everything and returns to the setup screen.
- 📋 Box Score — opens a copy-ready box score with Copy and Print options.
- 💾 Save — saves the current game to the cloud. ✓ on success.
- ? Feedback and ⚙ Settings — send a bug report, or open your preferences and account.
On the Scorecard tab, the 📸 button renders the whole scorecard — both teams' grids, themed to match your screen — as a shareable image. The Stats tab has its own 📸 (stats as an image) and 📊 (stats as a spreadsheet).
You don't need to manually save during a game. The app keeps a draft on your device automatically; if you close the tab and come back, an amber ⚾ Unsaved game found banner offers to restore. The 💾 button is for when you want a permanent cloud copy.
To load a saved game, tap the Games tab. Each card has the matchup, score, date, a 📋 button for the box score, and an ✕ to delete.
As a guest, your saved games live on the device you saved them on — other people can't see them, and they won't appear on your other devices. Sign in and everything syncs. Save a game on your phone at the park, open your tablet at home, and it's waiting in the Games tab. More in Accounts & syncing below.
The undo path — three different "undo" buttons live at three different scopes:
- ↩ under the pitch grid — removes the last pitch.
- ↩ Undo in the at-bat sheet header — walks back any single action: pitch, symbol, base path tap, error, RBI, sub.
- ↩½ in the top bar — undoes the most recent end-of-half-inning.
App updates won't cost you your games — saved scorecards keep working from one version to the next. (On the rare occasion the save format itself has to change, the app lets you know.)
Accounts & syncing across devices
Ledger No. 2 works fully without an account — score as a guest and everything saves to the device you're on. Signing in is free and adds one thing: your games, rosters, and settings sync across every device you use.
Signing in
Tap Sign in under the logo on the setup screen, or open ⚙ Settings → Account. Enter your email and you'll get a 6-digit code — type it in and you're in. (Prefer a link? The same email includes a magic sign-in link as a fallback.) Or tap Continue with Google to skip the code entirely.
Bringing your guest games with you
The first time you sign in on a device that already has guest games, the app offers to copy them into your account so nothing's left behind. It only ever copies — your on-device games stay where they are — and it never overwrites anything already in your account. There's also a manual Import this device's games button in Settings → Account for later.
What syncs
- Saved games — score at the park on your phone, pick up at home on your tablet.
- Saved rosters — your teams are available everywhere.
- Settings — theme and preferences follow you.
Sign out anytime from Settings → Account; the device drops back to its own guest list until you sign in again.
Settings, themes & keyboard shortcuts
The ⚙ gear — in the top bar during a game, and on the setup screen — opens Settings. A few things worth knowing:
Themes
Under Appearance, pick Dark (the default), Sepia (warm paper — easy on the eyes in bright sun), or Light. The whole app, and the scorecard images you export, follow your choice.
Favourite team
Set a favourite team and the setup screen's Import tab gains a ⚡ Quick import shortcut straight to their games.
Fielder labels
Choose whether the at-bat diamond labels fielders by number (the default — 6 is the shortstop), name, or both when you're noting who made a play.
Keyboard shortcuts
Scoring on a laptop or an iPad with a keyboard? Turn on Keyboard shortcuts (off by default — the app is touch-first) and a cheat sheet appears right under the toggle. With an at-bat open: 1 2 3 4 = single / double / triple / homer, W = walk, K = strikeout (⇧K = called), O = out, B S L F T = ball / swinging / called / foul / tip, ← → = previous / next batter, Esc = close, ⌘/Ctrl+Z = undo the last pitch. Shortcuts never fire while you're typing in a text box.
Reading what you've scored
Each cell on the scorecard packs a lot into a small box. From a quick glance you can see:
- Top-left — the result (
1B,K,GO 6-3, etc.) - Mini diamond in the cell — green-shaded base paths showing how far the batter got. A filled diamond = run scored.
- Bottom-left —
PR-XXif a pinch runner was used. - A ★ in the top corner — a play you starred as memorable.
- ①②③ — small numbered out indicators marking which out of the inning this was.
- A horizontal line at the bottom of a cell — marks the last batter of a half-inning.
In the lineup column on the left, a ↳ arrow under a player's name means a substitute came in for them. The cell rows tint a different shade for the inning a sub entered, so you can see at a glance when the change happened.
Two scorecard tabs at the top let you flip between AWAY and HOME sides.
When you're stuck on a symbol, the Legend tab has every result code, every position number (1–9 for P, C, 1B, 2B, 3B, SS, LF, CF, RF), and a glossary of every broadcast stat from AVG to FIP. Open it mid-game — your at-bat sheet stays open behind it.
From the dugout
- The ↩ Undo button is your friend. Whenever something looks wrong, undo first. It's almost always faster than unwinding by hand.
- Past cells are protected. Tapping a cell from an earlier inning shows a View or Edit prompt before letting you change anything. Empty cells from earlier in the game also prompt before letting you fill them.
- Hits auto-fill base paths; outs don't. A
1Bruns the batter to first for you. AGO 6-3doesn't move anyone — runners advance on outs in too many different ways for the app to guess. Tap the wedges yourself. - The Legend tab opens fast. When you forget what
IFForK/9means mid-game, just tap Legend — the at-bat sheet stays right where you left it. - Found a bug? Screenshot it and post in #bugs on the Discord — there's a template pinned in the channel.
Stay in touch
Bug reports, feature requests, scorecard screenshots, and live-scoring chat all happen on Discord: