Sudoku
Freshly generated 9×9 Sudoku with a unique solution every time — play with keyboard or tap numpad.
Arrow keys / WASD to move · 1–9 to fill · N for pencil notes · Backspace to erase · Z to undo
Game options
Medium · conflicts on · auto-clear notes
How to Play Sudoku in 3 Steps
Pick a difficulty
Easy removes ~36 numbers, Medium ~46 and Hard ~52. Every puzzle is generated on the spot and verified to have a single solution.
Fill & take notes
Click a cell (or move with the arrow keys) and press 1–9. Toggle Notes (N) to jot candidate digits inside a cell; placing a number automatically clears that digit’s notes in its row, column and 3×3 box.
Complete all 81 cells
Duplicate digits in any row, column or box glow red so you can spot mistakes early. Fill every cell without conflicts to solve the puzzle.
Controls & rules
| Action | Keyboard | Mouse / Touch |
|---|---|---|
| Move selection | ← → ↑ ↓ or W A S D | Tap any cell |
| Enter a digit | 1–9 | Tap 1–9 on the number bar |
| Toggle pencil notes | N | Tap Notes |
| Clear cell | Backspace / Delete / 0 | Tap Erase |
| Undo | Z | Tap Undo |
Sudoku — Frequently Asked Questions
Does every puzzle have a unique solution?
Yes. The generator builds a complete valid grid and only removes a clue if the solver confirms there is still exactly one way to finish the board.
Are there any “guess” moves required?
Easy and Medium puzzles are solvable with standard single-candidate and hidden-single logic. Hard puzzles may require pairs or box-line reductions, never blind guessing.
What does highlighting show?
Selecting a cell softly tints its row, column and 3×3 box, and highlights every other cell holding the same digit so you can scan across boxes quickly.
Can I play without conflict highlighting?
Open Game options and untick “Highlight conflicts” if you want a pure paper-style solve; the board is still checked when the last cell is filled.
Is anything uploaded or tracked while I play?
No. The game runs entirely in your browser tab. Your best score or win tally is saved only in your browser’s localStorage and cleared when you press Reset.