Free Online Sokoban Solver

Solve small Sokoban levels with push routes and movement steps.

This Sokoban Solver accepts standard Sokoban text levels and a manual grid editor. Enter walls, floor, player, boxes, targets, boxes on targets, and the player on a target, then search locally for a feasible push route with step-by-step boards, push counts, total movement counts, and clear search-limit status.

Sokoban Solver — enter a text level or edit the grid

Paste a standard Sokoban character map or build one in the grid editor. The Sokoban Solver runs a browser-side worker, checks dead corners, removes repeated states, and reports whether a route was found, proven impossible within the explored state space, or simply not found within the current browser budget.

Sokoban Solver input

The first release supports up to 12×12 boards, 6 boxes, and a browser-side node budget. A larger budget may find harder routes but can take longer.

Use # for wall, space for floor, @ for player, $ for box, . for target, * for box on target, and + for player on target. Keep leading spaces if your level shape needs them.

Sokoban Solver character format

# Wall
space Floor
@ Player
$ Box
. Target
* Box on target
+ Player on target

Sokoban Solver grid editor

Pick a tile, then tap cells. The text map updates automatically.

Grid editor tiles

Scope boundary: this Sokoban Solver does not read screenshots, import Steam saves, browse online level libraries, upload or share user levels, control third-party games, or promise optimal routes for unlimited-size boards.

Performance boundary: the current browser release is intended for boards up to 12×12 with no more than 6 boxes. If the worker reaches the node or time budget, the result says no solution was found within the browser budget instead of pretending the level is unsolvable.

Sokoban Solver results

Solvable
Not checked
Pushes
0
Total moves
0
Enter or edit a Sokoban level to see solvability, box-target status, dead-corner warnings, unrecoverable box positions, push count, total movement count, direction sequence, and animated boards.

Boxes / targets

Not checked

Search status

Not checked

Dead-corner warnings

Not checked

Unrecoverable box positions

Not checked

Direction step sequence

Lowercase means player walking; uppercase means a box push.

Step-by-step Sokoban Solver animation

Feasible Sokoban Solver result

A copy-ready solution summary will appear here after solving.

Share this Sokoban Solver

Try this free Sokoban Solver to search push-box routes, inspect dead-corner warnings, and see browser-budget status without uploading levels. #SokobanSolver #PuzzleTools

Sokoban Solver workflow for text maps and grid editing

The Sokoban Solver stays focused on Sokoban rules: boxes, targets, player reachability, dead squares, and push-route search.

Sokoban Solver text input

Paste a standard Sokoban map using #, @, $, ., *, and +, or build the same board with the grid editor before searching.

Sokoban Solver interface with a text level beside a small wall, box, player, and target grid

Sokoban Solver push route

When a solution is found, the result shows push count, total movement count, direction symbols, and every board after each push.

Sokoban Solver result showing a route sequence, push statistics, and a board animation

Sokoban Solver search limits

Dead-corner checks, repeated-state pruning, and node budgets keep the browser responsive and make budget-limited results explicit.

Sokoban Solver diagnostics with dead-corner warnings and browser search budget status

How the Sokoban Solver works

The Sokoban Solver combines Sokoban-specific validation, reachability, static dead-corner checks, and browser-side state search.

Sokoban Solver parses real board symbols

The parser separates base floor, walls, targets, player position, and box positions, including * for a box already on a target and + for the player on a target.

Sokoban Solver searches pushes

For each state, the worker computes where the player can walk, expands legal box pushes, stores repeated states, and keeps the exact walking moves before each push.

Sokoban Solver reports limits honestly

If the queue empties, the level is reported unsolvable in the explored rules. If node or time limits stop the worker first, the result is budget-limited, not falsely marked impossible.

Sokoban Solver input guide

Use these tips to prepare a small Sokoban Solver board before running the browser search.

01

Format the Sokoban Solver level

Enter the level row by row. Walls are #, floor is a space, the player is @, boxes are $, targets are ., boxes on targets are *, and the player on a target is +.

  • Keep the level within 12 rows and 12 columns
  • Use exactly one player and no more than 6 boxes
02

Check Sokoban Solver warnings

Before search, review box and target counts plus dead-corner warnings. A box already stuck in a non-target corner is usually unrecoverable.

  • Extra targets are fine, but every box needs a reachable target
  • Dead-corner warnings are diagnostics, not image recognition
03

Read the Sokoban Solver route

A found result includes a direction string where lowercase letters are player walks and uppercase letters are pushes, plus board frames after every push.

If the result says no route was found within the browser budget, raise the node budget carefully or simplify the level. That message is different from proven unsolvable.

Sokoban Solver FAQ

Common questions about Sokoban Solver input symbols, push routes, deadlocks, browser limits, and privacy.

What Sokoban text format does this Sokoban Solver support?

The Sokoban Solver supports the standard small-level character format: # wall, space floor, @ player, $ box, . target, * box on target, and + player on target.

Does the Sokoban Solver always find the optimal solution?

No. The first release focuses on feasible browser-side routes for small boards. It uses a priority search with dead-corner checks and repeated-state pruning, but it does not promise globally optimal routes for unlimited Sokoban levels.

Why does the Sokoban Solver say no solution was found within the browser budget?

That status means the Web Worker reached the current node or time limit before finding a route. It is deliberately different from a proven no-solution result.

Can the Sokoban Solver read a screenshot or import a game save?

No. This Sokoban Solver does not do image recognition, screenshot parsing, Steam save import, online level-library browsing, level sharing, or automatic control of third-party games.

What are dead-corner warnings in the Sokoban Solver?

A non-target square with blocked perpendicular sides can trap a box forever. The Sokoban Solver marks those static dead corners and separately reports boxes already sitting on unrecoverable positions.

Are my Sokoban Solver levels uploaded?

No. The Sokoban Solver parses, validates, searches, and renders results in front-end browser JavaScript. It does not need external data or a backend service.

Try another tool after the Sokoban Solver

SolverBox keeps the Sokoban Solver separate from Rush Hour, Sliding Puzzle, and Water Sort because each puzzle has different input, deadlock rules, and search intent.

After checking a push-box route, browse more free puzzle solvers for number, logic, word, and game-specific help.

No account required — enter a small Sokoban level and solve it in your browser.