No-Guess Nonogram Toolkit: pictures to print-ready puzzle book PDF
A puzzle can have exactly one solution and still stall the person solving it. You work through the clues, you fill in everything they force, and then no single row and no single column has anything left to say, with squares still blank. Getting further means reasoning across the whole grid at once, or, for most readers with a pencil in hand, trial and error. That is the usual reason one page in a puzzle book attracts a complaint that the puzzle is broken.
Most nonogram generators either check nothing, or check only that the solution is unique. Uniqueness is the weaker property, and it lets that page through.
This toolkit checks the stronger one. A puzzle is accepted only if working one row or one column at a time, and writing down only squares the clues force, finishes the entire grid. Nothing that fails is handed back to you, including puzzles that a determined expert could still crack with a harder technique. The point is that your reader never has to.
What you get
Point it at a folder of your own pictures and it returns one print-ready interior PDF: a title page, an instructions page, one puzzle per page with the grid as large as the page allows, heavier rules every five squares, and answer pages at the back. The binding-edge margin alternates between left and right pages. After writing the file it re-opens it, measures every page, and tells you whether they all match the size you asked for.
python3 -m nonogram_toolkit build ~/Pictures/shapes -o my-book.pdf --width 15
[ok] crown: 15x10, 0 square(s) changed, 100.0% of the picture kept
[ok] key: 15x7, 1 square(s) changed, 99.0% of the picture kept
wrote my-book.pdf
pages 11
page size 8.500 x 11.000 in (re-read from the file)
geometry every page matches the requested trim
When a picture will not convert on its own, a repair pass moves individual squares until it does, and reports how many it moved and what share of your picture survived. You are never left guessing what the tool did to your artwork. Use --no-repair if you would rather a picture be refused than altered.
Page sizes and grids
8.5 x 11, 6 x 9, 7 x 10, 8 x 10, A4, or any size you name in inches. Margin and binding gutter are yours to set. Grids from about 5 x 5 upward; a 15 x 15 check takes roughly 6 ms and 20 x 20 about 15 ms, so a hundred-puzzle book is a few seconds of work.
Runs where you work
macOS, Windows and Linux. Python 3.8 or newer and nothing else. No Excel, no PowerPoint, no fonts to install, no licence key to activate, and no internet connection required at any point. Reads PNG, BMP, PGM and plain text grids with no extra software at all; JPEG and WebP as well if you happen to have Pillow installed.
The output PDF is vector with no embedded fonts, which keeps the files small and makes them straightforward for a print service to process.
Proof you can run yourself
python3 -m nonogram_toolkit selftest
Twenty-six checks, and half of them feed the gates puzzles that must be rejected: an ambiguous puzzle with two solutions, an all-black picture, a page size that does not match the spec, and a five-by-five puzzle that has exactly one solution which row and column logic cannot finish. That last one is written up in the included documentation, along with the position where line logic runs out after 13 of its 25 squares, and an honest account of what that does and does not prove. A gate that never sees bad input is not a gate.
In the download
the toolkit, as plain readable Python you can modify
eight example pictures, and two finished sample books to look at before you start
a walkthrough of why a unique solution is not the same as a solvable one
notes on page-size classes, per-page printing costs and the price thresholds where royalty rates step up, with the arithmetic worked through
a licence granting you full commercial use of everything you produce
Please read before buying
This is a command-line tool, not an app with buttons. You run one command in Terminal on macOS or Linux, or Command Prompt on Windows. If you have never opened a terminal, the quick-start in the README is four lines long and you can copy them, but you should know that is the shape of it before you buy rather than after.
It makes nonograms, also called picross or Japanese crossword puzzles. It does not make sudoku, word searches, crosswords or mazes.
Bold, chunky, high-contrast pictures convert best. Thin scattered line work, fine texture, small lettering and soft-edged photographs are the hard cases; some need a larger grid, and some are refused.
Licence
Puzzles, PDFs and books you produce are yours, including commercially, with no royalty and no attribution required. You are responsible for holding the rights to the pictures you feed in. The toolkit itself may not be resold or redistributed.
If it will not run on a supported system, reply to your receipt with the error message and your Python version and ask for a refund.