Chess.pro
Sign in

Make the board your own.

Your device preferences, your way of playing.

Board & pieces

Board theme

Comfort & accessibility

Saved on this device. The board supports keyboard focus, labeled squares, tap-to-move, and drag-and-drop. Reduced-motion preferences are respected automatically.

Not available

Premoves, three-check, king of the hill, Chess960, and Crazyhouse are not enabled: only fully implemented standard chess is offered.

Account and profile settings →

What’s live. What isn’t.

No fake players, no invented ratings, no simulated engine moves.

Working in this version

  • Standard chess.js rules, SAN, FEN, PGN, replay and local clocks.
  • Genuine Stockfish 18 WASM loaded from its version-pinned distribution, skill levels, hints and evaluation.
  • Verified-signup accounts, password login, Google, magic links and recovery.
  • Private, account-scoped saved games, analyses and training progress.
  • Verified checkmate puzzles, interactive lessons and opening lines.
  • Realtime lobby presence and persistent study invitations.
  • Human and engine practice moves call a server-side legal-move validator, with a disclosed local fallback.

Unavailable, not simulated

  • Quick matchmaking, online games, friend game challenges, rematches and Daily games.
  • Synchronized server clocks, reconnect adjudication, authoritative results and draw offers.
  • Ratings, rating graphs, verified profiles, achievements and leaderboards.
  • Rated puzzles, puzzle battles and large-scale tactics feeds.
  • Tournaments, pairings, club competitions and winner notifications.
  • Friends, follows, messages, reporting, blocking and fair-play enforcement.
  • Self-service account deletion and profile photo uploads.

Storage: account data is kept in the built-in key-value store, not a relational database. A managed database is a Pro feature. The owner can upgrade to Pro or connect their own Supabase project for free from the Database panel. Keys are limited to 100 KB; the shared allowance is 600 reads and 180 writes per minute.

Required for competitive play: deploy a server-owned, transactional game and rating ledger, an authenticated realtime gateway, atomic move/version checks, a matchmaking queue, server clock adjudication, rate limits, and a moderation service. A private Supabase backend with RLS and trusted RPC/Edge Functions is one possible route. Never expose a service-role key in this browser.

Engine: Stockfish’s single-threaded lite WASM build loads from the version-pinned npm distribution through jsDelivr and needs no engine API key. Its first load requires a connection; an engine error is shown rather than replaced with random moves. Stockfish is GPL-3.0; preserve its source and license when distributing the app.

Fair play: all currently playable games are unrated practice. Local clocks and browser state are not trusted for competitive results. The server validator checks move legality only, not game ownership or rated outcomes.

Check this browser

Run actual rules, puzzle-solution, and Stockfish calculation checks here. This downloads and starts the genuine engine; results are never pre-filled.

Testing limits: automated rules tests are supplied. Real two-device matchmaking, device-specific browser testing, production abuse testing, and authentication emails must be verified in the deployed environment; they have not been claimed as passed here.

⚡Make an app like this, free