Warning
A.C.A.S is currently in development. Expect bugs, especially on variants.
A.C.A.S (Advanced Chess Assistance System) is an open-source chess assistant (not a chess cheat), designed to help you make better moves using a chess engine. Just install the userscript, open the A.C.A.S GUI, and you're ready to go. No downloads necessary!
Caution
The use of A.C.A.S may violate the rules and lead to disqualification or banning from tournaments and online platforms. A.C.A.S is meant to be used as a real-time learning tool. Remember, struggling at chess doesn't mean you're unintelligent... it's not an IQ test, just a board game. And even IQ tests only measure certain aspects of your abilities. Use A.C.A.S fairly, be kind to other players.
| ⬇️ Install (GreasyFork) | 💬 Discuss With Community |
|---|
- Many built in WebAssembly engines (faster than JS)
- External engines (via an installable localhost server)
- Supports top chess sites (chess.com, lichess.org, etc.)
- Multiple suggestions, arrows, variants, fonts
- Multi-engine support, each with own settings
- Ability to modify any engine UCI options (e.g. ELO, depth, multiPV, skill)
- Visual board metrics (safe, contested, enemy squares, captured pieces)
- Move feedback and opponent predictions
- Render directly on external boards (or stay hidden via ghost mode)
- Audio TTS suggestions with adjustable speed
- Floating panel for stability and faster calculation
- Customizable themes (colors, fonts, textures)
- Chess variants supported (chess960, Fairy Stockfish variants)
- Translated into 30+ languages
- No anti-features on userscript
Used Libraries ❤️
| Library | Description | License |
|---|---|---|
| Fairy Stockfish WASM | Chess engine (variants) | GPL-3.0 |
| Stockfish WASM | Chess engine (main engine) | GPL-3.0 |
| ZeroFish | WASM port of Lc0 + Stockfish | GPL-3.0 |
| Maia-Chess | Human-like NN weights | GPL-3.0 |
| Maia-Platform-Frontend | Maia 2 engine source | MIT |
| Lozza | Additional chess engine | MIT |
| COI-Serviceworker | Enables WASM on GitHub Pages | MIT |
| ChessgroundX | Chessboard UI (modified) | GPL-3.0 |
| FileSaver | Save config files | MIT |
| bodymovin (lottie-web) | SVG animations | MIT |
| chess.js | Game logic (Maia 2) | BSD-2-Clause |
| onnxruntime-web | Run ML models in browser | MIT |
| Klaro! | Cookie consent manager | BSD 3-Clause |
| SnapDOM | DOM → image screenshots | MIT |
| UniversalBoardDrawer | Draw arrows on boards | GPL-3.0 |
| CommLink | Cross-window communication | GPL-3.0 |
| Bootstrap Icons | Icon set | MIT |
| Mona Sans | Font (GitHub) | SIL Open Font License |
| Rubik | Sans-serif font | SIL Open Font License |
| IBM Plex Sans | IBM typeface | SIL Open Font License |
| ws | WebSocket server library | MIT |
| Electron | Desktop app framework | MIT |
There might be more, please let us know if anything is missing, thank you!
| A.C.A.S (Tab #1) | Chess Website (Tab #2) |
|---|---|
![]() |
![]() |
| The engine runs on a completely different tab than the chess game page, completely isolated from it. The site cannot block the usage of A.C.A.S. | A.C.A.S sends move data via CommLink and the userscript displays the data on the board using UniversalBoardDrawer. (If "Display Moves On External Site" setting is activated!) |
If you're having issues, please visit the troubleshoot page. Developers can visit the development page. Thank you!




