datasets
Training and evaluation data, with the modality, task and licence stated up front. Listed live from the Hugging Face Hub.
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.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_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-sft-corpus-4x
Chess SFT Training Data
A supervised fine-tuning dataset for teaching language models to reason about
chess. It covers board perception, legal move generation, tactics, evaluation,
openings, endgames, and planning.
Total examples
15,100,000
Total size
18902.7 MB
Format
JSONL chat rows with messages
Eval companion
Chess-Nut-Engine/chess-sft-eval
Tier Overview
Tier
Category
Tasks
Examples
Size
0
Unknown
1
300,000
556.2 MB
1… See the full description on the dataset page: https://huggingface.co/datasets/Chess-Nut-Engine/chess-sft-corpus-4x.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.ChessPositionUnderstanding
Chess Position Understanding Dataset
These are ~5M (More coming soon) chess positions summary created from a dense captioning of the position, and evaluation using stockfish 16.
The summaries are created from a combination of LLaMA3.1 8B and 405B, contributions are welcome.
Dense Captioning
We give the exact board configuration in string format
We give the exact evlauation of the position using stockfish16
We list out a list of features of the positions, including Pawn… See the full description on the dataset page: https://huggingface.co/datasets/ssingh22/ChessPositionUnderstanding.chess-sft-eval
Chess SFT Eval & Benchmark
Held-out evaluation splits and a frozen benchmark for the
Chess SFT training pipeline.
Every FEN in these files is excluded from training data via a blocklist to guarantee
zero contamination.
Eval examples
13,000
Benchmark examples
13,000
Splits
9 (perception, rules, tactics, evaluation, openings, endgames, planning, chess960, mate)
Format
JSONL
Training companion
Chess-Nut-Engine/chess-sft-data
How eval and benchmark differ… See the full description on the dataset page: https://huggingface.co/datasets/Chess-Nut-Engine/chess-sft-eval.chess-reasoning-data
Chess Reasoning Data: Schemas and Distributions
TLDR: We took care to balance the data across several axes; those distributions are summarized below.
Dataset Overviews
We recommend referring to our paper "How Reasoning Evolves from Post-Training Data: An Empirical Study Using Chess" (ICML 2026) for more information on each dataset (Appendix C explains each dataset and has samples). However, below is a quick overview of each data type included below:
Dataset
Num… See the full description on the dataset page: https://huggingface.co/datasets/lucasdino/chess-reasoning-data.chess-20m-tactical-eval-traces
Exact 20M Chess Tactical Evaluation Traces
This dataset makes the complete checkpoint evaluation at
violetxi/chess-20m-tactical-eval-traces inspectable. It contains
the exact benchmark prompt, batched input IDs and attention mask, released
target, all 16 decoded model generations, extracted LAN/UCI moves,
legality/correctness flags, and per-puzzle pass@k values.
The original evaluation JSON retained every extracted UCI prediction but not
the raw decoded strings. The… See the full description on the dataset page: https://huggingface.co/datasets/violetxi/chess-20m-tactical-eval-traces.chess-coach-benchmark
Chess coach benchmark
A comprehensive, zero-leakage benchmark measuring the performance of local chess-coaching fine-tunes against frontier models.
What it is
This benchmark evaluates models on held-out chess positions, measuring their ability to provide tier-calibrated, engine-grounded chess coaching. It scores models based on deterministic objective metrics (move soundness, absence of engine jargon, and verification of board facts) alongside a blinded… See the full description on the dataset page: https://huggingface.co/datasets/khoilamalphaai/chess-coach-benchmark.chess-sft-lichess-2200
Lichess Chess SFT (≥2200 Elo)
A 200,000-position supervised fine-tuning dataset for training language models
to play chess by predicting the next move from a PGN prefix. Derived from
strong-player Lichess games, stripped to a minimal input/output format.
Summary
Task: given a partial game in PGN notation, predict the next move in
Standard Algebraic Notation (SAN).
Source: Lichess/standard-chess-games
(all games downloadable from lichess.org; CC0).
Strength filter: both… See the full description on the dataset page: https://huggingface.co/datasets/cetusian/chess-sft-lichess-2200.chess_checkmate_in_one_big_bench
Dataset Card for BIG-Bench Checkmate In One Move
This is an adapted version of the BIG-Bench Checkmate in One Move task originally made by Nitish Keskar (nkeskar@salesforce.com).
There also exists a dataset with the image representation of the board positions before the checkmate move.
The original task description is the following:
The goal of this task is to probe the ability of language models to play chess in standard algebraic notation (SAN). The input to the model is a… See the full description on the dataset page: https://huggingface.co/datasets/alonsosilva/chess_checkmate_in_one_big_bench.Chess_openings_dataset
Version 1 of the dataset
Structure of the dataset:
Opening_type:
The title of the opening being played.
Context:
A string representing a list of moves, each move is represented by the previous state of the board, the move that is going to be made, and the effect that the move had on the board.
The board is represented as an 8*8 grid of characters where each character represents a piece or an empty square:
r . . q k b n r
p p p . p . p p
. . n .… See the full description on the dataset page: https://huggingface.co/datasets/nelson2424/Chess_openings_dataset.chess-coach-move-review
Chess coach move-review SFT dataset
Supervised fine-tuning data for one specific, trained behavior: given a chess
position and the student's rating tier (Beginner, Intermediate, or Advanced),
select the tier-appropriate instructive move and tag it with a short principle,
for example "Nf3, develop toward the center."
That single move choice is the trained objective, and it is deterministically
checkable. The plain-English explanation rendered beside the move is a secondary… See the full description on the dataset page: https://huggingface.co/datasets/khoilamalphaai/chess-coach-move-review.chess-time-control-string-parsing
Chess Time-Control String Parsing
Real-world chess time-control strings, in two forms:
.txt files — the source of truth. Every unique time-control string, one per line, with a frequency count. These are the raw, real strings (messy, multilingual, sometimes junk) as scraped/collected. No interpretation.
.jsonl files — a tagged, partially-correct derived artifact. Each unique string with an auto-derived (category, stages) parse. The tags are heuristics, not verified ground truth… See the full description on the dataset page: https://huggingface.co/datasets/gutsy-gambit/chess-time-control-string-parsing.chess-sft-data
Chess SFT Training Data
A supervised fine-tuning dataset for teaching language models to reason about chess.
It covers 28 tasks across 7 tiers of increasing difficulty, from basic board
perception through tactical analysis to endgame play and strategic planning.
Every example uses standard chess conventions: positions are encoded in
FEN, moves in
UCI notation (e.g. e2e4,
g1f3, a7a8q for promotion), and board diagrams use a consistent rank-file layout.
Approximately 10-20% of… See the full description on the dataset page: https://huggingface.co/datasets/Chess-Nut-Engine/chess-sft-data.chess-sft-corpus-4x-eval
Chess SFT Eval and Benchmark
Held-out evaluation splits and a frozen benchmark for
Chess-Nut-Engine/chess-sft-corpus-4x.
Every FEN in these files is excluded from generated training data (the
blocklist is game-scoped: sibling positions of eval games are excluded too).
Frozen from the 4x corpus generation run of 2026-07-06 (generator revision 3cd161b1078cdfa6598fba939f40250072adb524)
Benchmark: 13,000 frozen examples across 9 splits; eval splits share the game-scoped blocklist… See the full description on the dataset page: https://huggingface.co/datasets/Chess-Nut-Engine/chess-sft-corpus-4x-eval.chess_studiesChess studies and annotated games from the top lichess studies and from https://www.angelfire.com/games3/smartbridge/
This dataset consists of annotated chess games from several sources and aggregated into a single dataset. It is intended
to train language models to generate chess games and studies.chess-coach-grand-eval
Chess Coach — Grand Eval (comprehensive leaderboard)
One fresh, apples-to-apples comparison of every model in the chess move-review
coaching project — our tuned specialists, the untuned baselines, and the full frontier
lineup — on the same held-out validation slice (120 positions × 3 tiers
= 360 scenarios), scored with two independent layers:
Deterministic moat metrics (free, python-chess over pre-computed Stockfish/Maia
facts): tier-fit, distinct-moves-per-level… See the full description on the dataset page: https://huggingface.co/datasets/khoilamalphaai/chess-coach-grand-eval.webXOS_chess_RL
_______ ______ _______ _______ _______ _______ _______ _______ _______ _
|\ /|( ____ \( ___ \ |\ /|( ___ )( ____ \ ( ____ \|\ /|( ____ \( ____ \( ____ \ ( ____ )( \
| ) ( || ( \/| ( ) )( \ / )| ( ) || ( \/ | ( \/| ) ( || ( \/| ( \/| ( \/ | ( )|| (
| | _ | || (__ | (__/ / \ (_) / | | | || (_____ | | | (___) || (__ | (_____ | (_____ | (____)|| |
|… See the full description on the dataset page: https://huggingface.co/datasets/webxos/webXOS_chess_RL.chess-stockfish-regret
Chess RLVR Stockfish Regret 1400/100 Snapshot
This snapshot dataset stores chess positions for reinforcement learning with verifiable rewards.
Each row contains:
{
"id": "chess_rlvr_000001",
"fen": "rnbqkbnr/pppppppp/8/8/8/8/PPPPPPPP/RNBQKBNR w KQkq - 0 1",
"legal_moves": "{\"Nf3\": -0.015, \"e4\": 0.0}"
}
legal_moves is a JSON object encoded as a string. The object maps each legal SAN move to a Stockfish-derived negative regret score for the player to move.
The RLVR… See the full description on the dataset page: https://huggingface.co/datasets/albertklorer/chess-stockfish-regret.bishop-chess-dataset
Bishop Chess Concepts Dataset
Cleaned, training-ready chess text focused on bishop concepts and strategy, distilled from the
Waterhorse/chess_data dataset.
At a glance
15,677 records · ~18.59M tokens (measured with the GPT-4 cl100k BPE).
Game-level-disjoint train/test split (no game leaks across splits), seed 20260708, test fraction 0.02.
Split
Records
Tokens
train
15,363
18,152,676
test
314
433,026
Sources (origin):
Source
Train records… See the full description on the dataset page: https://huggingface.co/datasets/pkloats/bishop-chess-dataset.chess-coach-turningpoints
Chess Coach – Turning Point Explanations Dataset
Overview
This repository contains a curated, engine-grounded dataset for training language models to explain chess mistakes and turning points in a human coaching style.
The goal is explainability and pedagogy, not move calculation or engine strength.
What this dataset is (and is not)
✅ This dataset is for
Training LLMs to explain evaluation swings
Teaching coaching tone, structure, and pedagogy… See the full description on the dataset page: https://huggingface.co/datasets/suman-kalavagunta/chess-coach-turningpoints.chess-elite-uci
chess-elite-uci
A transformer-ready dataset of ~7.8 million elite chess games, pre-tokenized in UCI notation with a deterministic 1977-token vocabulary. Built for training chess language models directly with no preprocessing required.
Dataset Summary
Field
Value
Total games
7,805,503
Average sequence length
94.24 tokens
Max sequence length
255 tokens
Vocabulary size
1,977 tokens
Mean combined Elo
5,211 (~2,606 per player)
Sources… See the full description on the dataset page: https://huggingface.co/datasets/MostLime/chess-elite-uci.ChessAlpacaPrediction
Chess Position Evaluation Dataset
This dataset contains chess positions in FEN format along with their Stockfish evaluations. It is formatted in the Alpaca instruction-following format.
Dataset Structure
Each example contains:
instruction: A prompt to evaluate the chess position
input: The FEN string representing the chess position
output: The evaluation score in pawn units (positive values favor White, negative values favor Black)
Example
{… See the full description on the dataset page: https://huggingface.co/datasets/dsaunders23/ChessAlpacaPrediction.chess-sft-mix-200k
Chess SFT Mix — GM games + puzzles + Stockfish
A ~400,000-row supervised fine-tuning dataset assembled for competitive
chess LLM training. Unified chat format, single system prompt, three
complementary sources of signal.
This is the follow-up to
cetusian/chess-sft-lichess-2200,
which was pure GM behaviour cloning. This dataset adds tactical puzzles
and engine-ground-truth labels on top of it, because BC alone caps at
the teacher's (fallible) move quality.
Summary… See the full description on the dataset page: https://huggingface.co/datasets/cetusian/chess-sft-mix-200k.chess-coach-v6
Chess Coach v6 (deep-verified training labels)
The current data frontier for the chess-instructor-llm coach: a foundational,
data-first rebuild of the training LABELS (the move plus full provenance), deep-verified
with Stockfish 17 (a two-depth root search with agreement bands), Syzygy tablebases
(endgames of seven pieces or fewer), and Maia-2 human-likelihood. It feeds the
downstream preference (DPO) and engine-distillation retrains.
This dataset is NOT the shipped SFT set. The… See the full description on the dataset page: https://huggingface.co/datasets/khoilamalphaai/chess-coach-v6.chess_puzzle_training_datasets_lt-2400
Chess puzzle training datasets: rating below 2400
This is a filtered derivative of
pavelslab-nyu/chess_puzzle_training_datasets.
Every retained row satisfies the exact condition:
Rating < 2400
Rating is the Lichess puzzle rating, not the Elo of either player in the
source game. The original column names, column order, directory layout, and CSV
schemas are preserved. As in the upstream repository, Hugging Face discovers
all three CSVs as one default configuration with one train… See the full description on the dataset page: https://huggingface.co/datasets/violetxi/chess_puzzle_training_datasets_lt-2400.chess-sft-20k
Chess SFT Training Dataset
A curated dataset of chess positions with deep Stockfish analysis, designed for supervised fine-tuning (SFT) of language models to play and understand chess.
Dataset Description
This dataset contains chess positions extracted from multiple high-quality sources, each analyzed with Stockfish at depth 20 with MultiPV 3 (top 3 candidate moves). The positions are carefully filtered for quality and diversity across game phases, player skill levels… See the full description on the dataset page: https://huggingface.co/datasets/agi-noobs/chess-sft-20k.chess-debate-puzzles
Chess Debate Puzzles
A stratified sample of Lichess mid/endgame chess puzzles annotated with Stockfish-evaluated
moves across ten centipawn-quality bands. Designed for experiments in the spirit of
AI Safety via Debate (Irving et al., 2018), where two AI
agents argue for different moves and a judge must identify the objectively better one.
Motivation
Debate as an alignment technique asks whether a human (or AI) judge can identify the correct
answer when two agents argue… See the full description on the dataset page: https://huggingface.co/datasets/kvoudouris/chess-debate-puzzles.
