# Sudoku

> A classic Sudoku with pencil notes, undo, explained hints, and saved local progress.

Fill a 9×9 grid so each row, column, and 3×3 box contains the digits 1–9. Puzzles are generated in your browser by a Rust and WebAssembly engine and have one solution.

**Stack:** Rust, WebAssembly, TypeScript, HTML

**Playing requires JavaScript and WebAssembly. The rules remain available as text.**

## How to play Sudoku

1. Enter digits 1–9 so every row, column, and 3×3 box contains each digit once. The original clues cannot be changed.
2. Use pencil notes to record possible digits in an empty cell. Notes are manual and do not affect your best time eligibility.
3. Highlighted conflicts show repeated digits in a row, column, or box; they do not reveal every incorrect entry. Undo reverses your latest entry or note change.
4. A hint first explains a step, then lets you apply it. Reading a hint marks the puzzle as assisted, even if you close it or undo the change. Only completed puzzles without hints qualify for a best time.

Easy starts with 42 clues, Medium 35, and Hard 29. The solving challenge varies between puzzles.

Select a cell, then use the number pad or keys 1–9. Arrows move between cells; Home and End move to a row's edges. Backspace or Delete clears a cell. N toggles pencil notes; Ctrl/Cmd+Z undoes. Leaving the game pauses the timer.

Your puzzle, pencil notes, elapsed time, hint use, and best unassisted times stay in this browser when local storage is available. Clearing site data removes them. Saved puzzles resume paused; undo history is not saved.

The grid supports keyboard navigation and announces coordinates, clues, entries, notes, and conflicts. Conflicts also have a visible mark. The timer pauses when the game is hidden or loses focus.

## Play

[Play Sudoku](/en-US/games/sudoku)

[Back to games](/en-US/games)
