Water Sort Solver

Water Sort Solver Tool

Paste water sort puzzle JSON, preview the bottle layout, and generate step-by-step water sort solver moves for color sort and water puzzle levels.

JSON

Paste Water Sort Level JSON

No JSON yet? Open the Water Sort Level Editor first, or write it by hand. Each inner array is one bottle: the first value is the bottom layer, the last value is the top layer. Bottles do not need to be full, so ["red"] means one layer and ["red","blue","green"] means three layers. For a standard 4-layer puzzle, each color should appear exactly four times.

Preview

Initial Bottle Layout Preview

Moves

Water Sort Solver Steps

Load valid level JSON to preview the puzzle.

FAQ

Water Sort Solver Notes

Why does the solver sometimes avoid empty bottles?

In many water sort puzzle games, an extra empty bottle is an ad bottle or reward bottle. Because of that, this water sort solver first tries to solve the original JSON level with the bottles already visible. It may use empty bottles when they help, but it does not treat them as free space to waste.

Does the solver still support extra empty bottles?

Yes. If the original color sort level cannot be solved, the solver retries with one extra empty bottle and then two extra empty bottles. When that fallback is used, the answer explains that the solution requires an extra bottle.

What strategy does the algorithm use?

The solver uses multiple passes. Small levels first use breadth-first search so the result is close to the shortest move list. Larger JSON levels can explode into too many states, so the tool falls back to heuristic depth-first search that prioritizes completing colors, merging matching top layers, revealing buried colors, and only then using empty bottles as buffers.

Why can an empty-bottle route be longer?

An empty bottle is useful when it reveals a blocked color or creates room for a merge. But pouring into an empty bottle and later pouring back can add extra moves. For some levels, the best water puzzle solver route is to merge directly inside half-filled bottles instead of using every empty bottle on the board.

What JSON format should I paste?

You can paste the full Water Sort Level Editor export with positions and metadata. The preview can use those positions, then the input is converted into simple bottle JSON where each line is one bottle, such as [1, 4] or []. That simplified format is easier to inspect and edit before solving.