Box Pusher
Game by Steven Lambert (straker) · Licensed under CC0-1.0 · Source
© 2026 Pixel Arena · Back to all games
About Box Pusher
Box Pusher is a warehouse-puzzle game where you push boxes onto target squares. The character occupies one tile on a grid. Boxes are scattered around the level. Target squares are marked with a small dot. Your job is to push every box onto a target. The level ends when each target has a box on it.
The format is the most copied puzzle in the history of computer games. The original was published in 1981 by Hiroyuki Imabayashi for a Japanese magazine, and dozens of clones have appeared since. The mechanic is simple: walk into a box to push it. You can only push, never pull. Boxes only move one tile per push. If a box is up against a wall and you push toward the wall, the box does not move and neither do you.
The fact that you cannot pull is what makes the puzzle hard. Push a box into a corner and you cannot retrieve it. Push a box against a wall when you needed to push it sideways and you have ruined the level. There is no undo in this version, so a wrong push usually means resetting the level.
Pixel Arena's Box Pusher is straker's CC0 implementation. The single level included is small enough to solve in a few minutes if you read it correctly. Attribution and source link are on the game page footer. The implementation is around two hundred and fifty lines of code.
Controls are arrow keys for movement on desktop, on-screen direction buttons on touch. There is no rotation, no jump, no special move. You walk one tile at a time. The character cannot occupy the same tile as a box, so walking into a box pushes it.
The screen shows the entire level at once. There is no scroll, no fog of war, no hidden information. You can see all the boxes and all the targets. The puzzle is in figuring out the order.
Strategy starts with target prioritization. Identify which boxes can only be pushed onto specific targets, then solve those first. A box near a corner of the room often has only one accessible target. Solve the constrained ones first because they limit your future moves the least.
The classic mistake is pushing a box into a corner. Corners are dead zones. Once a box is in a corner, it cannot be moved unless you can stand on the diagonal, which on a grid you cannot. So a box wedged into a corner is stuck. The fix is to never push into a corner unless that corner is itself a target square.
Another habit is to count moves before you commit. Each push has consequences for the rest of the level. A push that solves one target might block your access to a different target. A push that just shifts a box without targeting anything wastes the move and possibly the level. Pause before each push and ask: does this advance the solve, or does it close off a future option?
The character's position is also a constraint. You can only push from the side opposite the direction you want to push. To push a box right, you must be standing to its left. If you have already passed the box on its left side, you have to navigate around to get to that side again. Path planning matters.
There is no undo in this implementation. You can reset the entire level with a single button if you get stuck. Resetting is fine. Most levels require two or three attempts before the player figures out the right sequence.
The single level in this version is the introductory puzzle from the genre. It is solvable in under twenty pushes by an experienced player. A first-time solver might take fifty pushes through trial and error. The point is the figuring-out, not the speed. Once you have solved it, the mechanic stays interesting because the same logic applies to every other Box Pusher level you ever encounter.