This is a nonogram
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.
Basic moves
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.
- If you use iPhone, iPad, or a Mac
-
Get my app, Nonoverse. It has all you
need: offline puzzles, undo, dark mode, 200+ levels, different puzzle
types. No ads or accounts. Download from the App Store:
List of techniques
- Fill row
- Fill space
- Fill row with multiple groups
- Crosses in an empty row
- Crosses in a completed row
- Crosses around completed groups
- Crosses in narrow spaces
- Crosses in narrow spaces with multiple groups
- Group joining
- Group splitting
- Group expanding next to border
- Group expanding next to crossed cell
- Crosses in unreachable cells
- Overlapping
- Overlapping multiple groups
- Examining all valid solutions
- Testing
- Edge logic
- Note
- Each practice section assumes understanding of the accompanying technique and all earlier techniques.
Fill row
| 4 |
|
|||||||
|---|---|---|---|---|---|---|---|---|
| 4 |
|
|||||||
|---|---|---|---|---|---|---|---|---|
When the clue number equals the number of cells
Then we can fill all the cells.
Fill space
| 4 |
|
|||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 4 |
|
|||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
When the clue number equals the number of non-crossed cells
Then we can fill all remaining cells.
Fill row with multiple groups
| 2 | 1 |
|
|||||||
|---|---|---|---|---|---|---|---|---|---|
| 2 | 1 |
|
|||||||
|---|---|---|---|---|---|---|---|---|---|
When clue numbers and required empty spaces equal the number of cells
Then we can fill all the cells
Crosses in an empty row
| 0 |
|
|||||||
|---|---|---|---|---|---|---|---|---|
| 0 |
|
|||||||
|---|---|---|---|---|---|---|---|---|
When there should be no filled cells
Then we can put crosses in all cells
Crosses in a completed row
| 1 |
|
|||||||
|---|---|---|---|---|---|---|---|---|
| 1 |
|
|||||||
|---|---|---|---|---|---|---|---|---|
When all required cells have already been filled
Then we can put crosses in remaining cells
Crosses around completed groups
| 2 | 2 |
|
|||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2 | 2 |
|
|||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
When one of the groups has already been filled
Then we can put crosses in cells next to that group
Crosses in narrow spaces
| 3 |
|
|||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 3 |
|
|||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
When there is insufficient space for a group
Then we can put crosses in that space
Crosses in narrow spaces with multiple groups
| 1 | 2 |
|
|||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 1 | 2 |
|
|||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
When there is insufficient space for a relevant group3
Then we can put crosses in that space
Group joining
| 5 |
|
|||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 5 |
|
|||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
When there is one clue
And there are multiple filled cells
Then we can join these cells into a single group
Group splitting
| 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
Group expanding next to border
| 3 | 1 |
|
|||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 3 | 1 |
|
|||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
When there is a filled cell next to a border
Then we can expand its group inward from the border
Group expanding next to crossed cell
| 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
Crosses in unreachable cells
| 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
Overlapping
| 4 |
|
|||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 4 |
|
|||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
When we simulate placing a cell group at furthest ends
And when the cells overlap
Then we can fill overlapping cells
Overlapping multiple groups
| 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
Examining all valid solutions
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.
Quasi overlapping
| 4 |
|
|||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 4 |
|
|||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
Quasi overlapping, multiple groups
| 3 | 1 |
|
|||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 3 | 1 |
|
|||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Quasi unreachable cells
| 3 |
|
|||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 3 |
|
|||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Quasi overlapping and group expansion
| 3 |
|
|||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 3 |
|
|||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Quasi overlapping, multiple groups and expansion5
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 |
|
|||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Element size pinpointing
| 1 |
|
|||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 1 | 1 | 1 |
|
|||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
X+1 empties
| 1 | 2 |
|
|||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 1 | 2 |
|
|||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
X+1 empties, larger
| 2 | 3 |
|
|||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2 | 3 |
|
|||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Minimal expansion
| 2 | 3 |
|
|||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2 | 3 |
|
|||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Empty cells in all possible group matches
| 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.
Testing
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:
- be empty, because of a
1column clue, and - be filled, because of a
2row 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.
Edge logic
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.
Epilogue
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!
- If you use iPhone, iPad, or a Mac
-
Get my app, Nonoverse. It has all you
need: offline puzzles, undo, dark mode, 200+ levels, different puzzle
types. No ads or accounts. Download from the App Store:
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.