SANKit Icon


Read and write PGN format and test moves for legality.

5.0 Stars (1)
1 Download (This Week)
Last Update:
Browse All Files


SAN Kit was made public in 1993 by Stephen Edwards, the inventor of PGN Chess notation. The original code is in C, and with few comments quite cryptic. In addition, the original author's style was quite quixotic, making it even more difficult to read.

This code is now reformatted to modern standards, adds support for NAG codes and comments, and has a "non-CLI" mode for inclusion in chess playing programs.

The code has gone through extensive analysis using the llvm/clang compiler and reports no issues at this time. To use the code as a "framework" you would undefined "CLI".

In addition, a small C++ program is included that takes as input a file of one or more PGN records, and outputs pure pristine PGN records as output. In addition to flagging errors at the move level, the program provides three boards around the move.

NOTE: plan on budgeting a fair amount of time to read, re-read, and experiment with the documentation and cryptic uncommented code. You are on your own

SANKit Web Site


  • Read sloppily written PGN text, output perfect "export" quality PGN
  • Replay games in PGN format
  • Play games (using CLI) against the original authors automated player


Other Useful Business Software

Protect your Network & Cloud Assets with USM Anywhere Icon

Discover a better way to detect & respond to threats before they impact your business with AlienVault USM Anywhere.

Protect your Network & Cloud Assets with USM Anywhere Icon
AlienVault® Unified Security Management™ (USM™) is an innovative approach to security monitoring, delivered in a unified platform. The USM platform includes five essential security capabilities that provide resource-constrained organizations with everything they need for effective threat detection, incident response, and compliance management, in a single pane of glass.

User Ratings

ease 1 of 5 2 of 5 3 of 5 4 of 5 5 of 5 0 / 5
features 1 of 5 2 of 5 3 of 5 4 of 5 5 of 5 0 / 5
design 1 of 5 2 of 5 3 of 5 4 of 5 5 of 5 0 / 5
support 1 of 5 2 of 5 3 of 5 4 of 5 5 of 5 0 / 5
Write a Review

User Reviews

  • 1 of 5 2 of 5 3 of 5 4 of 5 5 of 5

    I incorporated this code in an iPhone app, ChessNotePad. In addition to having this code create PGN for me, I was able to load games move by move, and verify whether or not a proposed move was legal or not (this took some effort). I no longer support ChessNotePad and frankly don't recall how I used the library, but I did add two features to the original: import and export of both NAG codes and comments. If you want to use this code, it offers a lot, but demands a lot. There are no comments, the functions all have similar looking names, and the original documentation leaves a lot to be desired. The only want to really learn it is play around with it, add print statements, etc. I found that the vast majority of PGN files on the web, on the well known web sites, are faulty (I actually tracked down the apparent discrepancy to verify that they were in fact violations).

    Posted 12/29/2011
Read more reviews

Additional Project Details

Intended Audience

Education, Developers

User Interface


Programming Language

C++, C



Thanks for helping keep SourceForge clean.

Screenshot instructions:
Red Hat Linux   Ubuntu

Click URL instructions:
Right-click on ad, choose "Copy Link", then paste here →
(This may not be possible with some types of ads)

More information about our ad policies

Briefly describe the problem (required):

Upload screenshot of ad (required):
Select a file, or drag & drop file here.

Please provide the ad click URL, if possible:

Get latest updates about Open Source Projects, Conferences and News.

No, thanks