How a Crossword Maker Builds an Interlocking Grid
After reading this you will understand how a word list becomes an interlocking crossword, why some word lists pack tightly and others leave gaps, and how to pick words that produce a dense, printable puzzle.
What the tool does
A crossword maker takes a list of answers and clues and arranges the answers on a square grid so that they cross at shared letters. Where two words cross, they share exactly one cell and one letter. The result is numbered, split into Across and Down clue lists, and made ready to print or export.
Here is the hook. Give it three words: CAT, CAR, and ARC. The generator notices that CAT and CAR both start with CA, and that ARC ends in C and contains an A and an R. A valid layout places CAR across, hangs CAT down from the shared C, and threads ARC down through the A and R. Three short words, several crossings, one compact block. The whole job is finding as many legal crossings as possible.
When to use it, and when not
Reach for a crossword maker when you have your own vocabulary and you want a puzzle that reinforces it: a spelling list for a class, product names for a newsletter, guests' names for a party, family words for a gift. The point is control over the answers.
Skip it when you want a professional themed crossword with full symmetry and no unchecked letters. Newspaper grids are hand-tuned so that nearly every letter is part of both an Across and a Down word. An automatic generator working from an arbitrary list cannot promise that. It optimizes for placing many letters, not for aesthetic symmetry.
The tool runs entirely in your browser. Your word list and clues never leave your device, which matters when the answers are student names, staff details or private in-jokes.
The math of interlocking
The generator does not solve a clean equation. It runs a search. Think of the score it is trying to maximize as the number of placed letters, with a bonus for each crossing. A rough objective looks like this.
Here n is the number of words in your list, p_i is 1 if word i was placed and 0 if it was skipped, \text{len}(w_i) is that word's length, X is the total number of crossings in the layout, and c is a small weight that rewards interlocking over isolated placement. The generator tries many random orderings and keeps the layout with the highest S.
The intuition behind good word lists comes straight from X. Two words can cross only if they share a letter. The more letters your words share, the more candidate crossings exist, and the higher X can climb. A list of words that all contain E, A, R, S and T (the common English letters) interlocks far more easily than a list heavy in Q, X and Z.
Why 10 to 30 medium words work best
Grid size sets a hard ceiling. A grid of side g has g^2 cells. A 15 by 15 grid has 225 cells. If your answers average 6 letters and you place 20 of them with 25 crossings, you occupy about 20 \times 6 - 25 = 95 cells, or 42 percent of the grid. That is a comfortable density: enough white space to route words, enough words to force crossings.
Push too far in either direction and the score drops. Feed 3 words and the grid is mostly empty, so X stays tiny. Feed 200 words into a 15 by 15 grid and most of them cannot fit, so p_i is 0 for the majority and the extra clues are wasted. Very long words (12 or more letters) also hurt, because a single word can span an entire row and leave few free cells for the words that would cross it.
Reproducing the demo data
The demo loads a small themed list. Suppose it holds these six entries, one per line, in the word, clue form the tool expects.
PYTHON, A snake, or a programming languageARRAY, An ordered list of valuesLOOP, Code that repeatsBYTE, Eight bitsTYPE, String, number or booleanERROR, Something went wrong
- Strip everything but letters. The answers become
PYTHON(6),ARRAY(5),LOOP(4),BYTE(4),TYPE(4),ERROR(5). Total letters if all placed: 28. - Look for shared letters.
PYTHONandTYPEboth holdTandY.ARRAYandERRORboth holdR.BYTEandTYPEshareT,YandE. The letterOlinksPYTHON,LOOPandERROR. - Place the longest word first.
PYTHONgoes across. HangTYPEdown from itsT. CrossBYTEthrough the sharedYofTYPE. ThreadLOOPandERRORthrough theOletters. - Count crossings. A tight layout of these six words reaches about 5 crossings, so X = 5. Placed letters: 28. Overlapping cells reused: 5. Cells occupied: 28 - 5 = 23.
On a 15 by 15 grid those 23 cells fill 10 percent of the board. Small list, small footprint. If you added another dozen tech words, the density and the crossing count would both rise.
How word length shapes the grid
Word length changes crossing opportunities in a way a static picture cannot show well. A 3-letter word offers 3 candidate crossing points; a 9-letter word offers 9. But a 9-letter word also consumes 9 cells and constrains its neighbors. The best-scoring lists mix lengths so that long words form spines and short words stitch them together.
Reading the finished puzzle
Once a layout is chosen, the numbering follows a fixed rule that every crossword uses. Scan the grid left to right, top to bottom. Every cell that begins an Across word or a Down word gets the next number. A cell can start both an Across and a Down word; it still gets one number, used by both clue lists.
That is why clue numbers are not sequential within a single direction. You might have 1 Across and 1 Down (same starting cell), then 2 Down with no 2 Across, then 3 Across. The Across list and the Down list share one numbering sequence drawn from the grid.
| Cell (row, col) | Starts Across? | Starts Down? | Number |
|---|---|---|---|
| 1, 1 | Yes (PYTHON) | No | 1 |
| 1, 4 | No | Yes (TYPE) | 2 |
| 3, 2 | Yes (ERROR) | Yes (LOOP) | 3 |
Common mistakes
A few habits produce empty or lopsided grids. Each has a direct fix.
Do not paste one word per line without clues and expect readable puzzles. Lines without a clue fall back to using the answer itself as the clue, which prints the answer next to its own blank. Always supply a clue after the comma or semicolon.
- All-long-word lists
- Ten 11-letter words rarely interlock, because long words share fewer aligned letters at compatible positions. Add short connectors like
ERA,IONorTEA. - Rare letters
- Words built on
Q,X,ZandJcross poorly. If a word will not place, the generator drops it, so p_i = 0 and its clue vanishes. - Grid too small
- A 30-word list on an 11 by 11 grid (121 cells) cannot fit; expect many dropped words. Match grid size to list size, roughly 2 to 3 cells per letter you want placed.
- Duplicate answers
- Two identical answers confuse the numbering and give the same word two clues. Keep answers unique after punctuation is stripped, since
ice-creamandice creamboth reduce toICECREAM.
Related tools
If you need bulk sample content to test a layout before writing real clues, the Test Data Generator can produce word-like names in CSV or JSON that you can paste in. When you build word lists in structured formats, the XML Formatter & Validator helps you clean and check the source before you extract the answers. And if you are exporting puzzles as part of a larger data workflow, the JSON → Types Generator turns a puzzle's JSON structure into typed code.
Frequently asked questions
Why did some of my words not appear in the grid?
They could not be placed without a valid crossing, or the grid ran out of room. The generator keeps the layout with the most placed letters and silently drops words that will not fit. Add shorter words that share common letters, or increase the grid size.
Can I use two-word answers or hyphenated answers?
Yes. Spaces, hyphens and punctuation are removed automatically, so ice cream becomes ICECREAM and fills eight cells, exactly as newspaper crosswords treat multi-word answers. The clue gets a small “2 words” tag so solvers know the answer is a phrase.
How many words should I supply?
Between 10 and 30 medium-length words (4 to 8 letters) gives the densest grids. Fewer words leave the grid sparse; many more get dropped for lack of space on a standard 15 by 15 board.
Will the same word list always produce the same grid?
Not necessarily. The generator tries many random orderings and keeps the best-scoring one, so re-running can yield a different but equally valid layout. Run it a few times and keep the arrangement you like.
Can I export the puzzle without the answers?
Yes. Toggle the solution off before you print or download. The exported PNG or SVG shows the numbered blank grid; the printable sheet adds the Across and Down clue lists below it.