A native Mac chess database. Browse, annotate, analyze and enter games — a lightweight, PGN-native alternative to ChessBase, built for players and coaches on macOS. Part of the DanceChess family.
Website: dancechess.com/studio · Download · Changelog · vs ChessBase
- One window per PGN, as tabs — board + notation on top, that file's game list below; open files come back on launch. Copy games between tabs (duplicates skipped); a file changed by another program is flagged.
Arrow keys browse games and step through moves without ever touching the
mouse;
Enterdives into a game,Esccomes back. - PGN is the source of truth — open any .pgn and its games are the
list. Every save writes straight back to the file (atomically, with a
.pgn.baksafety copy). SQLite is only a per-file cache: a 100k-game file imports in ~2 s and reopens instantly. - Full annotation — variations (promote/delete),
!/?NAGs, eval symbols, comments, undo/redo. The notation panel renders a ChessBase-style variation tree. - Engine analysis (⌘E) — bundled Stockfish, MultiPV, eval bar, click an engine line to insert it as a variation. The engine only runs while a move is selected — no idle CPU burn.
- Whole-game analysis (⌥⌘A) — marks the losing moves
?! ? ??for both sides or one, main line or every variation; writes what the eval did, inserts the engine's line beside each; one undo step. - Figurines and novelties — ♘f3 on screen and paper if you want it (letters by default); the reference panel
flags a move the chosen book has never seen and can write the
Nmark. - Merge games — select several rows; the first game's tree takes the others as variations, comments included.
- Diagrams, print, PDF —
⌘Dputs a diagram after a move (stored as ChessBase's$220); File ▸ Print Game… / Export Game as PDF…. - Filters — result, date range, Elo range, combined with text search.
- Opening reference (⌘T) — your database, or lichess's Masters / Lichess / Player explorers (your own lichess token, cached per position) — move statistics with W/D/L for the current position across the open file, and the list filters to the games that reach it (transposition-aware).
- Game entry — a blank board, a ChessBase-style save mask, and your scoresheets become clean PGN. Create a new file and build a collection from scratch.
brew tap dancechess/tap
brew trust --cask dancechess/tap/dc-studio # Homebrew asks before loading a third-party tap
brew install --cask dc-studioOr download the latest DC-Studio-<version>-arm64.dmg from
Releases, open it, and
drag DC Studio into Applications. Apple Silicon Mac, macOS 14 (Sonoma) or
later — there is no Intel build. Stockfish rides along inside the bundle, so
there is nothing else to install.
The app is signed with a Developer ID and notarized by Apple, so it opens the way anything else you download does — no terminal incantation, no trip through Privacy & Security.
Needs the Xcode Command Line Tools, Rust, and brew install stockfish — full
Xcode is not required.
git clone https://github.com/dancechess/studio.git && cd studio
./scripts/make-app.sh # → "dist/DC Studio.app", double-clickableDevelopment without Xcode:
cd core && cargo test # Rust core: movegen, PGN tree, SQLite (29 tests)
cd app && swift run StudioSmoke # end-to-end smoke incl. real Stockfish
cd app && swift run StudioApp # run the app from the CLIAn Xcode project is optional: brew install xcodegen && xcodegen -s app/project.yml.
Cutting a release: ./scripts/publish-release.sh v0.3.1 — it builds, signs,
notarizes and staples, refuses to publish anything Gatekeeper would reject,
and takes the release notes from the annotated tag's message. It runs on a
machine holding the Developer ID key, not on a runner; CI only tests.
- Saving normalizes your PGN. DC Studio re-serializes the whole file on
save: content (moves, variations, comments, headers) is preserved —
round-trip fidelity is test-covered — but formatting will differ from the
original. A
.pgn.bakof the pre-session file sits alongside. - Alpha software, tested primarily by its author. Rough edges are tracked in docs/ROADMAP.md; the architecture lives in docs/ARCHITECTURE.md and the notation-panel design in docs/NOTATION-VIEW.md.
GPLv3 — see LICENSE. DC Studio stands on GPL shoulders: Stockfish (bundled engine), shakmaty (move generation), and the Merida piece set by Armando Hernandez Marroquin.
The released DMG ships the Stockfish binary as-is; its corresponding source lives at https://github.com/official-stockfish/Stockfish (the exact version is named in each release's notes). The corresponding source for DC Studio itself is this repository at the release's tag.
