Chess Graph

Chess Opening Tree Features

Everything you need to build, explore, and master your chess opening repertoire.

Interactive Game Tree

Interactive game tree showing branching opening variations

Your opening repertoire is displayed as a visual node graph. Each node represents a chess position, and edges represent the moves connecting them.

  • Click any node to jump to that position on the board
  • Auto-layout keeps the graph organized as it grows using the dagre layout engine
  • Collapse & expand — double-click a node to hide its descendants; a blue +N badge shows how many nodes are hidden
  • Minimap in the corner for quick orientation in large trees
  • Zoom & pan — scroll to zoom, drag the background to pan
  • Transpositions — when different move orders reach the same position, a curved edge connects them instead of duplicating nodes

Chess Board

Chess board with arrows and highlighted squares

A fully interactive chess board stays in sync with the graph. Make moves by clicking or dragging pieces.

Board Annotations

Right-click and drag on the board to draw arrows. Right-click a square to highlight it. Annotations persist per node.

ActionColor
Right-click a squareOrange
Shift + right-clickGreen
Ctrl / Cmd + right-clickRed

Click the eraser icon below the board to clear all annotations for the current node. Right-clicking the same square with the same modifier toggles the highlight off.

External Analysis

Below the board, quick links open the current position on Chess.com and Lichess for deeper analysis with their engines.

Move Input

Move input field with turn indicator

Type moves in standard algebraic notation instead of dragging pieces. A turn indicator shows whose move it is.

  • Press Enter to submit a move
  • Invalid moves show a red error message that auto-clears after 2 seconds
  • Pawn promotions to the back rank without a piece suffix (e.g., e8) automatically promote to queen
  • Examples: e4, Nf3, O-O, exd5, e8=Q

Keyboard Shortcuts

Navigate and edit without touching the mouse. Shortcuts are disabled when a text input is focused.

ShortcutAction
Navigate to parent node
Navigate to first child (expands if collapsed)
Navigate to previous sibling
Navigate to next sibling
Ctrl / Cmd + ZUndo
Ctrl / Cmd + Shift + ZRedo
Ctrl / Cmd + YRedo (alternate)
EscapeClose dialogs and menus
Double-click nodeCollapse or expand subtree

Node Customization

Node context menu with color, tag, and delete options

Right-click any node in the graph to open its context menu with these options:

  • Edit Comment — add or edit a text annotation for the node (Ctrl / Cmd + Enter to save)
  • Change Color — pick from 6 colors (Default, Green, Red, Yellow, Blue, Purple) to visually categorize nodes
  • Add Tag — attach text labels like “main line” or “dubious” shown as badges on the node
  • Delete — remove a node and all its descendants (not available on the root node)
  • Remove Transposition — delete specific transposition edges from the node

PGN Import

PGN import dialog with text area and file upload

Import games from any PGN source to quickly build your repertoire.

  • Paste PGN text directly into the text area
  • Upload a .pgn file from your computer
  • Multiple games are supported in a single import
  • Auto-merge — existing nodes with matching moves are reused, not duplicated
  • Recursive variations (RAVs) are fully parsed
  • Import summary shows new nodes, merged nodes, and transpositions created
  • Error reporting — invalid moves are reported by game number and move, while valid moves are still imported

Export & Import

Back up your entire library or transfer it to another browser.

Export

  • Click Export in the top bar to download all repertoires as a single JSON file
  • Filename includes the date: chess-graph-export-2025-01-15.json
  • Includes all repertoires, nodes, and folders

Import

  • Click Import and select a previously exported JSON file
  • The file is validated before loading — malformed files are rejected with an error message
  • Importing replaces your entire library (all repertoires and folders)

Repertoire Management

All Graphs page with repertoire cards organized in folders

Organize your repertoires from the All Graphs page.

  • Create new repertoires with a single click
  • Rename repertoires inline from the editor top bar
  • Delete repertoires you no longer need
  • Folders — group related repertoires into collapsible folders
  • Drag and drop — move repertoires between folders
  • Search — filter repertoires by name
  • Graph panel sidebar — quickly switch between repertoires from within the editor

Additional Features

  • Dark & light theme — toggle from any page using the theme switch in the top-right corner
  • Undo & redo — up to 50 steps of history for every action (add moves, delete nodes, edit comments, import PGN)
  • Local persistence — all data is saved in your browser via IndexedDB; no account or server required
  • Node details sidebar — view the comment, tags, and transposition links for the selected node
  • Flip board — view from Black's perspective with one click
  • Board coordinates — rank and file labels on the board edges

Ready to build your repertoire?

Get Started