Basketball Scorekeeper's Undo last event restores the full prior game state — score, period, team fouls, and daily summary — so a wrong result is corrected by replaying the correct event rather than by subtracting a generic amount. The +1, +2, and +3 buttons record the actual scoring event that happened, which means the total after the fix reflects the real play, not a reconstructed number. A foul is tracked separately from points, so undoing a foul does not silently change the score. This separation matters because the most common reason a result looks wrong after using the tool is a tap on the wrong button during a fast game, not a calculation error inside the scoreboard. The fix is therefore local, deliberate, and auditable: tap Undo to roll back the mistaken entry, tap the correct +1, +2, or +3 button (or the correct side's foul button), and watch the totals, the displayed team-foul counts, and the daily record adjust together. Because the daily summary is preserved automatically with the rest of the game state, the same correction appears in any later PNG or CSV export without manual editing. Open the Basketball Scorekeeper on the same browser and the same device where the original game was recorded, since the data lives in that browser's local storage and a different browser or device starts empty.

Why a result can look wrong after using Basketball Scorekeeper
A wrong-looking result almost always traces back to one of three moments during the game: a tap that landed on the wrong team's button, a tap that landed on the wrong point value (for example, recording a made two-pointer as +1), or a foul tapped against the wrong side. Because the tool separates scoring events from team-foul events, the totals and the foul count move independently. That separation is helpful for accuracy but it also means a real foul will not change the score and a real score will not change the foul count, so a mismatch between what happened on the court and what the screen shows is a clear sign of a mistaken tap rather than a calculation bug. The current period is also part of the displayed state, so a stray tap on Next period can make a quarter or overtime label look wrong even though the scores themselves are correct.
It is worth pausing on the rule that the tool follows. Per FIBA Article 16, a free throw counts one point, a goal from the two-point area counts two, and a goal from the three-point area counts three (see the FIBA Official Basketball Rules 2024). USA Basketball's youth guidelines restate the same familiar values (see USA Basketball Youth Guidelines). The +1, +2, and +3 buttons match those values exactly, so the fix is always to tap the value that matches the play, not to subtract a generic amount.
Fix a wrong score or foul step by step
- Confirm the active game in Basketball Scorekeeper matches the game you want to correct. The tool stores one active scoreboard at a time, so an unrelated game from later in the day would also be affected by undo.
- Identify which event was wrong. Look at the live totals, the current team-foul counts, and the period number, and compare them to what actually happened on the court for the most recent play.
- Tap Undo last event once. This restores the exact prior state — both teams' scores, both sides' team-foul counts for the current period, the current period label, and the daily event summary that feeds future exports.
- Tap the correct button: +1, +2, or +3 on the side that scored, or Record team foul on the side that committed the foul.
- Read the live totals and foul counts back from the screen. The score, the foul count, and the period should now match what happened on the court.
- If more than one event was wrong, repeat the undo-and-record cycle one event at a time. Each Undo removes exactly one prior event.
- When the screen matches reality, leave the game in place. The local daily summary now holds the corrected totals for today's date.
What Undo actually restores
Undo last event is a true state restoration, not a generic subtraction. When you tap it, Basketball Scorekeeper rewinds the active scoreboard to the totals, foul counts, and period label that existed immediately before the most recent event, and it rewinds the local daily summary for today's calendar date by the same amount. That is why undoing a three-point event returns the correct total of minus three rather than minus one, and why undoing a foul changes the foul count but leaves the score untouched. The same logic protects exports: a later PNG or CSV will not contain the mistaken entry, because the daily summary that those exports are built from has already been corrected.
This design also protects against accidental cascading mistakes. Because each Undo removes exactly one event, you cannot accidentally roll back the whole game by tapping twice quickly without seeing the intermediate state — the screen updates between taps and you can read it.
Comparing what each action resets
| Action | Live score | Team fouls (current period) | Period label | Saved daily history |
|---|---|---|---|---|
| Undo last event (one tap) | Reverses last scoring event | Reverses last foul event | Unchanged unless a period advance was the last event | Same change applied to today's daily row |
| Next period | Preserved | Both team-foul displays reset to zero | Incremented (1–4, then overtime numbers) | Today's daily row keeps the running score and foul events |
| Start new game | Cleared to zero | Cleared to zero | Reset | Preserved for all past dates |
| Clear local history | Cleared | Cleared | Reset | Removed for every saved date in this browser |
Use the table as a quick reference when deciding which control solves the problem you actually have. A single mistaken tap calls for Undo. A wrong period advance calls for Undo if it was the very last action, otherwise for Next period to advance one more time and accept the new period. A game that was scored for the wrong teams entirely calls for Start new game. A browser where every saved day looks wrong calls for Clear local history, which is a deliberate, unrecoverable reset.
Fixing a daily history row instead of the live game
Sometimes the live scoreboard is correct and the problem is in the daily summary that appears under the active game — for example, yesterday's row shows a total that does not match what you remember recording. The same undo mechanic applies, but only on the active game: there is no separate edit field for past daily rows. For today's daily row, Undo followed by the correct button updates the daily row along with the active game, since Undo restores the daily summary together with the game state. For mistakes on past dates, the safer answer is to leave the historical row as it was and add a note in your own files, because the tool does not expose a back-dated editor and the saved row is the authoritative record for that day.
Confirming the fix with exports
After the live totals and foul counts look right, the next step is to make the corrected state portable. Export CSV produces a compact file with one row per local date and columns for home points, away points, home fouls, and away fouls, so a later reader does not have to guess what a total means. Export PNG produces a 1080 by 1350 image with the active total and recent days; the file leaves out team names and any web address to keep the shared image free of unnecessary context. Both downloads are built in the browser with native Blob and canvas APIs, so the corrected totals appear in the exported file without any server-side conversion in the path. Run the export from the same browser and the same device where the original game was recorded, because that is where the daily summary lives.
What the fix will not do
The correction workflow is built around events, not numbers, so it cannot edit a total directly. There is no "subtract 2 from home" button, no text field for entering a corrected score, and no calendar picker for editing a past daily row. If the tool is not appropriate for the kind of mistake you have — for example, a player-level foul ledger mistake, a possession mistake, or a clock-based mistake — the right response is to leave the Basketball Scorekeeper record as the official event ledger and keep any richer correction in a separate tool. The tool is also explicit about what it is not: it is not a licensed official scoresheet, not a shot clock, not a possession tracker, not a player roster, not a player-foul ledger, and not a rules engine that can decide penalties or substitutions. The fix is meant for the common case where one button was tapped by mistake during a live game, and the recovery path stays inside that boundary.
Verifying the fix is complete
A useful final check, especially after a fast sequence of corrections, is to read the screen in three layers. First, the totals: do both team scores match what the scorebook would say? Second, the fouls: do both team-foul displays for the current period match the on-court count, given that fouls reset on a Next period tap? Third, the period label: is the number on the screen the period actually being played? If all three layers agree, the active game is now consistent with what happened. For a deeper audit, open the exported CSV and check that today's row of home points, away points, home fouls, and away fouls matches the corrected live totals. That same row is what later readers will see, so matching it now prevents a confusing-looking number from reappearing in a future export. To keep the fix stable, leave the team names, the active game, and the daily history in this browser and avoid clearing site data unless you intend to wipe the saved record; a different device starts empty, and clearing site data removes the record entirely. If you want to walk through the verification side of the workflow in more detail, the guide on checking results after using Basketball Scorekeeper covers the same browser-local state from the read-only angle.
If you're weighing options, How to Fix a Wrong Result After Using a Debate Timer covers this in detail.