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