Free SGF Viewer
Open or paste a Go game record to step through it on a board, read every move and check it follows the rules.
What is a SGF Viewer?
This SGF viewer replays Go game records saved in Smart Game Format, the standard file format for Go, baduk and weiqi. Step through the game on a board, read every move in board coordinates with its captures, and see players, ranks, komi, handicap, rules and result.
The record is parsed in full, escaped text and variation branches included, and the main line is replayed under the rules of Go: captured stones come off the board, prisoners are counted, and moves onto occupied points, suicides and immediate ko recaptures are reported. Handicap stones are placed before the first move.
Key Features
Step Through Games
Move forward and back through the whole game.
Real Captures
Stones without liberties are removed and counted.
Moves in Coordinates
Every move as a board point such as Q16, with captures.
Game Info
Players, ranks, komi, handicap, rules, date and result.
Rule Checks
Occupied points, suicide, ko and handicap mismatches.
Perfect for everyone
- Go players
- Teachers
- Club organisers and developers working with game records
How to Use the SGF Viewer
Open an .sgf file downloaded from a Go server, a club site or a teaching app, or paste the record’s text straight from an email or forum post. The board, move list and checks update as you edit, so a mistyped point shows up at the exact move where the game goes wrong.
Open or Paste
An .sgf file or the record’s text.
Step Through
Use the arrows to replay move by move.
Read the Moves
Coordinates, captures and passes in order.
Check the Record
Illegal moves, kos and skipped variations.
Records, Replayed
Each row is a game record of the kind exported by Go servers, teachers and old archives, along with a few that break the rules or the format. Each answer is this tool’s moves, info or check, replayed under the rules of Go, with captures removed and prisoners counted as the game goes.
“(;GM[1]FF[4]CA[UTF-8]SZ[9]KM[7]RU[Japanese] PB[Ada Okafor]BR[3k]PW[Nia Grant]WR[2k]DT[2026-10-12]EV[Autumn Ladder]RE[B+R] ;B[ee];W[gc];B[cf];W[ge];B[dc];W[gg];B[ec];W[fd];B[eg];W[fg];B[eh];W[fh] ;B[ef];W[fe];B[cc];W[hd];B[fc];W[gb];B[fb];W[dh];B[ch];W[di];B[ci];W[ei] ;B[ed]C[Black connects.])”
“(;GM[1]FF[4]SZ[9];B[cd];W[dd];B[ed];W[aa];B[dc];W[ab];B[de])”
“(;GM[1]FF[4]SZ[19]HA[4]KM[0.5]PB[Leo]PW[Mia]AB[dd][pd][dp][pp];W[qf];B[nc];W[qn];B[pl];W[nq])”
“(;GM[1]FF[4]SZ[9]AB[ba][ab][bc]AW[ca][db][cc][bb];B[cb];W[bb])”
“(;GM[1]FF[4]CA[UTF-8]SZ[9]KM[7]RU[Japanese] PB[Ada Okafor]BR[3k]PW[Nia Grant]WR[2k]DT[2026-10-12]EV[Autumn Ladder]RE[B+R] ;B[ee];W[gc];B[cf];W[ge];B[dc];W[gg];B[ec];W[fd];B[eg];W[fg];B[eh];W[fh] ;B[ef];W[fe];B[cc];W[hd];B[fc];W[gb];B[fb];W[dh];B[ch];W[di];B[ci];W[ei] ;B[ed]C[Black connects.])”
“(;GM[1]FF[4]SZ[9];B[ee](;W[cc];B[gg])(;W[gg];B[cc]))”
“(;FF[3]GM[1]SZ[19]PlayerBlack[Kim]PlayerWhite[Lee];B[pd];W[tt];B[dp])”
“(;GM[1]FF[4]SZ[9];B[ee];W[dd];B[dd])”
“(;GM[1]FF[4]SZ[37];B[aa])”
“(;GM[2]FF[4]SZ[8];B[dd])”
Common SGF Properties
An SGF record is a tree of nodes, each a semicolon followed by properties: two capital letters and values in square brackets. These are the ones found in nearly every Go record, from a quick online game to a commented professional match, and the info view reads most of them.
B and W
A black or white move, as two letters for column and row.
“What is B[]?”
SZ
Board size; 19 when missing.
“What size is a game with no SZ?”
KM
Komi, the points White gets for moving second.
“Which player gets komi?”
HA
Number of handicap stones.
“Who places handicap stones?”
AB and AW
Stones added to the board, as in handicaps or problems.
“What does AB add?”
PB and PW
Player names, with BR and WR for ranks.
“Which property holds White’s rank?”
RE
Result, such as B+R or W+3.5.
“What does B+R mean?”
C
A comment on a move.
“Which property holds commentary?”
RU
The rule set, such as Japanese, Chinese or AGA, which decides how the game is scored.
“Where are the rules named?”
DT and EV
The date the game was played and the event or tournament it belonged to.
“How are dates written?”
CA
The character set of the file’s text, such as UTF-8, needed for names in any script.
“Which property sets the encoding?”
GM and FF
The game type, 1 for Go, and the format version, 4 for current files.
“What does GM[1] mean?”
How an SGF File Is Built
SGF is plain text, so a record can be read, fixed or written by hand once you know its four building blocks. Every Go server and program writes the same structure, which is why records move freely between them.
Game Tree
Round brackets wrap a game; a record can hold several games, and this viewer reads the first.
Nodes
Each semicolon starts a node, usually one move with any comments or marks.
Properties
Capital-letter names with values in square brackets, such as KM[6.5] or B[pd].
Variations
Brackets inside a game start alternative lines; the first is the main line.
Reading SGF Coordinates
SGF stores points as two lower-case letters, which are easy for programs and awkward for people reading a record by eye or comparing it with a printed diagram. This viewer shows the familiar board coordinates instead, and here is exactly how the two systems match up.
Columns First
The first letter is the column, counted from a on the left.
Rows From the Top
The second letter is the row, counted from a at the top.
Board Coordinates
Columns A to T skip the letter I, and rows count up from the bottom.
Example
On 19 × 19, pd is the top-right star point, Q16.
Working With SGF Files
Habits that keep game records readable by every Go program, from online servers and club ladders to study apps. A record that carries its own context is far more useful years later, when nobody remembers the game.
Keep Player Info
Names, ranks and dates make records searchable.
Record the Result
Write RE so the outcome travels with the game.
Note the Rules
RU and KM explain how the game was scored.
Comment Key Moves
C properties carry teaching notes with the moves.
Save as UTF-8
Set CA[UTF-8] for names in any script.
The Rules the Replay Follows
The viewer plays every move on a real board, so the position you step through is the one the players had. These are the rules it applies as it goes, and the ones the check reports when a record breaks them.
Liberties
A stone or chain of stones needs at least one empty point next to it.
Captures
A move that takes the last liberty of enemy stones removes them as prisoners.
Suicide
Most rules forbid a move that leaves your own stones without liberties.
Ko
You can’t retake a single stone at once if it repeats the previous position; superko rules aren’t checked.
Passes
A move with no point is a pass; two in a row usually end the game.
Reading SGF Results
The RE property records how the game ended in a compact code, and the info view spells it out. The letter says who won and the part after the plus sign says how.
B+R or W+R
Won by resignation.
B+3.5 or W+0.5
Won by that many points after counting; half points come from komi.
B+T or W+T
Won on time, when the other player’s clock ran out.
B+F or W+F
Won by forfeit.
0 or Draw
A draw, also called jigo; Void means no result.
SGF Pitfalls
The mistakes that make a record fail to load or replay differently from the game that was played. Most come from editing records by hand or converting them between programs.
Unescaped Brackets
A ] inside a comment must be written as a backslash and ].
Swapped Letters
Writing row before column mirrors the whole game.
Wrong Board Size
Moves outside a missing or wrong SZ won’t fit.
Variation Order
Viewers follow the first branch as the main line.
Old Pass Notation
tt as a pass only works on boards up to 19.
Board Sizes
Go is played on boards of different sizes, and SZ says which one a record uses. The viewer draws any square board from 2 to 25 lines, with star points marked on the usual sizes.
9 × 9
Quick games and teaching; a game takes minutes.
13 × 13
A step up for improving players, with more room for fights.
19 × 19
The full board used in tournaments and most game records.
Who Uses an SGF Viewer
Anyone with a Go record as a file or text who wants to see the game without installing a full Go program. It works the same on a phone, a tablet or a shared computer.
Club Players
Review a game downloaded from a server.
Teachers
Step through a lesson game with students.
Problem Setters
Check a setup position before sharing it.
Archivists
Read old FF[3] records and their properties.
Developers
Debug SGF written by a bot or a server.