a | b | c | d | e | f | g | h | ||
8 | 8 | ||||||||
7 | 7 | ||||||||
6 | 6 | ||||||||
5 | 5 | ||||||||
4 | 4 | ||||||||
3 | 3 | ||||||||
2 | 2 | ||||||||
1 | 1 | ||||||||
a | b | c | d | e | f | g | h |
Ein Schachprogramm ist ein Computerprogramm, das in der Lage ist, Schach zu spielen. Nach den kommerziellen Anfängen in den 1970er-Jahren, in denen erste zum Schachspielen speziell angefertigte Schachcomputer im Handel angeboten wurden, läuft es inzwischen zumeist auf handelsüblichen Computern (PCs) oder auf diversen Mobilgeräten wie beispielsweise den allgegenwärtigen Handys. Die Entwicklung von Schachprogrammen ist eine Disziplin des Computerschachs.
Während bei früheren Schachprogrammen die gesamte Funktionalität in einem Programm vereint war, besteht moderne Schachsoftware in der Regel aus zwei Teilen: der sogenannten Engine, der „Maschine“, das die vom Computer gespielten Züge berechnet, und dem Schach-Frontend, der „Oberfläche“, das deren Darstellung und die Benutzerinteraktion übernimmt. Für die interne Kommunikation zwischen Engine und Frontend gibt es zwei weit verbreitete offene Schach-Kommunikationsprotokolle: das XBoard-Protokoll und das neuere Universal Chess Interface (UCI). Die Stellungen und Partien werden in proprietären Formaten oder im offenen Portable-Game-Notation-Format (PGN) gespeichert.