{{ sheetMode === 'answer' ? `${cleanTitle} — answer key` : cleanTitle }}
- {{ word }}
{{ summaryLine }}
| Word | Status | Length | Start | End | Direction | Copy |
|---|---|---|---|---|---|---|
| {{ row.word }} | {{ row.status }} | {{ row.length }} | {{ row.start }} | {{ row.end }} | {{ row.direction }} |
A useful word search begins with the word list, not the filler letters. The hidden terms should suit the learner, fit the available grid, and support a larger purpose such as spelling practice, topic review, or an event activity. Finding a word reinforces visual recognition, but it does not by itself show that a solver understands the word’s meaning.
Difficulty comes from several choices working together. Forward horizontal and vertical paths are approachable for new solvers. Reverse directions and diagonals make scanning less predictable. A larger grid creates more possible paths and more distractor letters, while a crowded list of long words can leave some entries without a legal placement.
Overlaps are not errors when the shared cell contains the same letter. They help several words fit into a compact grid and create more interesting search paths. A generator must reject conflicting overlaps, however, because one cell cannot hold two different letters.
A layout seed makes a pseudo-random puzzle repeatable. The seed is not an answer code and does not make a puzzle secret. It simply gives the placement and filler process the same starting state when the normalized word list, grid size, and direction mode also stay unchanged.
Print size matters independently of logical difficulty. A dense 25 × 25 puzzle may fit on paper yet still be uncomfortable to read. Test the actual page, preserve clear cell boundaries, and choose a grid that suits the solver’s vision, motor control, and available time.
Prepare a clean A–Z list, then keep the seed and settings with any matching answer key.
The placement summary is the main completeness check. Placed means a legal path was found. Skipped means the word was longer than the grid or no path without letter conflicts remained after earlier placements. Invalid lines are ignored when at least one valid word remains, and duplicate words are removed after the first occurrence. Generation stops when every nonblank line is invalid.
Fill percentage reports how many cells belong to at least one hidden word. It is not a difficulty score. Direction choice, word familiarity, reverse paths, diagonals, grid size, and visual spacing can matter more than density.
In play mode, select the first and last cell of a hidden word. The marked straight path must match a placed word in either endpoint order. Use the answer key to verify the printed puzzle, not as evidence that every original input line was accepted.
Word placement is a bounded, seeded transformation. Input cleanup fixes the exact word set first; the layout process then prefers hard-to-place long words and allows matching overlaps without allowing letter conflicts.
| Stage | Rule |
|---|---|
| Normalize | Trim blank lines, convert letters to uppercase, keep only complete A–Z words, and retain the first copy of each duplicate. |
| Order | Place longer words first. Words of equal length are ordered alphabetically. |
| Find candidates | Enumerate every in-bounds path allowed by the selected direction mode. Reject a path when an occupied cell contains a different letter. |
| Choose a path | Prefer the candidates with the most matching overlaps; the seeded pseudo-random order breaks ties. |
| Fill gaps | After placement, fill every empty cell with a seeded A–Z letter and retain a separate answer mask for occupied cells. |
| Mode | Allowed paths |
|---|---|
| Right and down | Left to right; top to bottom |
| Four straight directions | Both horizontal directions and both vertical directions |
| Four forward directions | Right, down, diagonal down-right, and diagonal down-left |
| All eight directions | Horizontal, vertical, and diagonal paths in both endpoint orders |
Grid fill counts each answer cell once even when two words overlap there, then rounds the percentage to one decimal place.
O is the number of occupied answer cells and N is the grid width and height. For example, 36 occupied cells in a 12 × 12 grid produce 25.0% fill.
Generation accepts a whole grid size from 5 through 25, a seed from 1 through 40 characters, and no more than 100 nonblank word lines. Because the same seed is combined with the normalized words, grid size, and direction mode, all four inputs must match to reproduce a layout.
The placement method is greedy rather than exhaustive. It does not backtrack and rearrange earlier words to rescue a later skipped word. A different seed can find another legal layout, while a larger grid or broader direction set increases the available paths more directly.