— Design & Creative

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.

— Samples
Moves 25Problems 0Valid
Live

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.

1

Open or Paste

An .sgf file or the record’s text.

2

Step Through

Use the arrows to replay move by move.

3

Read the Moves

Coordinates, captures and passes in order.

4

Check the Record

Illegal moves, kos and skipped variations.

Worked Examples

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.

REF_001A 9 × 9 club game’s players and result

“(;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.])”

REF_002A stone surrounded and taken

“(;GM[1]FF[4]SZ[9];B[cd];W[dd];B[ed];W[aa];B[dc];W[ab];B[de])”

REF_003A four-stone handicap game

“(;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])”

REF_004A ko retaken at once

“(;GM[1]FF[4]SZ[9]AB[ba][ab][bc]AW[ca][db][cc][bb];B[cb];W[bb])”

REF_005The club game’s stones and prisoners

“(;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.])”

REF_006A record with two variations

“(;GM[1]FF[4]SZ[9];B[ee](;W[cc];B[gg])(;W[gg];B[cc]))”

REF_007An old FF[3] record with a pass

“(;FF[3]GM[1]SZ[19]PlayerBlack[Kim]PlayerWhite[Lee];B[pd];W[tt];B[dp])”

REF_008A stone placed on a stone

“(;GM[1]FF[4]SZ[9];B[ee];W[dd];B[dd])”

REF_009A board too big to draw

“(;GM[1]FF[4]SZ[37];B[aa])”

REF_010A record for a different game

“(;GM[2]FF[4]SZ[8];B[dd])”

Property Reference

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.

01 / B

B and W

A black or white move, as two letters for column and row.

“What is B[]?”

02 / SZ

SZ

Board size; 19 when missing.

“What size is a game with no SZ?”

03 / KM

KM

Komi, the points White gets for moving second.

“Which player gets komi?”

04 / HA

HA

Number of handicap stones.

“Who places handicap stones?”

05 / AB

AB and AW

Stones added to the board, as in handicaps or problems.

“What does AB add?”

06 / PB

PB and PW

Player names, with BR and WR for ranks.

“Which property holds White’s rank?”

07 / RE

RE

Result, such as B+R or W+3.5.

“What does B+R mean?”

08 / C

C

A comment on a move.

“Which property holds commentary?”

09 / RU

RU

The rule set, such as Japanese, Chinese or AGA, which decides how the game is scored.

“Where are the rules named?”

10 / DT

DT and EV

The date the game was played and the event or tournament it belonged to.

“How are dates written?”

11 / CA

CA

The character set of the file’s text, such as UTF-8, needed for names in any script.

“Which property sets the encoding?”

12 / GM

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.

Tip 01

Keep Player Info

Names, ranks and dates make records searchable.

Tip 02

Record the Result

Write RE so the outcome travels with the game.

Tip 03

Note the Rules

RU and KM explain how the game was scored.

Tip 04

Comment Key Moves

C properties carry teaching notes with the moves.

Tip 05

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.

Tip 01

Unescaped Brackets

A ] inside a comment must be written as a backslash and ].

Tip 02

Swapped Letters

Writing row before column mirrors the whole game.

Tip 03

Wrong Board Size

Moves outside a missing or wrong SZ won’t fit.

Tip 04

Variation Order

Viewers follow the first branch as the main line.

Tip 05

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.

Frequently Asked Questions