Clear the mines! Expose squares one at a time by clicking on them. If the square you click on is vacant, you'll get to see how many of its neighbors have mines in them (0 through 8); but if the square has a mine in it, all the mines will explode.

Shift-click (or right-click) on a square to flag it as a suspected mine. Do it again to mark it as questionable, and again to clear the mark. When you've exposed all the vacant squares, you win. If a mine explodes, you lose. Click on the face to start a new game.

The left-hand counter shows the number of mines less the number of squares that you've flagged (correctly or not).

The version on this page is 8 by 8 with 10 mines. See also the intermediate (16 by 16 with 40 mines) and expert (30 by 16 with 99 mines) versions.

This program is written in Javascript, by Andrew Birrell. You are welcome to read its source code. Use at your own risk!