All-in-one chess trainer — openings, tactics, game review & study. No account needed, works offline.
Play vs Computer
Play a full game or any position against the Lichess engine — choose the level, colour and time control. Games save to “My Games” with one-click Lichess analysis.
PLAY
Opening Trainer
FSRS spaced repetition with card journey preview. Drill inline with the live Lichess explorer. Import PGN repertoires and track pass rates by opening.
REPERTOIRE
Tactics Trainer
Drill puzzles with spaced repetition. Import from Lichess, PGN, CSV, or send mistakes directly from Games & Mistakes.
PUZZLES
Games & Mistakes
Fetch your Lichess games, browse blunders move by move, and send mistakes straight to the Tactics Trainer as personal puzzles.
MISTAKES
Game Analysis
Import PGN, Lichess games or studies. Annotate with NAG symbols, arrows and comments. Scan for patterns and organise into flashcard collections.
DATABASE
Endgame Study
Set up positions from a board editor, PGN, or your game database. Tag endgame types, explore lines, and review with flashcards.
ENDGAMES
Study Room
Read chess books (PDF, EPUB) or watch local videos side-by-side with a full analysis board. Switch freely between split, board-only, or reader-only view.
STUDY
Guess the Move
Replay any of your games move by move and guess what was played. Pick a side, track your score, and let Stockfish credit equally good moves.
Re-use the same name to update an existing opening and preserve your progress.
Build by playing moves on the board
Open the Repertoire Builder and play the moves you want to memorise directly on the board. Navigate with ← → keys or the buttons. Hit Save Repertoire when done.
Imports a Lichess game as an opening repertoire entry. The moves become the lines to memorise.
Import chapters from a public Lichess study. Each selected chapter becomes its own opening.
Default side for all chapters:
Each checked chapter will be imported as a separate opening. The chapter name is used as the opening name.
Drop your PGN file here
or click to browse
📄
Each game in the PGN file becomes a separate opening line in the collection. The opening name field is used as the collection name.
Settings
♞ Analysis engine
Use the bundled Stockfish, or add your own UCI engine — e.g. the latest Stockfish you downloaded. Switching restarts the engine on the next analysis.
Lines ranked by difficulty — click any to drill it
Sort by:
Statistics
Overall
Activity — last 12 weeks
Today's session
All-time grade distribution
Line mastery breakdown
Pass rate — last 7 days
Per-opening breakdown
Lichess Game Explorer
Fetching games…
Colour
Speed
Result
Sort
Position
MaterialOpponentRating–
0Games
0Wins
0Draws
0Losses
—Score%
0%0%0%
Starting position
In repertoire
Partial match
Not in repertoire
Move
Games
Score
W/D/L
Rep
ResultPlayer / OpeningECOSpeedMovesDate
ResultPlayer / OpeningECOSpeedMovesDate
No games loaded
Enter your Lichess username above and click Load games.
📖 LEARN
Sound
0%70%100%
Paused — click to resume
Take your time — click when ready to play
Annotation
No annotation for this move.
Moves played
Lichess Explorer
▼
Speed
Rating
No data for this position.
Recent games at this position
⚡ Stockfish
Threads/ ? cores
Click ▶ Analyse to run engine.
✏ Edit mode — play moves to add, or delete from here
📖
Learning
Watch the line — then you play it back
👁
Watch the move
How well did you know this line?
Session progress
Tree
📊
🔍Opened from Position Lookup
Move
Moves after
Symbol
Edit mode — play moves on board to add them
Annotation
Navigate to a move to annotate
⚡ Stockfish
Threads/ ? cores
Click ▶ Analyse to run engine.
Add to Repertoire
Learn from your Mistakes
Fetch your games and mistakes from your game history 🎮.
Filter by time control, type of mistakes, and date range.
Type in your Lichess user name
Click the calendar icon to bring up the calendar.
Click the calendar icon to bring up the calendar.
Mistake Types
Select which types of mistakes should be detected
Time Controls
Games are fetched with computer analysis from Lichess (only analyzed games will have mistakes detected).
Fetching…
GamePosition / MoveTypeEval ΔColor
🔨 Repertoire Builder
Move
Moves after
Priority / ♟
Annotation
Navigate to a move to annotate
Side
⚡ Stockfish
Threads/ ? cores
Click ▶ Analyse to run engine.
Play moves on the board to build your repertoire. Navigate with ← → keys or the buttons. Click Save Repertoire when done.
Save Repertoire
Or select an existing one to merge lines into it.
Tactics Sets
0 selected
Add a Puzzle Manually
Set up the starting position, play through the solution moves on the board, then save.
① Start Position
② Play Solution
Solution moves — click to navigate · ✂ to truncate
Paste a FEN string, or click ⚙ Set Up Position to drag pieces onto the board.
The board will update live. Once the position looks right, click pieces on the board to record the solution.
Board method: After setting the start position, click pieces on the board to play moves — they appear here automatically. Manual method: Type UCI moves directly (e.g. e1g1 d8h4 f1e2). The first move is the opponent's and is played automatically when drilling.
Lichess-style puzzle rating. Used for display and filtering only.
or new:
Fetch Puzzles from Lichess
Puzzle Source
Fetches puzzles directly from the Lichess Puzzle Batch API — no file download or decompression required.
No account or token needed. Filter by theme and/or opening. Up to 200 puzzles per fetch.
Pulls puzzles straight from each opening you pick — “Nb puzzles” is split evenly across them. Add a Theme above to keep only puzzles that also match it.
Step 1 — Download the Lichess puzzle database (~280 MB compressed):
⬇ database.lichess.org/lichess_db_puzzle.csv.zst
Step 2 — Load it below — the compressed .zst works directly (no need to decompress), or a plain .csv if you already have one. No internet connection required.
No file selected
Fetches your played/failed puzzles from your Lichess account.
Load a PGN file with one or more games. Each game will create one puzzle using the position at the specified move number (default: last move of the game).
Drop your PGN file here
or click to browse
📄
Set move number to 0 to use the final position of each game. When White or Black is chosen and the position is the wrong colour to move, one extra move is consumed as the opponent's auto-play move.
Set Name
Add to an existing set:
Re-using an existing name will merge new puzzles into it and preserve your progress.
Fetching…
Browse Puzzles
Position type (filters by puzzle starting position)
Filter by theme (click to toggle)
0 selected
🪵 Cycle
Sound
0%70%100%
Find the best move
Puzzle
Rating: —
Find the best move
📝 Puzzle Note
Moves
Move Notes
No note for this move.
Line actions
🔍 Explore mode
⚡ Stockfish
Threads/ ? cores
Click ▶ Analyse to run engine.
How well did you know this?
Session progress
Tactics Statistics
Overall
Today's session
Accuracy breakdown
Activity — last 12 weeks
Volume — last 7 days
Per-set breakdown
Tactics — Spaced Repetition Settings
Control how often puzzles repeat and how the scheduler reacts to your answers. These settings apply only to tactics puzzles and do not affect your opening drills.
⚠ Changes applied — navigate away to keep, or discard.
Openings — Spaced Repetition Settings
Control how often lines repeat and how the scheduler reacts to your answers. These settings apply only to opening drills and do not affect your tactics puzzles.
⚠ Changes applied — navigate away to keep, or discard.
Flashcards — Spaced Repetition Settings
Control how often flashcards repeat and how the scheduler reacts to your grades. These settings apply only to flashcard reviews and do not affect openings or tactics.
🔥 Difficult Puzzles
ECO Performance Dashboard
⌕
Filter by position— only count games where this position occurred
Your name
⚠
Optional — enter your username for win/loss from your perspective. Without it, stats count from White's perspective.
Collections
ECO Heatmap — win rate by category
No data <35% win 35–50% 50–65% >65% win
Full breakdown
ECO / OpeningGamesW / D / LWin%
🌐 Lichess Position Browser
Search millions of Lichess games from any position
⚡ Stockfish
🧵/ ? cores
Click ▶ Analyse to run engine.
Database
Speed
Rating
Player
SinceUntil
No data for this position.
0 selected
Games at this position
🔒 Lichess limits anonymous requests to 4 games per position. Sign in to unlock more.
Navigate to a position or paste a FEN to browse games from the Lichess database.
Game Analysis
0 selected
🔍
New Game● unsaved
📊
Move played
Repertoire move
♟Opened from Find Middlegames — jumped to middlegame position
♟Opened from Find Endgames — jumped to endgame position
Drag & drop a file here, or use the buttons below.
💡 Supports PDF, EPUB and local video files.
Page
/ ?
🔄
Rotate your phone
ChessMemory is built for portrait — turn your device upright to keep training.
🏷 Name a Variation by Move Prefix
Enter the move sequence that identifies the variation, then give it a name.
All lines starting with those moves will be labelled
OpeningName – VariationName – …
Preview label
—
+ New Game
Start a new empty game from the starting position. You can play moves directly on the board and annotate them.
Use the board editor to set up any position, then start from there.
The board editor will open. After setting up your position, click "Use Position" to create the game/study from it.
Paste a FEN string to start from a specific position.
Paste a PGN to import a full game with moves and metadata.
Paste a Lichess game URL to import the game and all its moves.
\
Import from a Lichess study. Public studies need no token. For private studies, add a personal access token (scope: study:read).
Load a .pgn file containing multiple games. Each game will be imported as a separate entry in the current collection.
📦
Click or drag & drop a PGN file
Fetch your Lichess games and import the ones you want as Game Analysis entries.
Final Position
♟ Drill: Untitled
⚙ Set Up Position
🗑 Drop here or off-board to remove
Double-click a piece to remove it instantly
Side to Move
Castling Rights
White Pieces — click to select or drag onto board
Black Pieces
Quick Positions (Endgame Study)
Current FEN
Paste any valid FEN string below.
Quick Positions
💾 Save Game to Collection
Collection Name
Restore a backup
Roll your whole library back to a saved snapshot. A backup of your current data is taken first — so a restore is always reversible.
Save to…
Existing
or create new
Playing as (required for new opening)
Processing…
→ Save as Tactics Puzzle
Play the solution moves on the board below, then save.
Click pieces to play moves
Solution moves
—
First move = opponent's move (played automatically). Remaining = your solution.
(optional)
Add to tactics set
or new set
Add Mistakes as Puzzles
⚡ Each mistake becomes a puzzle: the blunder move is auto-played, then you find the best response.
Stockfish analysis is available during drill via the ⚡ Stockfish panel on the right.
🗑 Delete Variation?
Choose variation
↑↓ navigate
→ / Enter confirm
← / Esc cancel
Move
→ Go to this move
⬆ Promote to main line
✕ Delete from here
🗑 Delete variation
📌 Bookmark this position
🃏 My Flashcards
⠿
⚔️Create a Tactic
Position Preview
Solution Sequence
(click pieces to play)
No moves yet — play on the board above
The first move is the opponent's (played automatically). Your moves alternate after that.
or
💾 Save Position to Collection
Play as:
🔍Position Lookup
Search in:
Enter a FEN or use the active board, then press Search.
📊Collection Repertoire Scan
Select a collection and a repertoire, then press Scan.
🪵
Woodpecker Method
Cycle just completed
Cycle History
⏱ You went over the target last time — worth trying again before moving on? Totally up to you.
♟ Add Line to Repertoire
📦 Open Multi-PGN in Study Room
Drop your PGN file here
Load a multi-game PGN. Each game will appear in the list below — click any game to preview it, then open it on the board.
← Select a game to preview
⌨ Keyboard shortcuts
Board & moves
Previous / next move←→
Jump to start / endHomeEnd
Flip boardF
Study Room (reader)
Play / pause videoSpace
Previous / next pagePgUpPgDn
App
Show this shortcuts list?
Close dialog / this listEsc
Shortcuts adapt to the screen you're on. Press ? anytime to reopen this.