41 | chess positions evaluated with Stockfish.
42 |
43 | Produced by, and for, the Lichess analysis board,
44 | running various flavours of Stockfish within user browsers.
45 |
46 | Download lichess_db_eval.jsonl.zst 47 |
48 |49 | This file was last updated on . 50 |
51 |Format
52 |Evaluations are formatted as JSON; one position per line.
53 |The schema of a position looks like this:
54 |55 | { 56 | "fen": // the position FEN only contains pieces, active color, castling rights, and en passant square. 57 | "evals": [ // a list of evaluations, ordered by number of PVs. 58 | "knodes": // number of kilo-nodes searched by the engine 59 | "depth": // depth reached by the engine 60 | "pvs": [ // list of principal variations 61 | "cp": // centipawn evaluation. Omitted if mate is certain. 62 | "mate": // mate evaluation. Omitted if mate is not certain. 63 | "line": // principal variation, in UCI format. 64 | }65 |
Each position can have multiple evaluations, each with a different number of PVs. 66 |
Sample
67 |68 | { 69 | "fen": "2bq1rk1/pr3ppn/1p2p3/7P/2pP1B1P/2P5/PPQ2PB1/R3R1K1 w - -", 70 | "evals": [ 71 | { 72 | "pvs": [ 73 | { 74 | "cp": 311, 75 | "line": "g2e4 f7f5 e4b7 c8b7 f2f3 b7f3 e1e6 d8h4 c2h2 h4g4" 76 | } 77 | ], 78 | "knodes": 206765, 79 | "depth": 36 80 | }, 81 | { 82 | "pvs": [ 83 | { 84 | "cp": 292, 85 | "line": "g2e4 f7f5 e4b7 c8b7 f2f3 b7f3 e1e6 d8h4 c2h2 h4g4" 86 | }, 87 | { 88 | "cp": 277, 89 | "line": "f4g3 f7f5 e1e5 d8f6 a1e1 b7f7 g2c6 f8d8 d4d5 e6d5" 90 | } 91 | ], 92 | "knodes": 92958, 93 | "depth": 34 94 | }, 95 | { 96 | "pvs": [ 97 | { 98 | "cp": 190, 99 | "line": "h5h6 d8h4 h6g7 f8d8 f4g3 h4g4 c2e4 g4e4 g2e4 g8g7" 100 | }, 101 | { 102 | "cp": 186, 103 | "line": "g2e4 f7f5 e4b7 c8b7 f2f3 b7f3 e1e6 d8h4 c2h2 h4g4" 104 | }, 105 | { 106 | "cp": 176, 107 | "line": "f4g3 f7f5 e1e5 f5f4 g2e4 h7f6 e4b7 c8b7 g3f4 f6g4" 108 | } 109 | ], 110 | "knodes": 162122, 111 | "depth": 31 112 | } 113 | ] 114 | } 115 |116 |
Notes
117 |Evaluations have various depths and node count. If you only want one PV, we recommend selecting the evaluation with the highest depth, and use its first PV.
118 | 119 |129 | chess puzzles, rated, and tagged. 130 | See them in action on Lichess. 131 |
132 | Download lichess_db_puzzle.csv.zst 133 |
134 |135 | This file was last updated on . 136 |
137 |Format
138 |Puzzles are formatted as standard CSV. The fields are as follows:
139 |PuzzleId,FEN,Moves,Rating,RatingDeviation,Popularity,NbPlays,Themes,GameUrl,OpeningTags140 |
Sample
141 |00sHx,q3k1nr/1pp1nQpp/3p4/1P2p3/4P3/B1PP1b2/B5PP/5K2 b k - 0 17,e8d7 a2e6 d7d8 f7f8,1760,80,83,72,mate mateIn2 middlegame short,https://lichess.org/yyznGmXs/black#34,Italian_Game Italian_Game_Classical_Variation 142 | 00sJ9,r3r1k1/p4ppp/2p2n2/1p6/3P1qb1/2NQR3/PPB2PP1/R1B3K1 w - - 5 18,e3g3 e8e1 g1h2 e1c1 a1c1 f4h6 h2g1 h6c1,2671,105,87,325,advantage attraction fork middlegame sacrifice veryLong,https://lichess.org/gyFeQsOE#35,French_Defense French_Defense_Exchange_Variation 143 | 00sJb,Q1b2r1k/p2np2p/5bp1/q7/5P2/4B3/PPP3PP/2KR1B1R w - - 1 17,d1d7 a5e1 d7d1 e1e3 c1b1 e3b6,2235,76,97,64,advantage fork long,https://lichess.org/kiuvTFoE#33,Sicilian_Defense Sicilian_Defense_Dragon_Variation 144 | 00sO1,1k1r4/pp3pp1/2p1p3/4b3/P3n1P1/8/KPP2PN1/3rBR1R b - - 2 31,b8c7 e1a5 b7b6 f1d1,998,85,94,293,advantage discoveredAttack master middlegame short,https://lichess.org/vsfFkG0s/black#62,145 |
Notes
146 |147 | Moves are in UCI format. Use a chess library to convert them to SAN, for display. 148 |
149 |150 | All player moves of the solution are "only moves". 151 | I.e. playing any other move would considerably worsen the player position. 152 | An exception is made for mates in one: there can be several. Any move that checkmates should win the puzzle. 153 |
154 |
155 | FEN is the position before the opponent makes their move.
156 | The position to present to the player is after applying the first move to that FEN.
157 | The second move is the beginning of the solution.
158 |
160 | Popularity is a number between 100 (best) and -100 (worst).
161 | It is calculated as 100 * (upvotes - downvotes)/(upvotes + downvotes)
, although votes are weigthed by various factors such as whether the puzzle was solved successfully or the solver's puzzle rating in comparison to the puzzle's.
162 |
164 | You can find a list of themes, their names and descriptions, in this file. 165 |
166 |
167 | The OpeningTags
field is only set for puzzles starting before move 20.
168 | Here's the list of possible openings.
169 |
171 | Generating these chess puzzles
172 | took more than 100 years of CPU time.
173 | We went through 600,000,000 analysed games from the Lichess database,
174 | and re-analyzed interesting positions with Stockfish NNUE at 40 meganodes.
175 | The resulting puzzles were then automatically tagged.
176 | To determine the rating, each attempt to solve is considered as a Glicko2 rated game between the player and the puzzle.
177 | Finally, player votes refine the tags and define popularity.
178 |
Antichess
189 | 190 |Atomic
191 | 192 |Chess960
193 | 194 |Crazyhouse
195 | 196 |Horde
197 | 198 |King of the Hill
199 | 200 |Racing Kings
201 | 202 |Three-check
203 | 204 |Sample
219 |[Event "New Zealand Chess Congress 2025"] 220 | [Round "01"] 221 | [White "Metge, J. Nigel"] 222 | [Black "Nagy, Gabor"] 223 | [Result "1/2-1/2"] 224 | [WhiteElo "1885"] 225 | [WhiteFideId "4300181"] 226 | [BlackElo "2469"] 227 | [BlackTitle "GM"] 228 | [BlackFideId "737119"] 229 | [TimeControl "5400+30"] 230 | [Board "1"] 231 | [Variant "Standard"] 232 | [ECO "E47"] 233 | [Opening "Nimzo-Indian Defense: Normal Variation"] 234 | [StudyName "Round 1"] 235 | [ChapterName "Metge, J. Nigel - Nagy, Gabor"] 236 | [UTCDate "2025.01.02"] 237 | [UTCTime "01:29:03"] 238 | [BroadcastName "New Zealand Chess Congress 2025 | Championship"] 239 | [BroadcastURL "https://lichess.org/broadcast/new-zealand-chess-congress-2025--championship/round-1/spI5tcia"] 240 | [GameURL "https://lichess.org/broadcast/new-zealand-chess-congress-2025--championship/round-1/spI5tcia/oHmutTGn"] 241 | 242 | 1. d4 { [%eval 0.17] [%clk 1:30:50] } 1... Nf6 { [%eval 0.19] [%clk 1:30:39] } 2. c4 { [%eval 0.18] [%clk 1:31:12] } 2... e6 { [%eval 0.11] [%clk 1:30:21] } 3. Nc3 { [%eval 0.17] [%clk 1:31:34] } 3... Bb4 { [%eval 0.09] [%clk 1:28:27] } 4. e3 { [%eval 0.11] [%clk 1:31:38] } 4... O-O { [%eval 0.11] [%clk 1:27:10] } 5. Bd3 { [%eval 0.03] [%clk 1:31:37] } 5... Re8 { [%eval 0.28] [%clk 1:25:53] } 6. Nf3 { [%eval 0.18] [%clk 1:31:03] } 6... d5 { [%eval 0.23] [%clk 1:25:50] } 7. O-O { [%eval 0.2] [%clk 1:27:01] } 7... Nbd7 { [%eval 0.4] [%clk 1:24:53] } 8. Ne5 { [%eval 0.17] [%clk 1:12:36] } 8... dxc4 { [%eval 0.29] [%clk 1:20:40] } 9. Nxc4 { [%eval 0.34] [%clk 1:08:45] } 9... a6 { [%eval 0.23] [%clk 1:15:52] } 10. Qc2 { [%eval 0.16] [%clk 0:52:48] } 10... c5 { [%eval 0.7] [%clk 1:03:58] } 11. Rd1?! { [%eval 0.05] } { Inaccuracy. a3 was best. } { [%clk 0:45:36] } 11... Qc7 { [%eval 0.22] [%clk 0:59:08] } 12. a3 { [%eval 0.0] [%clk 0:27:22] } 12... Bxc3 { [%eval 0.01] [%clk 0:56:30] } 13. bxc3 { [%eval -0.29] [%clk 0:24:44] } 13... b5 { [%eval -0.23] [%clk 0:55:45] } 14. Ne5?! { [%eval -1.05] } { Inaccuracy. Nd2 was best. } { [%clk 0:24:46] } 14... Nxe5 { [%eval -1.08] [%clk 0:55:09] } 15. dxe5 { [%eval -0.99] [%clk 0:25:06] } 15... Qxe5 { [%eval -1.15] [%clk 0:55:20] } 16. f4 { [%eval -1.06] [%clk 0:24:56] } 16... Qc7 { [%eval -1.04] [%clk 0:52:02] } 17. c4 { [%eval -1.06] [%clk 0:24:54] } 17... e5 { [%eval -0.59] [%clk 0:46:02] } 18. cxb5? { [%eval -1.76] } { Mistake. Bb2 was best. } { [%clk 0:21:18] } 18... exf4 { [%eval -1.74] [%clk 0:45:48] } 19. exf4?! { [%eval -2.55] } { Inaccuracy. Rb1 was best. } { [%clk 0:20:49] } 19... Qb6 { [%eval -2.6] [%clk 0:44:49] } 20. Bc4 { [%eval -2.47] [%clk 0:15:07] } 20... axb5 { [%eval -2.32] [%clk 0:44:34] } 21. Qb3?! { [%eval -3.64] } { Inaccuracy. Rb1 was best. } { [%clk 0:15:05] } 21... Qa7 { [%eval -4.06] [%clk 0:44:15] } 22. Qxb5 { [%eval -3.87] [%clk 0:13:39] } 22... Rb8 { [%eval -3.92] [%clk 0:43:20] } 23. Qc6 { [%eval -3.61] [%clk 0:11:51] } 23... Bg4 { [%eval -3.81] [%clk 0:40:29] } 24. Rf1 { [%eval -3.55] [%clk 0:10:56] } 24... Rbc8?? { [%eval -1.35] } { Blunder. Re4 was best. } { [%clk 0:36:46] } 25. Qa6 { [%eval -1.21] [%clk 0:09:58] } 25... Qd7? { [%eval 0.0] } { Mistake. Qe7 was best. } { [%clk 0:36:59] } 26. Bb2 { [%eval 0.0] [%clk 0:09:25] } 26... Ra8 { [%eval 0.0] [%clk 0:35:18] } 27. Qb5 { [%eval 0.03] [%clk 0:09:21] } 27... Qd2 { [%eval 0.13] [%clk 0:33:14] } 28. Qb7 { [%eval -0.18] [%clk 0:01:54] } 28... Nd7 { [%eval 0.28] [%clk 0:29:14] } 29. Rf2 { [%eval 0.34] [%clk 0:01:10] } 29... Qe3 { [%eval 0.36] [%clk 0:28:34] } 30. Qd5?! { [%eval -0.19] } { Inaccuracy. f5 was best. } { [%clk 0:00:58] } 30... Be6 { [%eval -0.24] [%clk 0:27:26] } 31. Qd3 { [%eval -0.22] [%clk 0:00:48] } 31... Bxc4 { [%eval -0.2] [%clk 0:26:04] } 32. Qxc4 { [%eval -0.17] [%clk 0:01:15] } 32... Nb6 { [%eval -0.26] [%clk 0:21:47] } 33. Qc3 { [%eval -0.25] [%clk 0:01:30] } 33... Qxc3 { [%eval -0.19] [%clk 0:22:07] } 34. Bxc3 { [%eval -0.24] [%clk 0:01:59] } 34... Re3 { [%eval -0.01] [%clk 0:22:25] } 35. Rc2 { [%eval -0.03] [%clk 0:02:03] } 35... f6 { [%eval -0.01] [%clk 0:22:07] } 36. Kf2 { [%eval -0.14] [%clk 0:01:42] } 36... Rd3 { [%eval -0.03] [%clk 0:22:06] } 37. Ke2 { [%eval -0.03] [%clk 0:01:18] } 37... c4 { [%eval -0.06] [%clk 0:22:22] } 38. Bb4 { [%eval -0.03] [%clk 0:00:48] } 38... Re8+ { [%eval -0.09] [%clk 0:17:43] } 39. Kf2 { [%eval -0.06] [%clk 0:01:11] } 39... Re4 { [%eval -0.08] [%clk 0:15:48] } 40. g3 { [%eval -0.05] [%clk 0:31:15] } 40... Nd5 { [%eval 0.0] [%clk 0:46:06] } 41. Rac1 { [%eval -0.06] [%clk 0:21:23] } 41... Ne3 { [%eval 0.0] [%clk 0:45:01] } 42. Re2 { [%eval 0.0] [%clk 0:11:27] } 42... f5 { [%eval 0.0] [%clk 0:43:22] } 43. Bc5 { [%eval 0.0] [%clk 0:07:39] } 43... Ng4+ { [%eval 0.0] [%clk 0:39:39] } 44. Ke1 { [%eval 0.0] [%clk 0:07:54] } 44... Rxe2+ { [%eval 0.0] [%clk 0:36:31] } 45. Kxe2 { [%eval 0.0] [%clk 0:08:21] } 45... Nxh2 { [%eval 0.03] [%clk 0:36:51] } 46. Rxc4 { [%eval 0.0] [%clk 0:08:30] } 46... Rxg3 { [%eval 0.0] [%clk 0:37:16] } 47. a4 { [%eval 0.0] [%clk 0:08:01] } 47... h5 { [%eval 0.0] [%clk 0:36:55] } 48. a5 { [%eval 0.0] [%clk 0:08:14] } 48... Rg2+ { [%eval 0.0] [%clk 0:37:19] } 49. Kd3 { [%eval 0.0] [%clk 0:08:01] } 49... Ra2 { [%eval 0.0] [%clk 0:37:41] } 50. Rc2 { [%eval 0.0] [%clk 0:06:57] } 50... Rxa5 { [%eval 0.0] [%clk 0:37:59] } 51. Rxh2 { [%eval 0.0] [%clk 0:07:20] } 51... Rxc5 { [%eval 0.0] [%clk 0:38:21] } 52. Rxh5 { [%eval -0.01] [%clk 0:07:46] } 52... g6 { [%eval -0.05] [%clk 0:38:44] } 53. Rg5 { [%eval -0.07] [%clk 0:08:09] } 53... Kg7 { [%eval -0.01] [%clk 0:38:58] } 54. Kd4 { [%eval 0.0] [%clk 0:08:32] } 54... Rc1 { [%eval 0.0] [%clk 0:39:11] } 55. Ke3 { [%eval 0.0] [%clk 0:08:31] } 55... Kh6 { [%eval 0.0] [%clk 0:37:59] } 56. Kf3 { [%eval 0.0] [%clk 0:06:35] } 56... Rf1+ { [%eval 0.0] [%clk 0:38:19] } 57. Ke3 { [%eval 0.0] [%clk 0:06:48] } 57... Ra1 { [%eval 0.0] [%clk 0:38:12] } 58. Kf3 { [%eval -0.01] [%clk 0:06:50] } 58... Kg7 { [%eval -0.03] [%clk 0:38:35] } 59. Ke3 { [%eval 0.0] [%clk 0:06:59] } 59... Kf6 { [%eval 0.0] [%clk 0:38:43] } 60. Kf3 { [%eval 0.0] [%clk 0:07:21] } 60... Ra3+ { [%eval -0.02] [%clk 0:38:29] } 61. Kf2 { [%eval -0.05] [%clk 0:07:31] } 61... Ke6 { [%eval 0.0] [%clk 0:37:20] } 62. Rxg6+ { [%eval 0.0] [%clk 0:07:05] } 62... Kd5 { [%eval 0.0] [%clk 0:37:44] } 63. Rb6 { [%eval 0.0] [%clk 0:07:00] } 63... Rc3 { [%eval 0.0] [%clk 0:37:42] } 64. Rb5+ { [%eval 0.0] [%clk 0:06:30] } 64... Kd4 { [%eval 0.0] [%clk 0:37:54] } 65. Rxf5 { [%eval 0.0] [%clk 0:06:32] } 65... Ke4 { [%eval 0.0] [%clk 0:38:19] } 66. Re5+ { [%eval 0.0] [%clk 0:05:49] } 66... Kxf4 { [%clk 0:38:41] } 67. Re2 { [%clk 0:06:11] } 67... Rf3+ { [%clk 0:39:07] } 68. Kg2 { [%clk 0:06:36] } 68... Re3 { [%clk 0:39:32] } 69. Rxe3 { [%clk 0:07:02] } 69... Kxe3 { [%clk 0:40:01] } 1/2-1/2243 |
Notes
247 |
248 | Almost all the games include Stockfish analysis evaluations:
249 | [%eval 2.35]
(235 centipawn advantage),
250 | [%eval #-4]
(getting mated in 4),
251 | always from White's point of view.
252 |
254 | Games between chess engines are marked with [WhiteTitle "BOT"] or [BlackTitle "BOT"], respectively. 255 |
256 |Decompress .zst
260 |
261 | Unix: pzstd -d filename.pgn.zst
(faster than unzstd
)
262 | Windows: use PeaZip
263 |
265 | Expect uncompressed files to be about 7.1 times larger. 266 |
267 |268 | ZStandard archives are partially decompressable, so you can start downloading and then cancel at any point. You will be able to decompress the partial download if you only want a smaller set of game data. 269 |
270 |
271 | You can also decompress the data on-the-fly without having to create large temporary files. This example shows how you can pipe the contents to a Python script for analyzing using zstdcat
.
272 |
$ zstdcat lichess_db.pgn.zst | python script.py274 |
Sample
290 |[Event "Rated Bullet tournament https://lichess.org/tournament/yc1WW2Ox"] 291 | [Site "https://lichess.org/PpwPOZMq"] 292 | [Date "2017.04.01"] 293 | [Round "-"] 294 | [White "Abbot"] 295 | [Black "Costello"] 296 | [Result "0-1"] 297 | [UTCDate "2017.04.01"] 298 | [UTCTime "11:32:01"] 299 | [WhiteElo "2100"] 300 | [BlackElo "2000"] 301 | [WhiteRatingDiff "-4"] 302 | [BlackRatingDiff "+1"] 303 | [WhiteTitle "FM"] 304 | [ECO "B30"] 305 | [Opening "Sicilian Defense: Old Sicilian"] 306 | [TimeControl "300+0"] 307 | [Termination "Time forfeit"] 308 | 309 | 1. e4 { [%eval 0.17] [%clk 0:00:30] } 1... c5 { [%eval 0.19] [%clk 0:00:30] } 310 | 2. Nf3 { [%eval 0.25] [%clk 0:00:29] } 2... Nc6 { [%eval 0.33] [%clk 0:00:30] } 311 | 3. Bc4 { [%eval -0.13] [%clk 0:00:28] } 3... e6 { [%eval -0.04] [%clk 0:00:30] } 312 | 4. c3 { [%eval -0.4] [%clk 0:00:27] } 4... b5? { [%eval 1.18] [%clk 0:00:30] } 313 | 5. Bb3?! { [%eval 0.21] [%clk 0:00:26] } 5... c4 { [%eval 0.32] [%clk 0:00:29] } 314 | 6. Bc2 { [%eval 0.2] [%clk 0:00:25] } 6... a5 { [%eval 0.6] [%clk 0:00:29] } 315 | 7. d4 { [%eval 0.29] [%clk 0:00:23] } 7... cxd3 { [%eval 0.6] [%clk 0:00:27] } 316 | 8. Qxd3 { [%eval 0.12] [%clk 0:00:22] } 8... Nf6 { [%eval 0.52] [%clk 0:00:26] } 317 | 9. e5 { [%eval 0.39] [%clk 0:00:21] } 9... Nd5 { [%eval 0.45] [%clk 0:00:25] } 318 | 10. Bg5?! { [%eval -0.44] [%clk 0:00:18] } 10... Qc7 { [%eval -0.12] [%clk 0:00:23] } 319 | 11. Nbd2?? { [%eval -3.15] [%clk 0:00:14] } 11... h6 { [%eval -2.99] [%clk 0:00:23] } 320 | 12. Bh4 { [%eval -3.0] [%clk 0:00:11] } 12... Ba6? { [%eval -0.12] [%clk 0:00:23] } 321 | 13. b3?? { [%eval -4.14] [%clk 0:00:02] } 13... Nf4? { [%eval -2.73] [%clk 0:00:21] } 0-1322 |
Notes
326 |
327 | About 6% of the games include Stockfish analysis evaluations:
328 | [%eval 2.35]
(235 centipawn advantage),
329 | [%eval #-4]
(getting mated in 4),
330 | always from White's point of view.
331 |
333 | The WhiteElo
and BlackElo
tags contain Glicko2 ratings.
334 |
336 | Games contain clock information down to the second as PGN %clk
comments since April 2017. If you need centisecond precision, there is a separate export of standard games across all time controls from 2013 to 2021 using %clkc
comments.
337 |
339 | Players using the Bot API
340 | are marked with [WhiteTitle "BOT"]
or
341 | [BlackTitle "BOT"]
, respectively.
342 |
344 | Variant games have a Variant
tag, e.g., [Variant "Antichess"]
.
345 |
Decompress .zst
350 |
351 | Unix: pzstd -d filename.pgn.zst
(faster than unzstd
)
352 | Windows: use PeaZip
353 |
355 | Expect uncompressed files to be about 7.1 times larger. 356 |
357 |358 | ZStandard archives are partially decompressable, so you can start downloading and then cancel at any point. You will be able to decompress the partial download if you only want a smaller set of game data. 359 |
360 |
361 | You can also decompress the data on-the-fly without having to create large temporary files. This example shows how you can pipe the contents to a Python script for analyzing using zstdcat
.
362 |
$ zstdcat lichess_db.pgn.zst | python script.py364 |
Open PGN files
368 |369 | Traditional PGN databases, like SCID or ChessBase, fail to open large PGN files. 370 | Until they fix it, you can split the PGN files, 371 | or use programmatic APIs such as python-chess 372 | or Scoutfish. 373 |
374 |Known issues
378 |-
379 |
- 380 | November 2023: Some Chess960 rematches were recorded with invalid castling rights in their starting FEN. 381 | 382 |
- 383 | December 2022: Some Antichess games were recorded with bullet ratings. 384 | 385 |
- 386 | 12th March 2021: Some games have incorrect results due to a database outage in the aftermath of a datacenter fire. 387 | 388 |
- 389 | 9th February 2021: Some games were 390 | resigned even after the game ended. 391 | In variants, additional moves could be played after the end 392 | of the game. 393 | 394 |
- 395 | December 2020, January 2021: Many variant games have been 396 | mistakenly analyzed using standard NNUE, 397 | leading to incorrect evaluations. 398 | 399 |
-
400 | Up to December 2020:
401 | Some exports are missing the redundant (but strictly speaking mandatory)
402 |
Round
tag (always-
), 403 |Date
tag (seeUTCDate
&UTCTime
instead), 404 | and black move numbers after comments. 405 | This may be fixed by a future re-export. 406 |
407 | - 408 | July 2020 (especially 31st), August 2020 (up to 16th): 409 | Many games, especially variant games, may have 410 | incorrect evaluations 411 | in the opening (up to 15 plies). 412 | 413 |
- 414 | December 2016 (up to and especially 9th): 415 | Many games may have incorrect evaluations. 416 | 417 |
- 418 | Before 2016: In some cases, 419 | mate may not be forced in the number of moves given by the evaluations. 420 | 421 |
- 422 | June 2020, all before March 2016: Some players were able to play themselves in rated games. 423 | 424 |
- 425 | Up to August 2016: 7 games with illegal castling moves were recorded. 426 | 427 |
Related projects
433 |-
434 |
- 435 | MAIA CHESS - A human-like neural network chess engine 436 | 437 |
- 438 | World Chess Champion number 439 | 440 |
- 441 | Elite database (2400+) 442 | 443 |
- 444 | Does the low time alarm make people play worse? 445 | 446 |
- 447 | ChessRoots visual opening explorer 448 |
- 449 | Heatmap of Chess Moves 450 | 451 |
- 452 | Deep Learning Engine for Crazyhouse 453 | 454 |
- 455 | Top lichess games by various criteria 456 | 457 |
- 458 | Comparison of Bullet, Blitz, Rapid and Classical ratings 459 | 460 |
- 461 | A Bot that plays its next move by what the majority of all the players chose at that specific position 462 | 463 |
- 464 | Machine learning over 500 million games 465 | 466 |
- 467 | Finding the Most Common Chess Blunders 468 | 469 |
- 470 | 20 most popular chess openings over time 471 | 472 |
- 473 | Survival in chessland [PDF] - YouTube video 474 | 475 |
- 476 | Chess960 Win by Position Setup 477 | 478 |
- 479 | Selected Opening Usage by Game Rating 480 | 481 |
- 482 | Chess Visualization Project 483 | 484 |
- 485 | Blindfold puzzles (using the puzzle DB) 486 | 487 |
- 488 | Puzzle battle (using the puzzle DB) 489 | 490 |
- 491 | When should you resign? 492 | 493 |
- 494 | Popularity and win rate of chess openings 495 | 496 |
- 497 | Chess Tactics CLI (using the puzzle DB) 498 | 499 |
- 500 | Lichess puzzles, by ECO 501 | 502 |
- 503 | Offline puzzles 504 | 505 |
- 506 | What's the difficulty of the tactics that people actually spot during their games? 507 | 508 |
- 509 | Repertoire builder 510 | 511 |
- 512 | Puzzle memory trainer 513 | 514 |
- 515 | Chesspecker - puzzle repetition training 516 | 517 |
- 518 | Do Variants Help You Play Better Chess? 519 | 520 |
- 521 | Online Chess Social Networks 522 | 523 |
- 524 | Fast thinking on lichess.org 525 | 526 |
- 527 | When should you berserk? 528 | 529 |
- 530 | Combined puzzle and game database 531 | 532 |
- 533 | The rarest move in chess 534 | 535 |
- 536 | Chessort, a puzzle game where you sort moves based on the chess engine's evaluation. 537 | 538 |
- 539 | 500,000 games of intermediate chess players analyzed (in French) 540 | 541 |
543 | Did you use this database? Please share your results! contact@lichess.org 544 |
545 |