Skip to main content
♘ Chess Codex
Search / 🎲 Random

Chess Opening Identifier

Paste the moves of a game, play them on the board, or enter a FEN position to get the opening's name and ECO code — and the lines that continue from it.

✎ Paste moves or a PGN ›

Standard notation, with or without move numbers — a whole PGN with headers works too. Only the opening moves are used.

🔍
    ♔ Search by FEN position ›

    Paste any FEN to find every opening that reaches that exact position — regardless of move order. Useful for transpositions.

    Click pieces to make legal moves.

    Match

    Make a move to begin.

    Possible continuations

      Played

        How the identifier works

        Every one of the 3,690 named lines in the Lichess chess-openings dataset is indexed by its moves. The identifier finds the longest named line that your moves begin with, so a game that leaves known theory early still gets the name of the opening it started as — along with how many moves past documented theory it went.

        Different move orders can reach the same position. Search by FEN to list every named line that arrives at a position, whatever the order of moves; the move counters and the en-passant field are ignored. The name search matches parts of names, with or without accents (najdorf, grunfeld), and ECO codes such as B20.

        Examples

        • 1. e4 c5 2. Nf3 d6 3. d4 cxd4 4. Nxd4 Nf6 5. Nc3 a6 → Sicilian Defense: Najdorf Variation (B90)
        • 1. e4 e5 2. Nf3 Nc6 3. Bb5 a6 → Ruy Lopez: Morphy Defense (C70)
        • 1. d4 Nf6 2. c4 e6 3. Nf3 d5 4. Nc3 Be7 5. Bg5 O-O 6. e3 Nbd7 → Queen's Gambit Declined: Orthodox Defense (D60)
        • 1. e4 c6 2. d4 d5 3. e5 → Caro-Kann Defense: Advance Variation (B12)

        https://chesscodex.org/search

        Data: Lichess chess-openings (public domain)
        About · Contact · Powered by Stockfish (GPL-3.0) · chessground (GPL-3.0) · chess.js (BSD-2) · v0.11.0