Chess for Android icon

Chess for Android

by Jeroen Carolus · MIT · open source

Free · Android 7.0+ · Strategy Games

One chessboard for an offline engine, saved-game study, puzzles, Lichess and the old FICS server. Version 10.6.0 also adds a low-refresh e-ink theme and tap-to-move preset.

Needs:Android 7.0+ · internet only for Lichess or FICS

No known trackers in the code Signer matches F-Droid’s record

2113 Apps is independent, not affiliated with or endorsed by Jeroen Carolus. Official sources: jwtc.nl · source code on GitHub.

Download APK · 3.6 MB v10.6.0 · checked
Version
10.6.0
Size
3.6 MB
Requires
Android 7.0+
Updated
2026-09-22

Screenshots

An offline game against the built-in engine (project screenshot from the older 9.9.x interface)A local mate-in-two problem from El Arte del Mate en Dos (project screenshot from the older 9.9.x interface)A FICS game in progress (project screenshot from the older 9.9.x interface)

Introduction

Chess for Android is a long-running open-source chess program by Jeroen Carolus. It combines an on-device engine and study tools with two very different online services: modern Lichess integration and the Free Internet Chess Server (FICS). It is not just a wrapper around either site; the board, native engine, game database and training material are inside the APK.

Offline board and study tools

  • Play against the built-in engine, use the board for two people on one device, or install a compatible engine that supports the Open Exchange Protocol.
  • Save games to a local database, search by player, event, date or result, edit them, step through moves, and import, export or share standard game files.
  • Explore openings through the bundled ECO data, set up a position manually, and practise a local collection of mate-in-two positions.
  • TalkBack support speaks board squares, pieces, moves and controls. A separate Accessibility Drag mode is meant to be used with TalkBack off: it speaks the selected piece and square while you drag, then speaks the destination when you release.

Version 10.6.0 adds settings designed for e-ink readers: a greyscale theme, reduced animations and a no-drag tap-to-select/tap-to-move option. Its preset also turns off effects that cause ghost trails on slow-refresh panels. The release includes performance work so clocks and engine scores are redrawn only when their text changes. These are source and commit findings; we did not test the interface on an e-ink device.

What goes online

Lichess uses browser-based OAuth with PKCE and asks for board-play, puzzle, tournament and team scopes. You can see ongoing games, create or accept challenges, play supported time controls, fetch puzzles and work with supported teams and Swiss events. The access token is kept in the app’s private preferences; signing out clears its local copy but the source does not call Lichess’s token-revocation endpoint.

FICS uses a direct legacy socket to freechess.org:23. Timeseal adds move timing information but is not modern transport encryption. Local engine games do not contact either service. The experimental hotspot board normally connects two devices for a game; its separate Share mode allows observers. The host listens on an unauthenticated, unencrypted socket on port 8080, so use it only on a local network you trust and stop hosting afterwards.

About this file

  • This is F-Droid’s FOSS build of version 10.6.0, compiled from the MIT-licensed source and signed with F-Droid’s key. The Google Play flavour is a different build and includes the proprietary Cast dependency that this one omits.
  • The APK’s eight chess-piece sets are not all MIT. The default Alpha set is limited to personal non-commercial use; California and Staunty are CC BY-NC-SA 4.0; Companion and Leipzig are labelled only freeware; and Kosal’s required CC BY 4.0 credit is missing. The project gives no source or licence for its bundled sounds or five board textures.
  • The 3.6 MB APK runs on Android 7.0 or later and contains engine libraries for 64-bit ARM, 32-bit ARM, x86 and x86_64.
  • It declares seven permissions: internet and network/Wi-Fi state for online play and local sharing, wake lock, vibration, fullscreen and one app-internal receiver permission. Our scan found no tracker SDKs.
  • The three retained screenshots are project images last changed for the 9.9.x interface: an engine game, a local mate-in-two problem and a FICS game. We omit the old 9.9.3 start-screen image because it shows the Play-only Cast button absent from this FOSS build.

What’s inside the APK

Trackers

None found

No code matching the Exodus Privacy tracker signatures.

Native code

4 CPU types

Runs on 64-bit and older 32-bit ARM phones.

Android versions

Android 7.0 and up

Built for Android 16 (target API 36).

Permissions

7

0 of them need your approval first.

CPU types in this build: arm64-v8a (64-bit ARM, almost every phone since 2017); armeabi-v7a (32-bit ARM, older and budget phones); x86 (32-bit Intel, emulators); x86_64 (64-bit Intel, emulators and Chromebooks).

Granted at install (6)

Low-risk permissions Android grants automatically, plus any we have not classified.

  • ACCESS_NETWORK_STATE
  • ACCESS_WIFI_STATE
  • FULLSCREEN
  • INTERNET
  • VIBRATE
  • WAKE_LOCK
Defined by other apps (1)

Permissions that belong to another app or to this app itself.

  • jwtc.android.chess.DYNAMIC_RECEIVER_NOT_EXPORTED_PERMISSION

More Information

Package name
jwtc.android.chess
Version
10.6.0 (build 298)
File size
3.6 MB (3,557,014 bytes)
Requires
Android 7.0 or later
Category
Strategy Games
License
MIT
Developer
Jeroen Carolus
Released
Sep 22, 2026
Signed by
F-Droid, which built this APK from the published source code. Because the key is F-Droid’s, it won’t install over a copy from Google Play or GitHub (or the other way round) without uninstalling first.
Signer SHA-256
e0c0cbdeebe74a7bb65a409c509d248b875b84cad3bd59c1debf013f30037fba
File SHA-256
3245b9ec35f6c1df771c418ac91ec792b5e056fb37e1d391e607b614f1a283b4
Checked
, against the F-Droid index · how we check · verify it yourself

Common questions

Is this APK the official Chess for Android release?

It is F-Droid’s build rather than the developer’s own: F-Droid compiled Chess for Android 10.6.0 from the published source code and signed it with its own key. Its SHA-256 matches F-Droid’s signed index. Because the key is F-Droid’s, it won’t install over a copy from Google Play or GitHub without uninstalling first.

What Android version does Chess for Android need?

Android 7.0 or later (API level 24). Version 10.6.0 is built for Android 16 (target API 36). Runs on 64-bit and older 32-bit ARM phones.

Can Chess for Android access the internet?

Yes. The APK requests Android’s internet permission. In total it declares 7 permissions, and none of them needs your approval first.

Does Chess for Android contain trackers?

No known trackers: our scan of version 10.6.0 found no code matching the Exodus Privacy tracker signatures. The scan covers known tracker libraries; it doesn’t show what data the app itself sends.

Is Chess for Android open source?

Its code is. The source code of Chess for Android is released under the MIT licence and published at https://github.com/jcarolus/android-chess. Its eight piece sets are not all MIT: Alpha is personal non-commercial use; California and Staunty are CC BY-NC-SA; Companion and Leipzig are only labelled freeware; Kosal lacks required CC BY credit. Bundled sounds and board textures state no source or licence.

Can I play without an account or internet?

Yes. The built-in engine, local two-player board, mate-in-two collection, opening explorer, position setup and saved-game database work locally. Lichess puzzles, Lichess games and FICS obviously require their servers.

Which chess variants are included?

Standard chess, Chess960 and an experimental Duck Chess mode are in the app. Lichess’s Board API is more limited: the app says it can play rapid, classical and correspondence games there, not blitz or bullet, and only supported standard or Chess960 Swiss events.

Is FICS login encrypted?

The FICS client connects to freechess.org on port 23 through its old Telnet/timeseal protocol, not TLS. Treat it as a legacy connection and do not reuse a valuable password. Lichess login instead uses browser-based OAuth with PKCE over HTTPS.

Why is there no Chromecast button in this build?

The project’s general description lists Chromecast, but its build file includes Google Play Cast only in the Play Store flavour. This is the FOSS/F-Droid flavour, whose replacement start screen contains no Cast implementation.

Recent releases

Version Released Size Requires
v10.6.0 · this download Sep 22, 2026 3.6 MB Android 7.0+
v10.5.0 Sep 9, 2026 3.5 MB Android 7.0+
v10.4.0 Aug 28, 2026 3.5 MB Android 7.0+

Versions currently kept in the F-Droid repository. We host and check only the newest one.

Alternatives and related apps

  • Lichess Strategy Games·101.9 MB·v0.30.3 The official Lichess client, focused on that service’s games, puzzles, studies and community.
    Download
  • Mobile Maia Strategy Games·455.4 MB·v2.5.1 An offline opponent trained to make human-like moves at different rating levels, with fewer database features.
    Download