Skip to content

About

Free JSON/CSV dataset of 1,506 chess openings covering all 500 ECO codes (A00–E99) — moves, ideas, traps, famous players. CC-BY 4.0.

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Latest commit

 

History

1 Commit

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Chess Openings Dataset

1,506 chess openings and defences covering all 500 ECO codes (A00–E99) — free JSON/CSV, CC-BY 4.0.

License: CC BY 4.0 Format Rows

The structured data behind Chess Openings — a free encyclopedia with a complete guide for every opening in the ECO. Each row is one publishable opening article: move order, strategic ideas for both sides, traps, famous practitioners, history and popularity/difficulty ratings.

Use it to seed opening tables, repertoire apps, chess GUIs, search filters, autocomplete, LLM fine-tuning, research — attribution is the only ask.

Files

File Rows Size Description
data/openings.json 1,506 ~1.2 MB Full dataset, one object per opening
data/openings.csv 1,506 ~0.8 MB Flat CSV (arrays joined with ; )

Dataset composition

  • 69 opening families — the top-level systems (Najdorf, Ruy Lopez, King's Indian…), with full strategic write-ups
  • 937 named variations — sub-lines grouped under their family
  • 500 ECO code entries — one for every code A00–E99

Quick start

JavaScript / TypeScript

const res = await fetch("https://raw.githubusercontent.com/Maahi420/chess-openings-data/main/data/openings.json");
const openings = await res.json();
console.log(openings.filter(o => o.eco.startsWith("B")).length); // 348 semi-open entries

Python

import pandas as pd
df = pd.read_csv("https://raw.githubusercontent.com/Maahi420/chess-openings-data/main/data/openings.csv")
print(df[df.eco == "B90"].to_dict("records"))

Field dictionary

Field Type Description
name string Full display name ("Sicilian Defence, Najdorf Variation")
kind family | variation | eco Article type
eco string ECO code, "A00"–"E99"
moves string Main line in SAN from the initial position, e.g. "1.e4 c5 2.Nf3 d6 3.d4 cxd4 4.Nxd4 Nf6 5.Nc3 a6"
side white | black | either Side the opening belongs to
style enum Aggressive / Positional / Solid / Sharp / Tricky / Universal
tags string[] Up to 3 of 25 tags (gambit, hypermodern, fianchetto, trap-heavy…)
popularity 1–5 5 = world-class main line
difficulty 1–5 5 = thickest theory
description string What the opening is and why it's played
white_ideas string Strategic plans for White (families)
black_ideas string Strategic plans for Black (families)
traps string[] Named traps with one-line explanations (families)
famous_players string[] Notable practitioners (families)
history string Short history (families)
url string The full guide on chess-openings.sryze.cc

Example

{
  "name": "Sicilian Defence, Najdorf Variation",
  "kind": "family",
  "eco": "B90",
  "moves": "1.e4 c5 2.Nf3 d6 3.d4 cxd4 4.Nxd4 Nf6 5.Nc3 a6",
  "side": "black",
  "style": "Sharp",
  "tags": ["counter-attacking", "elite-favourite", "tactical"],
  "popularity": 5,
  "difficulty": 5,
  "description": "The Najdorf is chess at its most ferocious...",
  "traps": ["..."],
  "famous_players": ["Bobby Fischer", "Garry Kasparov"],
  "url": "https://chess-openings.sryze.cc/opening/sicilian-defence-najdorf-variation-b90"
}

Why this dataset

  • Complete: every ECO code, not a highlights reel
  • Rich: strategic ideas and traps per opening, not bare move lists
  • Clean: consistent schema, typed fields, machine-readable from day one
  • Living: maintained as part of chess-openings.sryze.cc, where every row links to its full interactive guide

License

CC BY 4.0 — free for any use, including commercial, with attribution:

Chess Openings Dataset by chess-openings.sryze.cc/, licensed under CC BY 4.0.

Contact: amysinclaire944@gmail.com — questions, licensing, or corrections welcome.

Used it? A link back to https://chess-openings.sryze.cc/ helps others find the full guides — and do open an issue to say hi. 🤝

About

Free JSON/CSV dataset of 1,506 chess openings covering all 500 ECO codes (A00–E99) — moves, ideas, traps, famous players. CC-BY 4.0.

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors