100% free · no signup

How these are made

What is guaranteed about every sheet here, and how those guarantees are enforced.

On a screen, a good puzzle generator and a careless one look the same. Both produce a grid of letters. The difference shows up on paper, in front of a child, when a word search turns out to contain a word nobody meant to put there, or a maze has two ways through, or a division drill produces a remainder halfway down the page.

This page is what this site guarantees instead, and how. Every rule below is enforced by a check that runs before the site is deployed, and each one is named as it appears in the test suite.

Word searches cannot spell something they should not

Once the real words are placed, the rest of the grid has to be filled with something. Fill it with random letters and, sooner or later, five of them line up into a word you would not want on a worksheet handed to a class. It is an obvious failure in hindsight and a common one in practice, because nobody reads a filled grid in all eight directions.

Every filler letter here is screened against a blocklist along all eight axes, and any run that matches is redrawn. The check is 250 grids contain no blocklisted sequence, run on every build.

Difficulty is a real constraint rather than a label: easy never runs a word backwards or upwards. If a word will not fit at the size you chose, it is reported back rather than quietly dropped, which is the check surfaces words it could not place.

Every maze has exactly one way through

A maze with a loop in it is not harder, it is broken: a child can follow a corridor back to where they started and reasonably conclude they made a mistake. A maze with an unreachable section is worse, because part of the page is dead.

Three checks hold this: every cell is reachable from the entrance, there are no loops, and shared walls agree between neighbouring cells. A wrong turn always ends in a dead end, which is what makes backtracking a puzzle rather than a bug.

No two bingo cards in a set are the same

Printing thirty cards is pointless if two of them match, because two players win at once. The generator checks that no word repeats within a card, that there is exactly one free square per card, and that every word comes from the list you gave it.

It also knows what it cannot do. A five by five card with a free centre needs 24 words. Give it fewer and it refuses rather than padding, which is the check rejects a list too short for the card. Give it exactly 24 and every card holds the same words in a different order, so it warns when every card would hold the same words, but does not block it. That is sometimes what you want for young children.

Math drills never produce an answer they should not

Subtraction sheets here never go below zero. Negative numbers are a later topic, and meeting one by accident on a practice page is confusing rather than instructive. The check is no negative answers across 6000 problems.

Division is generated backwards: the divisor and the answer are chosen first and the dividend is worked out from them, so a remainder is impossible rather than filtered out afterwards. Three checks cover it, including never divides by zero, even when zero is in range and every quotient is a whole number.

Ruled paper is drawn at the size it claims

Printed graph paper is usually wrong, because it was drawn for the screen and then scaled to fit the page. Here, 5 mm squares measure 5 mm against a ruler when printed at 100%. Sheets that can be described two ways say both: isometric paper states the triangle edge as well as the line spacing, and hex paper states the width across as well as the side, because the trade quotes them both ways and the gap between the two is about 15%.

How darkly the grid prints is a setting, and it is deliberately only a setting: the check weight never moves a rule exists because an earlier version let the weight change the geometry, which meant the preview and the PDF could quietly disagree.

The preview and the download are the same puzzle

Every generator here is deterministic and explicitly seeded, so the same seed always produces the same puzzle. That is not a detail: the puzzle you see on the screen and the one in the PDF are generated from the same seed, so they cannot diverge. Without it, the download would be a different puzzle from the one you approved, which is a failure nobody notices until the sheets are already printed.

Each engine carries the same pair of checks, in the form same seed gives identical cards and a different seed gives different cards.

Where the themed word lists come from

The themed lists behind the word searches and bingo cards were drafted with the help of an AI assistant and then reviewed by hand, one list at a time. Saying so seems better than not saying so.

The review applies four rules. Every list holds at least 26 distinct words, so a bingo set can make genuinely different cards rather than the same words reshuffled. Nothing runs much past twelve letters, so words still fit a mid-size grid and a bingo square without shrinking to nothing. Everything is letters only, because the grids hold letters. And no list uses a trademarked name, because a themed sheet is not worth a takedown.

What is not claimed

These are engineering guarantees about the sheets, not claims about learning outcomes. Nothing here has been trialled in a classroom study, and any page on this site that talks about how children learn is describing ordinary teaching experience rather than research.

There are also no download counts, ratings or testimonials anywhere on this site, because there is nothing true to report yet. When there is, it will be reported.

All of it runs on your machine

Every generator described above executes in your own browser. Nothing you type is uploaded, stored or logged, and there is no server-side copy of anything made here. You can check that in about a minute: open any tool page, disconnect from the internet, and keep making puzzles.

More about the reasoning behind that in the privacy policy, and about the project itself on the about page. If a sheet ever prints wrong, tell us: hello@puzzleandprint.com.