Search for multiple positions in any .pgn file

Searching for 1 position in a database is old news. What if you want to search for your whole opening repertoire at the click of a button? Now you can do exactly this with ChessSpider!

ChessSpider! is a Windows utility which allows you to search for games in your opening repertoire. You can set the White and Black positions you are interested in, select a .pgn (Portable game notation) file, and the system will retrieve the games in which your defined positions occurred in the .pgn file.

The program is very easy to use. Before running ChessSpider!, you set up 2 text files. For simplicity’s sake we will call them White.txt and Black.txt (though they can be called anything as long as they are valid text files). Both these files will contain algebraic chess moves in .pgn format, with the move numbers omitted. For example, a sample White.txt file could contain the following moves:

e4 e5 Nf3 Nc6 Bb5 Nf6 d3
e4 e5 Nf3 Nc6 Bb5 a6 Ba4 Nf6 d3
e4 e5 Nf3 Nf6 Nxe5 d6 Nf3 Nxe4 Nc3 Nxc3 dxc3

So, the White.txt and Black.txt contain moves, but each line represents a position i.e. the position that occurs after the line’s moves are played. In this way, transpositions can be handled easily so that if we have the below:

c4 c6 e4 d5 exd5 cxd5 d4
e4 c6 d4 d5 exd5 cxd5 c4

these two lines represent the same position and are interchangeable for White.txt or Black.txt. One will obviously choose the most personal move-order. Duplicate positions like this are allowed, of course, but it is clearly not useful. If a user inputs an illegal sequence of moves in either White.txt or Black.txt, the program will point this out when the file is parsed.

After defining the White.txt and Black.txt lines (positions), these files can be kept intact (or modified when desired). When, for example, a new .pgn file is obtained from one of the various online sites, for example, these same files will be reused and the new games with your repertoire positions will be obtained.

One other criterion that affects the resulting games obtained is the Minimum Elo field. To ignore this field and get all games with the specified positions, this field can be set to 0. However, more advanced users will want to set this to a meaningful value, for example the default of 2400. This would mean that for a game to be selected, besides having the positions match, both players would also need to have an Elo of at least 2400.

After selecting the White and Black positions files, the graphical representations of the positions read will be shown in the designated lists. You then specify the minimum Elo desired and select a .pgn file by clicking on the Open PGN button. After that, the Get Games button will do the magic! If the .pgn file is relatively large, the progress of ChessSpider! will be seen at the bottom of the ChessSpider! window.

ChessSpider! can handle heavily annotated .pgn games, so that if one of the selected positions occurs within a variation, the game is picked up too. Say you filtered a file MyBigBase.pgn, the resulting games will be contained in the same folder, and will have the names MyBigBase_White.pgn and MyBigBase_Black.pgn.


The above is a screen capture of a run of ChessSpider! on a .pgn file with 116968 games, in which the White user defined positions were found in 2100 games, while the Black ones were found 996 times.

Click here for a video demo.

The price for the full version is €39.99. You can download a free fully-functional 15-day trial version here: ChessSpider! 1.0

After extracting the files, run the ChessSpider.exe file as seen below (you need not be concerned with the other files). You can create a shortcut for future use.