Berserk Chess Engine: What It Is, How Strong It Is, and How to Use It

NM

November 20, 2025

Berserk is an open-source UCI chess engine created and maintained by Jay Honnold. Since first appearing in 2021 it has grown from a hobby project into a respected engine on computer-chess rating lists and tournament play. It’s written in C, distributed under GPLv3, and designed so that hobbyists and researchers can build, run, and tweak it themselves.

What makes Berserk interesting?

  1. Modern architecture with practical design choices. Berserk started with hand-crafted evaluation and later moved to a neural-network-style evaluation (NNUE), which improved its positional understanding while keeping CPU performance reasonable. This hybrid history means the engine benefits from both classical tuning and modern evaluation techniques.
  2. Open-source and community-friendly. The full source code and release artifacts are on GitHub, so anyone can read the code, build their own binary, or suggest improvements. That makes Berserk a good engine to experiment with if you want to learn chess engine internals or test network/search ideas.
  3. Competitive playing strength. On established rating lists such as CCRL (which runs large, standardized engine matches), Berserk has achieved ratings that place it among strong, modern engines — often in the 3500–3600 BayesElo range depending on version and test conditions. That places it clearly above casual engines and competitive with many top-tier open-source engines.

Strengths and trade-offs

  • Positional understanding: Thanks to NNUE-style evaluation in recent versions, Berserk handles complex, strategic positions better than many purely handcrafted engines. That makes it useful for human study and long analysis sessions.
  • Speed and efficiency: Written in C with careful performance tuning, Berserk is designed to run fast on CPUs. You don’t need a GPU to use its evaluation, which keeps it accessible for most users.
  • Configurability: Because it’s a UCI engine with source access, you can change thread counts, hash sizes, or even rebuild with different compiler flags to match your machine. That flexibility helps when you want to tune for analysis vs. tournament play.

Trade-offs to be aware of: moving to neural evaluation tends to increase memory use and changes behavior compared to older handcrafted versions. Also, as with any actively developed project, you may see frequent updates — great for progress, but something to track if you need a stable build for experiments.

How strong is Berserk in practice?

Strength estimates vary by test conditions (time controls, number of CPUs, hash sizes). Standard rating lists such as CCRL run long, repeatable matches and have placed Berserk high among modern engines; in those CCRL-style tests Berserk’s versions have shown BayesElo ratings comparable to other top open-source engines. Use rating pages to compare specific versions if you want precise numbers for a given release.

Downloading Berserk (step-by-step)

You have two main options: download a prebuilt binary (if available) or build from source.

1) Check the official GitHub releases page (recommended)

  • Visit Berserk’s GitHub repository and open the Releases area to find tagged versions and attached binaries. The releases page is the authoritative place for packaged downloads and release notes.

2) Download a prebuilt binary

  • If the release includes Windows .zip or Linux .tar.gz builds, download the one matching your OS, unzip it, and you’ll typically find a UCI binary (for example berserk.exe on Windows or berserk on Linux). If a direct binary is not provided for your platform, proceed to build from source.

3) Build from source (if you prefer or need a custom build)

  • Clone the repo: git clone https://github.com/jhonnold/berserk.git cd berserk
  • Follow instructions in the README for your platform. Typical build steps on Linux/macOS use make or a provided build script; Windows users can use MinGW/MSYS or WSL. Building lets you set compiler flags or target specific CPU instruction sets.

How to use Berserk (basic guide)

  1. Add to a GUI: Berserk speaks UCI, so you can add it to any UCI-compatible GUI (Arena, SCID vs. PC, Cute Chess GUI, ChessBase tools that accept UCI). In the GUI choose Install Engine (or similar), point to the Berserk binary, and set options like Threads and Hash.
  2. Basic UCI commands: Advanced users can interact via UCI: use setoption name Threads value N, setoption name Hash value 128, ucinewgame, and go movetime 1000 or go depth 20. Those commands let you tailor thinking time and resources.
  3. Engine vs engine testing: If you want to run matches (for benchmarking or fun), use Cutechess-cli or your GUI’s match manager and pick time control, number of games, and hashing/threads settings. Many in the community report results using CCRL-style settings for reproducibility.

Practical tips & recommended settings

  • Threads: Set threads to the number of physical cores (or fewer) for stable performance.
  • Hash: For regular analysis, 128–1024 MB is common depending on RAM; for tournament-style automated tests follow the rating list’s configuration.
  • Network/tablebases: If Berserk supports NNUE networks or Syzygy tablebases in the release you use, place the network or tablebase files in the folders the engine or GUI expects and enable them in engine options. Check the release notes for exact support details.

Where to read more and stay current

  • Official GitHub repo & Releases — for source code, binaries, and changelogs.
  • Rating lists (CCRL, etc.) — to compare versions and see how the engine stacks up in standardized tests.
  • Community pages and writeups — fans and testers often post match results, tips, and builds that help new users.

FAQ: Berserk Chess Engine

1. What is Berserk?

Berserk is an open-source UCI chess engine written in C and released under the GPLv3 license. It is designed for strong competitive play, engine testing, and general chess analysis.

2. Who created Berserk?

Berserk was created and is maintained by Jay Honnold, an active developer in the computer-chess community.

3. How strong is Berserk?

Berserk reaches 3500–3600+ Elo on major rating lists such as CCRL, depending on the version and test conditions. This makes it significantly stronger than typical human grandmasters and competitive with many modern engines.

4. Does Berserk use neural networks (NNUE)?

Yes. Newer versions of Berserk switched from a handcrafted evaluation to NNUE-style evaluation, resulting in a major boost in positional strength and accuracy.

5. Can Berserk run on any computer?

Berserk is CPU-based and does not require a GPU. It can run on:

  • Windows
  • Linux
  • macOS (usually via source compilation)

6. Is Berserk free?

Yes. Berserk is completely free and open-source under the GPLv3 license. You can download, modify, or rebuild it as long as you follow the license terms.

7. Where can I download Berserk?

The official GitHub repository provides:

  • Source code
  • Release notes
  • Prebuilt binaries (when available)
    You can download from the Releases section on GitHub.

8. What do I do if there is no binary for my system?

You can compile Berserk from source. The repository includes simple build instructions using tools like make, GCC, or Clang. Windows users can compile using MSYS2, MinGW, or WSL.

9. How do I install Berserk in a chess GUI?

In any UCI-compatible GUI (Arena, SCID vs PC, Cute Chess, ChessBase):

  1. Open Install Engine / Add Engine
  2. Select the Berserk executable (berserk or berserk.exe)
  3. Configure options like Threads and Hash

10. Can I use Berserk for deep analysis?

Yes. Berserk is strong, stable, and efficient, making it ideal for:

  • Game analysis
  • Opening exploration
  • Endgame checking (if tablebases are supported in your version)

11. Does Berserk support Syzygy tablebases?

Support varies by version. If your release includes tablebase integration, you can enable Syzygy in your GUI by pointing to the tablebase folder.

12. Does Berserk work with Cutechess-cli for engine matches?

Absolutely. Berserk works well with Cutechess-cli, which many testers use to run automated matches, tournaments, or Elo comparisons.

13. How many threads should I use?

Most users set the Threads option equal to the number of physical CPU cores. For laptops and small PCs, using fewer threads may keep temperatures lower.

14. How much hash memory should I allocate?

Common settings:

  • 128–512 MB for everyday use
  • 512 MB–1 GB for deeper analysis
  • For formal testing, follow CCRL-style settings

15. Does Berserk receive frequent updates?

Yes. Berserk is under active development and often receives improvements to search, evaluation, and NNUE networks.

16. Is Berserk a good engine for beginners?

Yes. It’s strong, easy to run, and works with all major GUIs. Beginners benefit from its accurate evaluations and simple installation process.

17. Can I modify the Berserk source code?

Yes. Berserk is open-source, so you can experiment with your own evaluation tweaks, compilation flags, or search changes if you want to learn engine development.