GTP - Go Text Protocol

The Go Text Protocol, GTP, is a text based protocol for communication with computer go programs. It is a modern alternative to the Go Modem Protocol, GMP, and may potentially replace this for use in Go tournaments in the future. It is also intended, through the use of auxiliary programs, to make it easier for go programmers to connect to go servers on the internet and do automatic regression testing.

Current Status

GTP version 1 has been implemented in GNU Go 3.0.0 but the protocol lacks a proper specification. Work is going on to create such a specification for the revised version 2 of GTP.

Mailing List

Discussion about the protocol is taking place on a dedicated mailing list. Follow the link for subscription information and an online archive.

Working Documents

Working documents for the specification of GTP version 2.

Frequently Asked Questions

Reference engine code

Reference application code

Sample engine code

This is sample code implementing the engine end of the protocol. Unless otherwise stated, no guarantees are given that the code correctly implements any particular revision of the protocol.

User interfaces

Programs letting a human interact with an engine.

Engine vs. engine applications

Programs to automatically play engines against each other.

Server clients

Programs to connect engines to various servers.


GTP aware engines (i.e. go programs).

Regression test suites

Collections of test problems in GTP format.

Regression test tools

Tools to run regression tests and present the results.