datasets
Training and evaluation data, with the modality, task and licence stated up front. Listed live from the Hugging Face Hub.
standard-chess-games
[!CAUTION]
This dataset is still a work in progress and some breaking changes might occur.
Lichess Rated Standard Chess Games Dataset
Dataset Description
6,771,826,271 standard rated games, played on lichess.org, updated monthly from the database dumps.
This version of the data is meant for data analysis. If you need PGN files you can find those here. That said, once you have a subset of interest, it is trivial to convert it back to PGN as shown in the Dataset Usage… See the full description on the dataset page: https://huggingface.co/datasets/Lichess/standard-chess-games.strategic_game_chess
Chess
Recent advancements in artificial intelligence (AI) underscore the progress of reasoning and planning shown by recent generalist machine learning (ML) models. The progress can be boosted by datasets that can further boost these generic capabilities when used for training foundation models of various kind. This research initiative has generated extensive synthetic datasets from complex games — chess, Rubik's Cube, and mazes — to study facilitation and the advancement of these… See the full description on the dataset page: https://huggingface.co/datasets/laion/strategic_game_chess.chess-position-evaluations
Dataset Card for the Lichess Evaluations dataset
Dataset Description
394,669,566 chess positions evaluated with Stockfish at various depths and node count. Produced by, and for, the Lichess analysis board, running various flavours of Stockfish within user browsers. This version of the dataset is a de-normalized version of the original dataset and contains 957,860,115 rows.
This dataset is updated monthly, and was last updated on July 8th, 2026.… See the full description on the dataset page: https://huggingface.co/datasets/Lichess/chess-position-evaluations.chess-selfplayceia-chess-evalchess-puzzles
Dataset Card for Lichess Puzzles
Dataset Description
6,100,960 puzzles, rated and tagged. See them in action on Lichess.
This dataset is updated monthly, and was last updated on September 7th, 2026.
Dataset Creation
Generating the initial dataset chess puzzles took more than 50 years of CPU time. We went through 300,000,000 analyzed games from the Lichess database, and re-analyzed interesting positions with Stockfish 12/13/14/15 NNUE at 40… See the full description on the dataset page: https://huggingface.co/datasets/Lichess/chess-puzzles.ChessInstruct
ChessInstruct
The ChessInstruct Dataset serves as the foundation for training and fine-tuning Language Models (LLMs) specifically in the realm of chess instruction.
Derived from the laion/strategic_game_chess dataset, this meticulously curated dataset encompasses a wide array of annotated instructional chess content.
Features of the ChessInstruct Dataset:
Rich and Diverse Content: Curated with a broad spectrum of instructional resources including annotated games, strategic analyses… See the full description on the dataset page: https://huggingface.co/datasets/Thytu/ChessInstruct.MET-Bench-Chess
MET-Bench: Multimodal Entity Tracking for Evaluating the Limitations of Vision-Language and Reasoning Models
Vanya Cohen and Raymond Mooney · ICML 2026
Paper · Publication page · Load the dataset · Citation
Domains: Chess · Shell Game · Minecraft
MET-Bench evaluates entity state tracking across text and image modalities. This repository contains the Chess domain.
Chess
Chess is an entity state tracking task in which a model follows the positions of pieces through… See the full description on the dataset page: https://huggingface.co/datasets/vanyacohen/MET-Bench-Chess.ChessFENS
📘 Chess FEN Dataset with WDL & Policy Vectors
This dataset contains 732 million rows of chess positions stored in Parquet format.
Each row includes the following fields:
fen: A standard FEN string representing the current board position.
wdl: A 3-element vector [win_prob, draw_prob, lose_prob] representing the win/draw/loss probabilities for the side to move.
policy: A vector of 1858 elements representing the probability distribution over legal moves for the current position… See the full description on the dataset page: https://huggingface.co/datasets/Maxlegrec/ChessFENS.llamia-chess-datachess-evaluations
Chess Evaluations Dataset
This dataset contains chess positions represented in FEN (Forsyth-Edwards Notation) along with their evaluations and next moves for tactical evals. The dataset is divided into three configurations:
tactics: Includes chess positions, their evaluations, and the best move in the position.
randoms: Contains random chess positions and their evaluations.
chess_data: General chess positions with evaluations.
This is an in progress dataset which contains millions… See the full description on the dataset page: https://huggingface.co/datasets/ssingh22/chess-evaluations.chess-gpt2-hiddenstates-768Is this working?
tournament-chess-games
Lichess Broadcasts Dataset
Dataset Description
931,021 chess games from chess tournaments tracked using Lichess Broadcasts.
Lichess Broadcasts show live games as they unfold with new moves arriving in real time. They are built to connect to the live-updating PGN file produced by DGT boards but can work with other sources as well.
Broadcasts are organized in "tournaments" and "rounds."
Dataset Sample
{
'Event': 'FIDE World Championship Match 2021',
'Site':… See the full description on the dataset page: https://huggingface.co/datasets/Lichess/tournament-chess-games.chess-openings
Dataset Card for Lichess Puzzles
Dataset Description
3704 chess openings with their Encyclopaedia of Chess Openings (ECO) classification.
Dataset Creation
Creating this dataset is detailed in its original GitHub repository.
Updates to the original repo will also be reflected in this version. Dataset last updated on May 20th, 2026.
Dataset Usage
Using the datasets library:
from datasets import load_dataset
dset =… See the full description on the dataset page: https://huggingface.co/datasets/Lichess/chess-openings.chess-soft-sf19
avewright/chess-soft-sf19
Official Stockfish 19 MultiPV soft targets. This release supersedes the 25k
pilot. It is not a filter of chess-soft-multipv-lichess or
chess-soft-100m-disagreements.
2,010,006 rows. Source id 4. Vocab compact (1968).
Mix (as generated)
origin
rows
note
self-play (origin=1)
0
SF19 vs SF19, ε=0.20, book + 4 random legal
relabel (origin=0)
0
existing local boards, new SF19 labels
frozen eval
10,000
split=1 in… See the full description on the dataset page: https://huggingface.co/datasets/avewright/chess-soft-sf19.chess960-chess-games
[!CAUTION]
This dataset is still a work in progress and some breaking changes might occur.
Note
The FEN column has 961 unique values instead of the expected 960, because some rematches were recorded with invalid castling rights in their starting FEN in November 2023.
chess-selfplay-datachess-gpt2-hiddenstates-512
Dataset Card for Chess GPT-2 Hidden States 512
Dataset Summary
This dataset contains 120k hidden state vectors from forward passes through a GPT-2 model trained on UCI chess move sequences.
The model has 8 layers, each with 8 attention heads, and a hidden state size of 512.
The dataset was generated by performing one forward pass for each UCI move sequence in the "austindavis/lichess_uci" dataset,
specifically the "train" split from the "201301-moves" configuration.… See the full description on the dataset page: https://huggingface.co/datasets/austindavis/chess-gpt2-hiddenstates-512.crazyhouse-chess-games
[!CAUTION]
This dataset is still a work in progress and some breaking changes might occur. In the meantime, please use https://database.lichess.org/#variant_games
so101-chess-grasp-approach
SO-101 chess research captures
Versioned capture artifacts for the SO-101 chess project.
The current encoder-grasp schema contains six-joint actions, six-joint encoder observations, synchronized 1280x720 wrist and nearest-overhead video, timestamps, frame/episode indices, and task labels. Capture bundles include accepted and negative grasp approaches, legacy placement returns, and the newer positive/negative centered-placement collections. Centered placement journals add… See the full description on the dataset page: https://huggingface.co/datasets/Stefanobraghetto/so101-chess-grasp-approach.chess_games
♟️ Chess games
The Chess games dataset is a collection of high level chess games for training machine learning models.
📊 Overview
The dataset is composed of 14M chess games from high level players for a total of 1.2B moves played between 1600 and 2024 (although most of them are recent):
The mean ELO of the players is 2388:
The mean number of moves per game is 84 (with a maximum of 692 moves):
Most of the games were ended by a… See the full description on the dataset page: https://huggingface.co/datasets/angeluriot/chess_games.chess-av-mates
ChessBench Action-Values + Mate-in-N
This dataset is derived from the action-value data released with "Grandmaster-Level Chess Without Search" (DeepMind). It provides:
A reorganization of the original action-value format into a per-position structure: each FEN maps to a list of all legal moves with per-move win probabilities (as provided in the upstream release).
A mate-in-N augmentation: for moves with win probability >= 99.99% or <= 0.01%, Stockfish mate search adds a mate depth… See the full description on the dataset page: https://huggingface.co/datasets/Ramora0/chess-av-mates.ceia-chess-workchess-puzzles-images-mini
Dataset Card for Chess Puzzles Images (mini)
This dataset contains 124,999 chess board positions in JPG format, derived from Lichess puzzles. Each image is accompanied by a shortened FEN string, indication for the color to play as, castling and en passant availability, and best moves in standard algebraic notation.
The fields are as follows:
image: image, A visual representation of the chess board showing the current piece arrangement.
board_state: string, A shortened FEN… See the full description on the dataset page: https://huggingface.co/datasets/bingbangboom/chess-puzzles-images-mini.antichess-chess-games
[!CAUTION]
This dataset is still a work in progress and some breaking changes might occur.
chess-soft-multipv-lichess
avewright/chess-soft-multipv-lichess
Soft MultiPV policy targets for chess transformers (compact move vocab).
Built from Lichess cloud evaluations + local harvests. Each row is a position with
an 8-wide soft move distribution (soft_indices / soft_probs) plus hard best move.
Fields
board_array (64): piece encoding
turn, castling, ep_square
move_idx, cp, mate
soft_indices[8], soft_probs[8]
label_depth, phase, source, cache_name
chess_puzzle_benchmark
Chess Puzzle Benchmark
Chess puzzle evaluation sets at five difficulty tiers, B1 (easiest) through
B5 (hardest). Each example is a chess game given in PGN move notation; the
model must produce the next move(s).
Two prompt variants
The same puzzles are released in two forms that differ only in the prompt suffix:
think/ — the prompt ends with a special <T> token. <T> is a
reasoning trigger: it tells the model to think (produce a chain of reasoning)
before… See the full description on the dataset page: https://huggingface.co/datasets/pavelslab-nyu/chess_puzzle_benchmark.chess_datasets
Dataset Card for Dataset Name
This dataset card aims to be a base template for new datasets. It has been generated using this raw template.
Dataset Details
Dataset Description
Curated by: [More Information Needed]
Funded by [optional]: [More Information Needed]
Shared by [optional]: [More Information Needed]
Language(s) (NLP): [More Information Needed]
License: [More Information Needed]
Dataset Sources [optional]
Repository: [More… See the full description on the dataset page: https://huggingface.co/datasets/p11-p11/chess_datasets.chess-traces
Chess Reasoning Traces (Streaming)
This dataset is uploaded incrementally while it is being generated.
Columns
fen: FEN string
valid_moves: list of legal moves in UCI
reasoning_trace: natural-language trace text
chosen_move: Stockfish best move in UCI
Usage
from datasets import load_dataset
ds = load_dataset("amazingvince/chess-traces", split="train")
print(ds[0])
# Or stream while it's growing:
stream = load_dataset("amazingvince/chess-traces"… See the full description on the dataset page: https://huggingface.co/datasets/Chess-Nut-Engine/chess-traces.chessgpt2-hiddenstatesThis dataset contains the hidden state tensors of the austindavis/chessGPT2 model recorded during forward passes over the lichess-uci-fens dataset (config: "201301").
This dataset was generated using prepare_hidden_states.py using the following CLI arguments:
cd src
python dataset_generation/prepare_hidden_states.py record_activations data/activations-chessgpt2-fens 201301 austindavis/lichess-uci-fens train austindavis/chessgpt2
