mscroggs.co.uk
mscroggs.co.uk

subscribe

Blog

 2025-06-08 
This week, Joel Riley's Every 5×5 Nonogram website has been doing the rounds. The website includes every nonogram on a 5 by 5 grid that's solvable without using trial-and-error, and anyone who visits the site can help to solve them all. At the time of writing, around a quarter of the puzzles have been solved, so if you want to be part of solving them you'll need to be a bit quick. Be warned though, solving them can be addictive.
For the uninitiated, a nonogram is a puzzle where you have to colour in some of the squares so that the blocks of coloured squares in each row and column have the sizes given. For example, this nongram:
... has this solution:
... because the first column contains one uninterrupted block of 5 black sqaures (5); the second column contains two non-adjacent blocks of 1 black square (1 1); and so on. If a row or column is empty, 0 is written in as its clue rather than leaving it blank.
After solving quite a few 5 by 5 nonograms, I started to wonder if I could make solvable nonograms that represented every letter of the alphabet.

Making letters

Making an alphabet of nonograms is harder than just drawing each letter, as not all 5 by 5 nonograms have a unique solution. For example, my first attempt to draw the letter X looked like this:
But this nonogram has a lot of solutions, including:
Checking that a 5×5 nonogram has a unique solution isn't too hard—you can do this check by trying to solve it then seeing if you get to a point where there's more than one way to finish—but it would be quite time consuming to do these for all 26 letters, so I wrote a short Python script to do the checking for me. After a few minutes of tweaking some of the letters, I had the alphabet.

Making words

Now that I had a nonogram for each letter of the alphabet, I had an idea: I could use them to make wider nonograms (with a 0 column between them to prevent the letters touching). Unfortunately, if two 5×5 nonograms both have unique solutions, it doesn't necessarily follow that the wider nonogram made by putting them together has a unique solution. For example, take the nonograms that were my first candidates for R and W:
There two nonograms both have a unique solution, but if you make a 5×11 nonogram by placing them next to each other with a 0 column between them, you get a nonogram with multiple solutions:
So my first attempt at the alphabet didn't give me a set of nonograms that I could use to spell words. All was not lost though: after a bit of thinking I came up with an adjusted alphabet that can be used to spell words and a justification for why any nonogram words built by putting these letters in a rows will have a unique solution. These are the letters I ended up with:
If you'd like to make a nonogram for a word or your name, write it in the box below. You can click on the nonogram that is creates to make it larger:

Why does this alphabet always make solvable words?

To show that this alphabet will always make solvable words, I first looked at every column of every letter. For many column clues, there are squares that must always be black or always be white: for example, if the column clue is 5, the squares must all be black; or if a column clue is 3, the middle square in that column must be black. Looking at my alphabet, you can show that the black and white squares in this diagram must be black or white, while the grey squares could still be either:
Next, suppose that the letter we're looking at is the leftmost letter in our nonogram, and consider the row clues. We have to be a little bit careful here: we know that each row clue starts with the clue for the letter, but we don't know which numbers come next: it could be possible to fit more or fewer of the row's black squares into the first letter. Looking at the row clues carefully for each letter, we can add some more squares to our squares that we're certain are black or white (if our letter is leftmost):
We can now take another look at the columns using this new information, leading to:
And another look at the rows then the columns once again leave no grey squares:
Overall, this means that given any nonogram built from my alphabet, you can always solve the leftmost letter. But if you then delete the first letter, you can solve for the second letter (as it's now the first letter in the shorter nonogram). Then you can solve the third letter, and so on until you've shown you can solve the full nonogram.
×4      ×7            ×1      ×3
(Click on one of these icons to react to this blog post)

You might also enjoy...

Comments

Comments in green were written by me. Comments in blue were not written by me.
@Dave Budd: I would guess that it doesn't unless I got very lucky, but I should write a script and check...
Matthew
                 Reply
Nice argument for always solvable! I'm wondering if it also applies on a "2D" message, i.e. multiple rows of letters
Dave Budd
                 Reply
If you did numbers as well, you could make a meta nonogram, with the completed nonogram having numbers along the top and left, and gridlines. Or it could be a solved nonogram!
Boltí
×1      ×1           Reply
 Add a Comment 


I will only use your email address to reply to your comment (if a reply is needed).

Allowed HTML tags: <br> <a> <small> <b> <i> <s> <sup> <sub> <u> <spoiler> <ul> <ol> <li> <logo>
To prove you are not a spam bot, please type "g" then "r" then "a" then "p" then "h" in the box below (case sensitive):

Archive

Show me a random blog post
 2026 

May 2026

World Cup stickers 2026

Apr 2026

A new puzzle every day
Mixing Wordle with other games

Feb 2026

Christmas (2025) is over
 2025 

Dec 2025

Christmas card 2025

Nov 2025

Christmas (2025) is coming!

Sep 2025

The partridge puzzle

Aug 2025

TMiP 2025 puzzle hunt

Jun 2025

A nonogram alphabet

Mar 2025

How to write a crossnumber

Jan 2025

Christmas (2024) is over
Friendly squares
 2024 

Dec 2024

A regular expression Christmas puzzle
Christmas card 2024

Nov 2024

Christmas (2024) is coming!

Feb 2024

Zines, pt. 2

Jan 2024

Christmas (2023) is over
 2023 
▼ show ▼
 2022 
▼ show ▼
 2021 
▼ show ▼
 2020 
▼ show ▼
 2019 
▼ show ▼
 2018 
▼ show ▼
 2017 
▼ show ▼
 2016 
▼ show ▼
 2015 
▼ show ▼
 2014 
▼ show ▼
 2013 
▼ show ▼
 2012 
▼ show ▼

Tags

graphs talking maths in public game of life rust approximation regular expressions crossnumber tennis puzzles christmas gather town standard deviation chalkdust magazine wave scattering quadrilaterals probability mathsteroids misleading statistics datasaurus dozen data electromagnetic field polynomials oeis warwick noughts and crosses video games reuleaux polygons dates boundary element methods hats correlation palindromes machine learning crochet chess asteroids tmip martin gardner wordle arithmetic logs triangles sorting raspberry pi geogebra binary cambridge countdown logo statistics hannah fry menace cross stitch bubble bobble golden ratio trigonometry convergence simultaneous equations kenilworth dinosaurs python national lottery curvature pokémon wordle mathslogicbot go phd propositional calculus reddit thirteen newcastle manchester map projections chebyshev sound live stream platonic solids pizza cutting ucl manchester science festival bluesky errors anscombe's quartet nonograms preconditioning kings mathsjam dragon curves computational complexity youtube bempp runge's phenomenon football data visualisation matrix of cofactors zines accuracy programming exponential growth pokémon finite group pi approximation day bots nine men's morris bodmas numerical analysis golden spiral christmas card arrangement puzzles pac-man friendly squares crosswords mean databet news latex braiding fonts alphabets frobel recursion determinants craft european cup graph theory stickers the aperiodical harriss spiral london underground folding tube maps geometry people maths weather station matt parker inverse matrices hyperbolic surfaces stirling numbers 24 hour maths realhats final fantasy error bars matrices partridge puzzle royal baby numbers weak imposition flexagons turtles advent calendar pythagoras interpolation fractals game show probability guest posts coins light rugby matrix multiplication ternary sobolev spaces inline code london signorini conditions rhombicuboctahedron speed tetris plastic ratio books pascal's triangle gaussian elimination coventry fence posts captain scarlet draughts crossnumbers folding paper sport games logic squares edinburgh estimation hexapawn php finite element method pi wool big internet math-off javascript matrix of minors a gamut of games royal institution radio 4 dataset world cup gerry anderson

Archive

Show me a random blog post
▼ show ▼
© Matthew Scroggs 2012–2026