Mode
Beginner to Hard
Random moves up through a short search. Hard is a modest club opponent.
Free chess · full rules
A complete game against a computer you can set from beginner to hard.
01 — Story
This chess board includes the standard rules: castling both ways, en passant, promotion, check, checkmate, stalemate, the fifty-move draw, and a draw when neither side has enough material.
Pick white or black and a level. Beginner plays a random legal move, which is useful while you learn how the pieces travel. Easy looks one move ahead, Medium two, and Hard four half-moves with extra attention to captures. Hard will punish a hanging piece. It is a patient opponent, not a master.
Tap a piece to light its squares, then tap the destination. The list under the board is standard notation. Undo removes your last move and the computer’s reply. The king glows red in check. Develop the minor pieces, castle, and look at what the other side attacks before you commit. Nothing is uploaded.
Choose a color and a level, tap one of your pieces, then tap a highlighted square. Undo if the idea was wrong.
Play
Mode
Random moves up through a short search. Hard is a modest club opponent.
Mode
Castling, en passant, promotion, stalemate, and the fifty-move rule.
Hands
| Input | Action |
|---|---|
| Tap a piece, then a square | Make a legal move |
| Undo | Take back your move and the reply |
Stills
A still captured from the live game in a headless browser.

Spec
Minimum
A current phone, tablet, or computer browser with JavaScript on. No download and no account.
Recommended
A recent Chrome, Edge, Firefox, or Safari window, and a stable connection the first time the page loads.
Questions
Hard searches a few moves ahead. It suits beginners and casual players, not experts.
Yes. Undo removes your last move and the computer’s answer.
Yes, along with en passant, promotion, stalemate, and the fifty-move rule.
Sources
Content source for this page: Facts checked against the live page at https://viralscopehub.com/chess/. Copy on this about page is original.. Edit the matching object in data.json and run node scripts/build.mjs.
Also free