Building a crossword by hand means carefully plotting word intersections on graph paper — tedious even for a small puzzle. Our crossword puzzle generator automates the whole layout from a simple word + clue list.
How to format your input
Enter one entry per line as WORD | Clue text — for example:
ASTRO | Framework this site is built with
ARRAY | Ordered list data structure
DEBUG | Find and fix an error
The word is automatically uppercased and stripped of non-letter characters; the text after the pipe becomes that word’s clue.
How the layout algorithm works
- The longest word is placed first, anchored across the center of the grid.
- Every remaining word is placed by finding a shared letter with an already-placed word and positioning it perpendicular at that matching letter — this is what creates the classic interlocking look.
- Unlike a simple one-pass placement, the generator retries unplaced words repeatedly as more words get added to the board — a word might not share a letter with anything placed early on, but could connect once a later word (that it does share a letter with) gets placed. The generator keeps looping through unplaced words until no more progress can be made in a full pass.
When a word can’t connect
If a word shares no letter in common with any other word in your list (even after every possible intersection is tried), it’s skipped and listed under “Could not intersect.” Choosing words that share more common letters, or adding a bridging word, usually resolves this.
Reading the clue numbers
Each numbered cell marks the starting square of one or more words — the same convention used in printed crosswords, where the clue list references “1 Across,” “2 Down,” and so on by matching each clue to its starting cell’s number.
Good use cases
Classroom vocabulary review, onboarding “company jargon” puzzles for new hires, party trivia, or any themed word list you want to turn into a genuine interlocking puzzle rather than a flat word list.