It’s an image puzzle.
Your goal is to reveal the hidden pixel art image.
You are guided in that task by the numbers around the board.
The numbers show how many cells should be filled in a given row.
For example, in a row like this you should fill four cells:
| 4 |
|
|||||||
|---|---|---|---|---|---|---|---|---|
| 4 |
|
|||||||
|---|---|---|---|---|---|---|---|---|
Try it - tap the squares below.
And in a row like this you should fill one cell:
| 1 |
|
|||||||
|---|---|---|---|---|---|---|---|---|
But wait: which one? We don’t know yet.
This is a very important technique: only fill cells when you’re certain; no guessing.
In our case, we could fill one cell in four different ways:
| 1 |
|
|||||||
|---|---|---|---|---|---|---|---|---|
| 1 |
|
|||||||
|---|---|---|---|---|---|---|---|---|
| 1 |
|
|||||||
|---|---|---|---|---|---|---|---|---|
| 1 |
|
|||||||
|---|---|---|---|---|---|---|---|---|
We’d have to guess the correct one.
If our guess is wrong, we’d encounter inconsistencies later on.
Let’s not do that.
Instead, we search for a different row where we don’t have to guess.
All rules that apply to rows, apply to columns too.
| 4 | |||||
|---|---|---|---|---|---|
|
|
|||||
| 4 | |||||
|---|---|---|---|---|---|
|
|
|||||
When there are two or more numbers, this means there will be two or more groups of filled cells.
And that they will be separated by at least one empty cell. Like this:
| 2 | 1 |
|
|||||||
|---|---|---|---|---|---|---|---|---|---|
| 2 | 1 |
|
|||||||
|---|---|---|---|---|---|---|---|---|---|
Try solving the puzzle below:
We mark cells that will definitely be empty with a cross.
For example, if we saw a zero, we could mark all cells as empty.
| 0 |
|
|||||||
|---|---|---|---|---|---|---|---|---|
| 0 |
|
|||||||
|---|---|---|---|---|---|---|---|---|
Or if we saw a row where all required cells have already been filled.
Then we could mark remaining cells as empty.
| 1 |
|
|||||||
|---|---|---|---|---|---|---|---|---|
| 1 |
|
|||||||
|---|---|---|---|---|---|---|---|---|
Or if we saw a completed group - then we could put a ‘cross’ at each of its ends1.
| 2 | 2 |
|
|||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2 | 2 |
|
|||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
That’s all of the basic techniques; you’re ready to solve a nonogram!
Give it a try below if you want.
Tap to fill a cell, drag to fill multiple cells, crosses will be inserted for you automatically.
Let’s try one more.
You can now place crosses yourself too.
Use the button below to toggle between filling cells and placing crosses.
Congrats, you’re now familiar with nonograms!
What follows is a list of nonogram solving techniques and more examples.
Browsing this list should be helpful for players of all levels.
For even more puzzles, download my app.
Or find more nonograms elsewhere2.
| 4 |
|
|||||||
|---|---|---|---|---|---|---|---|---|
| 4 |
|
|||||||
|---|---|---|---|---|---|---|---|---|
When the clue number equals the number of cells
Then we can fill all the cells.
| 4 |
|
|||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 4 |
|
|||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
When the clue number equals the number of non-crossed cells
Then we can fill all remaining cells.
| 2 | 1 |
|
|||||||
|---|---|---|---|---|---|---|---|---|---|
| 2 | 1 |
|
|||||||
|---|---|---|---|---|---|---|---|---|---|
When clue numbers and required empty spaces equal the number of cells
Then we can fill all the cells
| 0 |
|
|||||||
|---|---|---|---|---|---|---|---|---|
| 0 |
|
|||||||
|---|---|---|---|---|---|---|---|---|
When there should be no filled cells
Then we can put crosses in all cells
| 1 |
|
|||||||
|---|---|---|---|---|---|---|---|---|
| 1 |
|
|||||||
|---|---|---|---|---|---|---|---|---|
When all required cells have already been filled
Then we can put crosses in remaining cells
| 2 | 2 |
|
|||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2 | 2 |
|
|||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
When one of the groups has already been filled
Then we can put crosses in cells next to that group
| 3 |
|
|||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 3 |
|
|||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
When there is insufficient space for a group
Then we can put crosses in that space
| 1 | 2 |
|
|||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 1 | 2 |
|
|||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
When there is insufficient space for a relevant group3
Then we can put crosses in that space
| 5 |
|
|||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 5 |
|
|||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
When there is one clue
And there are multiple filled cells
Then we can join these cells into a single group
| 2 | 2 |
|
|||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2 | 2 |
|
|||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
When there are two filled cells with an empty cell between them
And when joining filled cells cannot produce a valid solution
Then we can put a cross between these filled cells
| 3 | 1 |
|
|||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 3 | 1 |
|
|||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
When there is a filled cell next to a border
Then we can expand its group inward from the border
| 1 | 2 |
|
|||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 1 | 2 |
|
|||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
When there is a filled cell next to a crossed cell
Then we can expand its group in the opposite direction4
| 3 |
|
|||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 3 |
|
|||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
When we simulate expanding a cell group from a filled cell
And when some cells cannot be reached
Then we can put crosses in unreachable cells
| 4 |
|
|||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 4 |
|
|||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
When we simulate placing a cell group at furthest ends
And when the cells overlap
Then we can fill overlapping cells
| 3 | 1 |
|
|||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 3 | 1 |
|
|||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
When we simulate stacking multiple cell groups at furthest ends
And when the cells overlap
Then we can fill overlapping cells
This is a general concept, both a technique and a property of the game itself:
When in every valid solution some cells are filled
Then we can fill those cells
In a slightly reworded way, it works with crossed out cells too; that is:
When in every valid solution some cells are empty
Then we can cross those cells
These can be applied in a number of scenarios.
Sometimes the techniques described above will be simpler and perhaps a better fit.
In particular “overlapping” will often be easier to apply.
But in other cases examining all valid solutions will be a more flexible approach.
Let’s look at practical examples.
| 4 |
|
|||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 4 |
|
|||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 3 | 1 |
|
|||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 3 | 1 |
|
|||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 3 |
|
|||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 3 |
|
|||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 3 |
|
|||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 3 |
|
|||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
We could approach this as before and check all valid solutions:
| 1 | 3 |
|
|||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 1 | 3 |
|
|||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Alternatively, we could “split” the row alongside the crossed cell and look at valid solutions for each clue:
| 1 | 3 |
|
|||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 1 | 3 |
|
|||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 1 |
|
|||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 1 | 1 | 1 |
|
|||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 1 | 2 |
|
|||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 1 | 2 |
|
|||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2 | 3 |
|
|||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2 | 3 |
|
|||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2 | 3 |
|
|||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2 | 3 |
|
|||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2 | 1 |
|
|||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2 | 1 |
|
|||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Note that the fourth cell will either belong to the final
1 group (and then there will be no filled cells after
that), or to the first 2 group (in which case the group
would be expanded and the sixth cell would be empty to keep the group
separate). In both cases the sixth cell is empty and it is safe to put a
cross there.
Sometimes we don’t have enough information to find the next filled cell.
Like in this nonogram:
| 1 | 1 | 1 | 2 | 2 | 1 | 1 | ||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2 |
|
|||||||||||||||||||||||||||
| 3 | ||||||||||||||||||||||||||||
| 4 | ||||||||||||||||||||||||||||
We can use all of the earlier techniques and get to this state:
| 1 | 1 | 1 | 2 | 2 | 1 | 1 | ||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2 |
|
|||||||||||||||||||||||||||
| 3 | ||||||||||||||||||||||||||||
| 4 | ||||||||||||||||||||||||||||
But now we’re stuck. What next?
We can do placement testing.
We pick a cell:
| 1 | 1 | 1 | 2 | 2 | 1 | 1 | ||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2 |
|
|||||||||||||||||||||||||||
| 3 | ||||||||||||||||||||||||||||
| 4 | ||||||||||||||||||||||||||||
And we test what happens when we fill it.
| 1 | 1 | 1 | 2 | 2 | 1 | 1 | ||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2 |
|
|||||||||||||||||||||||||||
| 3 | ||||||||||||||||||||||||||||
| 4 | ||||||||||||||||||||||||||||
| 1 | 1 | 1 | 2 | 2 | 1 | 1 | ||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2 |
|
|||||||||||||||||||||||||||
| 3 | ||||||||||||||||||||||||||||
| 4 | ||||||||||||||||||||||||||||
| 1 | 1 | 1 | 2 | 2 | 1 | 1 | ||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2 |
|
|||||||||||||||||||||||||||
| 3 | ||||||||||||||||||||||||||||
| 4 | ||||||||||||||||||||||||||||
| 1 | 1 | 1 | 2 | 2 | 1 | 1 | ||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2 |
|
|||||||||||||||||||||||||||
| 3 | ||||||||||||||||||||||||||||
| 4 | ||||||||||||||||||||||||||||
| 1 | 1 | 1 | 2 | 2 | 1 | 1 | ||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2 |
|
|||||||||||||||||||||||||||
| 3 | ||||||||||||||||||||||||||||
| 4 | ||||||||||||||||||||||||||||
We ran into an error!
We see a cell that should both:
1 column clue, and2 row clue.This means that the original cell can’t be filled.
If it is then we run into an inconsistency; we just tested that.
So we can safely put a cross there.
| 1 | 1 | 1 | 2 | 2 | 1 | 1 | ||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2 |
|
|||||||||||||||||||||||||||
| 3 | ||||||||||||||||||||||||||||
| 4 | ||||||||||||||||||||||||||||
When we test filling a cell
And when we proceed with solving the puzzle
And when we run into an inconsistency
Then we can put a cross in the original cell
It also works with placing crosses.
When we test putting a cross in a cell
And when we proceed with solving the puzzle
And when we run into an inconsistency
Then we can fill the original cell
You can experiment with that puzzle in the practice section and continue solving it.
This is a special case of testing:
It’s testing alongside edges, while looking at related clues.
It’s useful because it’s fast and doesn’t take many steps.
Consider this nonogram:
| 2 | 2 | 2 | 1 | |||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2 |
|
|||||||||||||||||||
| 2 | ||||||||||||||||||||
| 1 | ||||||||||||||||||||
| 2 | ||||||||||||||||||||
Imagine we fill a cell along one of the edges:
| 2 | 2 | 8 | 8 | |||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 8 |
|
|||||||||||||||||||
| 8 | ||||||||||||||||||||
| 1 | ||||||||||||||||||||
| 2 | ||||||||||||||||||||
| 2 | 2 | 8 | 8 | |||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 8 |
|
|||||||||||||||||||
| 8 | ||||||||||||||||||||
| 1 | ||||||||||||||||||||
| 2 | ||||||||||||||||||||
| 2 | 2 | 8 | 8 | |||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 8 |
|
|||||||||||||||||||
| 8 | ||||||||||||||||||||
| 1 | ||||||||||||||||||||
| 2 | ||||||||||||||||||||
We ran into an inconsistency very quickly.
That’s because alongside edges there can be many opportunities to expand groups6.
So now we can safely put a cross in the original cell.
| 2 | 2 | 2 | 1 | |||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2 |
|
|||||||||||||||||||
| 2 | ||||||||||||||||||||
| 1 | ||||||||||||||||||||
| 2 | ||||||||||||||||||||
As an example, let’s continue with edge logic (even though at this point overlapping would be easier).
| 8 | 2 | 2 | 8 | |||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 8 |
|
|||||||||||||||||||
| 8 | ||||||||||||||||||||
| 1 | ||||||||||||||||||||
| 2 | ||||||||||||||||||||
| 8 | 2 | 2 | 8 | |||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 8 |
|
|||||||||||||||||||
| 8 | ||||||||||||||||||||
| 1 | ||||||||||||||||||||
| 2 | ||||||||||||||||||||
| 8 | 2 | 2 | 8 | |||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 8 |
|
|||||||||||||||||||
| 8 | ||||||||||||||||||||
| 1 | ||||||||||||||||||||
| 2 | ||||||||||||||||||||
We run into another inconsistency just as quickly - we could place another cross.
You can experiment with that puzzle in the practice section and continue solving it.
You’ve reached the end!
And you solved 0 out of 22 puzzles on this page.
I hope you enjoyed it, and that you’ll complete even more nonograms in future.
Happy solving!
Special thanks to reader Motor_Raspberry_2150 for providing examples about X+1 empties, minimal expansion, element size pinpointing and empty cells in all possible group matches.