What is a nonogram?
Cells: A nonogram is a logical puzzle consisting of a grid of cells that you fill or flag .
Hints: On the left and top of the grid are number hints that correspond to cells that must be filled in their respective line (row or column). Each hint consists of one or more ordered numbers, with each number corresponding to an unbroken chain of filled cells (note: a 0
hint indicates there are no filled cells in that line). Flags are used to indicate that the cell definitely isn't filled.
000,, 000,, 000,, |
1 1 |
2 |
2 1 |
1 |
0 |
1,1 |
|
|
|
|
|
1 |
|
|
|
|
|
3 |
|
|
|
|
|
1 |
|
|
|
|
|
1 |
|
|
|
|
|
000,, 000,, 000,, |
1 1 |
2 |
2 1 |
1 |
0 |
1,1 |
|
|
|
|
|
1 |
|
|
|
|
|
3 |
|
|
|
|
|
1 |
|
|
|
|
|
1 |
|
|
|
|
|
A nonogram grid starts out empty. Through logical deduction, you fill or flag cells in each line that you know must be filled or flagged. Doing so then leads to more and more cells that can be filled or flagged until the grid is complete. As such, you only need to look at each line in isolation to make progress on the grid.
Logic Examples
First, let's take a look a the third row hint: 3
. No matter where we could possibly place three adjacent filled cells on the line, we know that the middle cell must be filled. However, we can't say the same for any other cells on the line. Thus, we will fill in the middle cell and move on to search for other hints we can fill in.
000,, 000,, 000,, |
1 1 |
2 |
2 1 |
1 |
0 |
1,1 |
|
|
|
|
|
1 |
|
|
|
|
|
3 |
|
|
|
|
|
1 |
|
|
|
|
|
1 |
|
|
|
|
|
000,, 000,, 000,, |
1 1 |
2 |
2 1 |
1 |
0 |
1,1 |
|
|
|
|
|
1 |
|
|
|
|
|
3 |
|
|
|
|
|
1 |
|
|
|
|
|
1 |
|
|
|
|
|
Next, let's look at the third column hint: 2,1
. In this case, we have a cell already filled in that we need to work around. No matter how we try to place the 2,1
into the line (remembering that they must appear in that order), we find that there is only one possible configuration for them (given the already filled cell we started with).
000,, 000,, 000,, |
1 1 |
2 |
2 1 |
1 |
0 |
1,1 |
|
|
|
|
|
1 |
|
|
|
|
|
3 |
|
|
|
|
|
1 |
|
|
|
|
|
1 |
|
|
|
|
|
000,, 000,, 000,, |
1 1 |
2 |
2 1 |
1 |
0 |
1,1 |
|
|
|
|
|
1 |
|
|
|
|
|
3 |
|
|
|
|
|
1 |
|
|
|
|
|
1 |
|
|
|
|
|
Go play!
That's it; that's really all you need to know to solve nonograms! Go play some 5x5 grids to start picking up the logic. Use the left mouse button to fill cells and the right mouse button to flag cells. Puzzle Zap grids automatically finish when correctly completed.
If you get stuck and want some help, you can come back and review the "Line Solving Examples" section below.
Puzzle Zap Nonograms
Many nonograms elsewhere are used to display a picture when the grid is complete. However, Puzzle Zap nonograms are engineered to be very challenging rather than to create pictures. For this reason, we recommend starting with 5x5 grids and working your way up to larger grids.
All our grids are engineered to be solvable without guessing or searching for contradictions. In other words, you can always progress the grid by looking at each line individually. This is not always the case with nonograms elsewhere.
This section contains examples of all the logical solving tools you'll need to complete Puzzle Zap grids. For many players, it can be more fun to figure these out on their own. If you get stuck, it can be useful to reference these examples to see what you might be missing.
Notation
Ultimately, the way we all look for nonogram cells to fill in is by comparing a hint crowded left against the hint crowded right to see where there are overlaps and gaps. There are a lot of nuances within that, which is what makes solving nonograms fun and why we have a selection of examples here.
For any cells filled in by the same hint number on both the crowd left data and crowd right data, we know they must be filled in. In this example, we know we can fill in the fourth cell, because the 2
hint number fills in that cell in both the crowd left data and crowd right data.
Crowd Left:
Crowd Right:
=
Result:
When playing a full grid, we don't have the space to visualize the crowd left and crowd right data by filling cells, so instead we'll use marks. See the "Controls" section below for instructions on how to use marks while playing on Puzzle Zap grids.
Crowd Left:
Crowd Right:
=
Combined:
Filled:
While this crowding method makes it easy to visually see which cells should be filled, it doesn't provide all the tools needed to determine which cells can be flagged. Just because a cell is left empty by the crowding method doesn't mean it can be flagged. To flag a cell, you must look at the entire range of all the numbers within the crowded data to see if any number could possibly overlap that cell. If not, then the cell can be flagged. You can see this in some of the examples below.
Each example below consists of three parts: the starting grid state, the combined left crowd and right crowd data, and the resulting grid state. Some examples also have explanations where the logic is slightly less obvious.
Examples — Empty Lines
Examples — Prefilled Lines
In this example, even though the 7th cell isn't covered by a mark, the possible range of the 2
hint covers that cell, so we cannot flag the cell.
In this example, even though the crowd left and crowd right data makes the possible ranges of both the 2
hints cover the middle range, neither of them can fit in those spaces, so we can safely flag them.
In this example, we know that the 5
must be part of the first group of filled cells, so we can flag the 1st and 2nd cell, because the 5
cannot reach them. The 5
also cannot join together all the filled squares, or it would become a 6
. Thus, we can fill the 5th square, knowing it must be part of the 5
. We can see the 1
must either be the 8th cell or the 10th cell. It cannot be the 9th cell, because that would make it a 3
. No other possible number range span the 9th cell; thus, we can flag the 9th cell. Finally, we can fill in the 13th cell, knowing it must be part of the 3
.
Something as simple as adding one flag to the previous line's starting state produces drastically different crowding data and allows us to fill in the entire line.