How to play Sokoban
Move the sailor around the dock and push every wooden crate onto a target ring. The water tiles act as walls: neither you nor a crate can enter them.
Four simple rules
- Move one square at a time. You can go up, down, left or right, never diagonally.
- Push from behind. Walk into a crate to push it one square in the same direction. The square beyond it must be empty floor or an empty ring.
- No pulling, no crate trains. Walking away does not pull a crate after you. Two crates in a row cannot be pushed together.
- Fill every ring. Each target needs one crate. The sailor does not need to reach a special finish square.
Your first delivery
Think about the next push
Before moving a crate, make sure you can still stand on the side you will need next. A crate pushed into a corner without a ring cannot be pulled back out. A ring in a corner is fine: the crate belongs there.
If a crate is flagged as trapped, use Undo or Restart. Some blocked positions are more subtle than a corner. Hint searches your current position and tells you if no complete route exists.
Controls that let you rethink
- Keyboard: arrow keys or W, A, S, D move the sailor while focus is in the game. Press Z to undo or R to restart.
- Touch or mouse: use the direction buttons or tap a square directly beside the sailor. Tapping a distant square does not move you through obstacles.
- Undo: takes back one move, including a push. Move history is restored with a valid saved game.
- Restart: resets the current level. You can undo the restart in this tab until you make a new move.
- Hint: shows one executable move on a complete route from your position. Apply it or keep trying. If no route exists, it offers Undo or Restart. A search limit is reported separately and is not called an unsolvable puzzle.
Original levels, a gentle beginning
Crateharbor contains 18 original layouts. Practice begins with small, single-crate deliveries, then introduces two and three crates.
Every starting position can be completed. There may be several ways to complete a delivery; you do not have to follow one stored answer or meet a move limit to win.
Daily chooses a level at 00:00 UTC. Daily repeats every 18 days. Daily and Practice use the same finite original collection, with separate progress records. Your saved daily stays open across midnight and reopening; Play today asks before opening the new date. Earlier dated records are kept. Next puzzle starts a fresh practice level.
Your saved progress
Valid progress and settings are saved in this browser when storage is available. Saves do not sync between devices. The timer pauses while the page is hidden.
If a saved record is damaged or has an unsupported version, the original is kept and the game runs temporarily without replacing it. The S01 notice offers Retry or Reset saved progress. Reset asks for confirmation before replacing that record. An S02 notice means browser storage is unavailable or full; it explains the problem and offers Retry.
Play Sokoban →