Guide
How Word Search Puzzles Are Generated
Letterfield Press builds each puzzle in the browser. There is no remote layout service. This article describes the algorithm that actually runs when you press Generate Puzzle—not a theoretical best case, and not a guarantee that every list will fit. You can watch it work on the word search generator.
Word normalization
Each line is trimmed. Empty lines are skipped. Allowed characters are A–Z in either case, spaces, hyphens, and apostrophes. Other characters produce an error that quotes the original line. The grid form is uppercase with spaces, hyphens, and apostrophes removed. The displayed label is a readable title-cased version of the source. ICE-CREAM and ice cream both become ICECREAM; the second copy is flagged as a duplicate instead of being dropped without comment. Grid forms shorter than three or longer than eighteen letters are rejected. At most twenty ready words are sent to placement; extras are reported.
Grid sizing
You choose 10, 12, 15, 18, or 20 cells on a side. Before placement, any word longer than that side is rejected with names listed. A 15 × 15 grid has 225 cells. Ten words of about six letters occupy roughly sixty cells before overlaps, so most of the square is filler. That leftover space is why accidental extra spellings can appear and why filler is retried.
Direction selection
Easy uses east and south. Medium adds southeast and southwest. Hard uses all eight compass directions. Manual checkbox changes are labeled Custom Difficulty. Placement will not use a direction that is not in that list. Interactive play also refuses paths that are not straight compass lines.
Word placement
Words are sorted longest first so mountain is seated before cloud. For each word the engine enumerates every start cell and allowed direction, discards paths that leave the square, and discards paths that disagree with a letter already written. Remaining candidates are shuffled with a cryptographic random source when the browser provides it. Among legal candidates, a placement that already overlaps a matching letter is preferred most of the time, but overlap is not required. If a word has no candidate, that attempt is abandoned and the whole grid is restarted. The restart budget is bounded (dozens of full tries) so the page does not freeze. There is no exhaustive search of every possible packing, and there is no proof that a fitting exists just because each word is shorter than the side length.
Letter overlap rules
Two words may share a cell only when they need the same letter there. Forest and river can share R. Forest and meadow cannot share a cell that would have to be both T and M. Overlaps are a convenience, not a crossword-style requirement. Many generated puzzles contain words that never touch.
Random filler letters
After every requested word is written, empty cells are filled with A–Z chosen from the same random source. Filler is the reason a casual glance sometimes finds a listed word on a second path. The generator then scans the finished grid for extra occurrences of each target word along the allowed directions. If extras exist, it redraws filler, up to a bounded number of filler tries, then restarts placement if needed. If extras still remain, it reports that an unambiguous key could not be built rather than hiding the extras.
Answer-key verification
For each recorded placement the validator checks that the start is in bounds, the direction is allowed, the path has the right number of cells, the end is in bounds, and the letters along the path equal the normalized word. Every requested ready word must have a placement. Play accepts a pointer or keyboard selection only when its cell set matches one of those placements, including the reverse tracing of the same cells. Show Answers lists word, start row, start column, and direction on that same grid.
Why some word lists cannot fit
A list can fail even when no word is longer than the grid. Causes include too many long words on a small Easy grid, too many short words that keep appearing in filler, or a crowded 10 × 10 with reverse directions off. The engine then keeps the previous valid puzzle if one exists and names the last unplaced word when it can. It will not present a half-filled grid as a finished puzzle, and it will not delete a requested word to force success. Your next move is a larger size, fewer entries, or fewer directions. That is also how the custom maker behaves, because it calls the same function.
How regenerating changes a layout
Generate Again runs the same procedure with a new random shuffle. Word identities stay; start cells and directions usually change. Overlaps may appear or disappear. Filler is new. If you already printed a class set, do not regenerate before you print the matching answer key. Session storage may keep the current puzzle in the tab so Play and Print can share it; that copy is described in the privacy policy.
The forty collection sets call this same generator with fixed lists, sizes, and difficulty presets. If a rare run cannot place a set, Generate Again or Load in generator retries. There is no claim of a mathematical packing guarantee. For a hands-on tour of the controls, read How to Use a Word Search Generator.
You can also force a failure on purpose to see the message: put a 15-letter word on a 10 × 10 Easy grid, or enter two copies of river. The first case names the oversized word. The second marks a duplicate and still lets you generate from the remaining ready entries once you have three valid lines. Those messages are part of the product, not extra help text sitting beside a fake button.
Questions
Is the random filler truly random?
Letters are chosen with the Web Crypto API when it is available. If it is missing, generation stops with an error instead of falling back to a weak substitute.
Does every word have to cross another word?
No. Overlaps are preferred when they exist and do not conflict. Isolated words are allowed.
Can I see a partial grid when placement fails?
No. Failure leaves the last complete puzzle in place, or no puzzle if none has succeeded yet.