CompactChess is an open-source Java 7+ library for chess.
- Understands Standard Chess, Antichess, Three-check, King of the Hill, Racing Kings & Horde.
- Can read & write 6 Algebraic Notation Varations: SAN, FIDE SAN, FAN, MAN, LAN, & RAN.
- Can read & write PGN using any Algebraic Notation Variation.
- Can read & write CGN.
- Can read & write FEN.
- Can communicate with UCI engines.
- Can detect illegal moves, check, checkmate, timeout, stalemate, and insufficient material.
- Can write games in SVG format.
- Can write games in text format.
These libraries can be used to get even more features: