ecocodes

How to read a code page

Every page on this site is built from one list, replayed move by move. This page defines each word and number used on the code pages, so the pages themselves can stay short.

The list

The opening names, ECO codes and move sequences come from lichess-org/chess-openings, retrieved on 2026-10-28. It holds 3,865 lines under all 500 codes from A00 to E99, with 3,177 distinct names. The list is dedicated to the public domain under CC0. Names, spelling and the code each line is filed under follow the list exactly. Where the list gives one name more than one line, each line is a different move order into a position of that name.

The list contains moves and names only. It says nothing about how often an opening is played, how it scores or whether it is sound, and neither does this site.

Reference line

A code usually holds several lines. The reference line is the shortest of them; when several are equally short, the one belonging to the opening with most lines in the code wins. The board at the top of a code page shows the position at the end of the reference line, with the last move’s two squares tinted.

Plies and moves

A ply is one move by one side; a full move is two plies. Moves are written in standard algebraic notation: 5.Nc3 is White’s fifth move, 5...a6 Black’s reply. The deepest line of a code is its longest one, counted in plies.

Named positions and the road

A named position is the position at the end of any line in the list. The road on a code page lists every ply of the reference line and marks each named position it passes, with the code that position belongs to. When a stop is marked “by another order”, the line reaches that position with its moves in a different sequence from the named line’s own. The moves after the line leaves the last named position of a different code are marked in red on the score sheet: they are the moves that turn the parent position into this code.

Branches, continuations and transpositions

Codes that leave the same position are codes whose reference lines last passed the same named position before going their own way. Where lines continue from here counts the lines filed under other codes that pass through the code’s reference position. Other move orders lists transpositions: a named position of this code reached inside a line of another code by a different sequence of moves, or the other way round.

The position facts

Comparisons

When a page says a code is the longest, fullest or most developed, it compares reference lines inside one of three groups, always the narrowest that applies: the codes whose reference line carries the same opening name (used only for the 20 names that head six or more codes), the 100 codes of the same volume, or all 500 codes. Each measure is compared in one group only on a page. Ties are named as ties.

Volumes

The letter of a code is its volume. The volume titles used here (A flank openings, B semi-open games, C open games and the French Defense, D closed and semi-closed games, E Indian defenses) are the customary headings of the five ECO volumes.

What this site does not do

It does not rank openings by strength, popularity or results, recommend what to play, or use game databases. Every count is computed from the list itself with the python-chess library at build time.