Tennis Scorekeeper 是一款基於瀏覽器、無需帳號的工具,會在您點選得分球員時,自動套用標準網球計分轉換——Love、15、30、40、Deuce、Advantage、tie-break,以及三戰兩勝制。開始使用時,您只需先輸入兩位球員的名字一次,於每次來回後點選該分得主,剩下的分層計算就交給計分工具處理,計分板會即時顯示目前的盤數、局數與分數。記錯了也沒關係:「復原上一分」按鈕能還原到您點選前的精確比分,即使跨越局、盤、tie-break 或比賽的界線,因此誤觸並不會毀掉整場比賽。如果您想在同一台裝置上記錄多場比賽,「開始新比賽」只會清除目前這場比賽,而保留本機已記錄的每日歷史。所有計分都在您的瀏覽器內進行,僅使用單一 local storage 金鑰;只有在您需要瀏覽器外部的檔案時,才會透過瀏覽器 API 選擇性地匯出 PNG 與 CSV,全程不涉及任何帳號、上傳或伺服器端計分 API。

Why a Plain Tally Stops Working for Tennis
A simple click counter shows you the number of points won, but tennis scoring is layered. Inside each game the score moves through Love, 15, 30, and 40 rather than ticking up one number at a time. When both players reach three points, the game reaches 40-all, which is shown as Deuce, and the next point gives one player Advantage instead of moving the visible total higher. A second consecutive point wins the game; a return by the opponent puts the game back at Deuce. On top of the game, a set counts won games, and a set won by two games ends the set. At six games each, the tool switches to a numeric tie-break in which the first player to seven points by two wins the set 7-6. The match completes when one player has won two sets. The relevant scoring rules are described in the ITF Rules of Tennis and cross-checked in the USTA scoring guide, and the scorekeeper implements them as an explicit local state machine rather than computing a final total from a single tally. That is why a plain counter stops being enough once a friendly match actually gets going.
Open Tennis Scorekeeper and Name Your Players
Start by opening the Tennis Scorekeeper in your current browser tab. There is no account, sign-up, or install step, and the page works from a single local storage key that stays on this device. The first thing the tool asks for is the two player names. Type each name into its field and confirm — once both names are set, they stay visible above the score display for the rest of the match, so you do not retype them on every point. The two names also act as the tap targets during play: each player's name becomes a large tap area, and tapping that area registers a won point for that player. Because the names drive the entire interface, take a second to confirm the spelling before the first point is recorded. If you need to rename a player after a few points have already been recorded, the cleanest path is to use Start new match so the existing points remain in the daily history while a fresh match begins under the new names. The player names live only in this browser's local storage, so they will not appear on another device or browser, and clearing site data will remove them along with the active match and point history.
Record Each Point by Tapping the Winner
After both names are set, recording a match is a four-step loop that runs for every point:
- Watch the rally and decide which player wins the point.
- Tap that player's name — the large tap area below the scoreboard — to register one won point.
- Read the scoreboard to see how the scorekeeper translated that point. Game score, set score, and the running match score all update together.
- Tap the winner of the next point. Repeat the loop until one player wins the match by capturing two sets.
That loop is the entire scoring workflow, because the scorekeeper handles the transitions, not you. For example, if the current game score is 30-15 and you tap Player A, the score moves to 40-15. If you then tap Player A again at 40-15, the game is awarded to Player A and the set score ticks up. The only time you need to think about scoring math is when the game enters Deuce, because the score then shows Deuce, then Ad Player A or Ad Player B, and the next point decides the game only if the same player wins twice in a row. Everything between those moments is handled by the score transitions built into the tool, so the workflow stays the same from Love through the deciding tie-break. The tap targets are sized for quick use between rallies, so you spend your attention on the match rather than on the interface.
Reading the Score Through Deuce and Tie-Break
The display follows the same labels a tennis player would expect from a printed scorecard, so reading the score means reading the layers, not translating a running total. The current point score sits inside the active game, the game count sits inside the active set, and the set count is the running match score. Here is the standard point progression the tool shows inside a regular game:
| Points played | Player A display | Player B display |
|---|---|---|
| 0 | Love | Love |
| 1 | 15 | Love |
| 2 | 30 | Love |
| 3 | 40 | Love |
| 4 (three each) | Deuce | Deuce |
| 5 (point to A) | Ad A | 40 |
| 6 (point back to B) | Deuce | Deuce |
| 7 (point to A again) | Game A | — |
When the set reaches 6-6, the tool switches the active game to a numeric tie-break. From that point, the displayed game score is a plain point count rather than Love/15/30/40, the first to seven points by two wins the tie-break, and the set is recorded as 7-6 in the set score. The match ends when one player reaches two sets, and the scorekeeper handles each of these layered transitions through the same point-tap loop you used in the first game, so your workflow stays identical from Love through the deciding tie-break. For a deeper look at how Advantage and Deuce behave, see Does Tennis Scorekeeper Handle Deuce and Advantage?.
Correcting Accidental Taps and Starting Another Match
Every tap stores a snapshot of the full match state — sets, games, and point score — so the Undo last point button restores the exact pre-tap score. Undo is safe to use even if the accidental tap ended a game, finished a set, closed out a tie-break, or won the match, because the snapshot covers the whole match rather than just the current game. Use Undo the moment you notice a mistake; do not continue recording points first, because later taps will overwrite the snapshot you would have undone to. If you want to record a separate match under the same player names, use Start new match. That control clears only the active match score, while the points already recorded remain in the local daily history. The Start new match path is the right one when you finish a singles set, move to a second friendly match with the same opponents, or simply want a clean scoreboard after a practice drill. For broader guidance on reversing mistakes, see How to Fix a Result That Looks Wrong in Tennis Scorekeeper.
Exporting Your Private Record When You Need It
The scorekeeper does not push your data anywhere — there is no server-side scoring API, no upload queue, and no remote file conversion — but it can hand you a file when you want one outside this browser. Each point you tap is also recorded against your device's local calendar day, so the history the tool shows is keyed by date using the local date supplied by your browser. From that local record you can:
- Export CSV to create a Date and Points recorded file suitable for a spreadsheet or archive.
- Export PNG to create a 1080 by 1350 image showing the total and recent days. The image deliberately omits a URL and the player names, limiting personal context if you share it.
- Clear local history to remove the stored record when you want to start again from a blank browser state.
Both exports are produced locally using browser Blob and canvas APIs. If browser storage is unavailable, the score still works on the current page, but the tool discloses that it cannot retain the history. One important boundary: the scorekeeper is a personal scorekeeping aid rather than an official tournament scorer. It does not manage service order, doubles rotations, chair-umpire decisions, line calls, court changes, retirement, or event-specific scoring variations, so if a tournament announces a different format, that format controls the event.