Puzzle summary
{{ placedWordCount }} words {{ fillPercent }} % filled
×
{{ cellSize }} px
Across Down

Introduction:

Crossword puzzles arrange intersecting words on a square grid, letting solvers uncover answers by reading clues and checking shared letters.

This generator lets you enter a WORD : clue list, choose grid and styling options, then fills the grid so every placed word complies with standard crossing rules.

Teachers can quickly prepare themed vocabulary reviews, while hobbyists can publish printable challenges for friends. Ensure every entry uses only A–Z characters.

Technical Details:

The crossword-filling problem seeks an arrangement where each horizontal and vertical sequence yields a complete dictionary word. Complexity rises with grid size and word count, turning it into a constraint-satisfaction task that balances placement density against conflict avoidance.

  1. Convert input lines to uppercase words and optional clues.
  2. Optionally shuffle deterministically from a numeric seed.
  3. Sort words longest-to-shortest for efficient space use.
  4. Place the first word centred horizontally, then iterate through remaining words, testing every matching letter intersection horizontally and vertically until placed or skipped.
  5. Apply two-way axial symmetry when enabled, then number starting cells sequentially.
Status BandDescription
< 50 % filledSparse grid; consider reducing size or adding words.
50–80 % filledBalanced difficulty; most daily newspapers sit here.
> 80 % filledDense puzzle; tight clueing required to avoid obscurity.
ParameterMeaningTypical Range
Word listUser-supplied entries with optional clues10–100 items
Grid sizeNumber of rows & columns5–25
SymmetryMirror blank-cell pattern 180°true | false
Cell sizeRendering dimension per square24–48 px
ThemeForeground/background colour setclassic … ocean
SeedDeterministic shuffle keyalphanumeric

Fill percentage for a 15 × 15 grid with 180 letters placed:

180÷225=0.8 0.8×100=80%
  • All entries use Latin alphabet without diacritics.
  • No automated clue validation—ambiguous or duplicate clues remain unflagged.
  • Symmetry check removes conflicting cells, lowering density.
  • Algorithm may skip words that cannot intersect; they appear missing from clues.
  • Grid too small for the longest word.
  • High word overlap causing dead-end placement loops.
  • Using identical seed with altered list order changes the outcome.
  • Unclued single-letter words may slip through if list contains them.

Crossword construction heuristics trace to relaxation methods explored by Stephen S. Adams (2014) and constraint-propagation analyses by Ginsberg (ACM, 2017).

The algorithm runs entirely in your browser, processing no personal or sensitive data.

Step-by-Step Guide:

Follow these steps to create and download a puzzle.

  1. Type each WORD : clue on its own line.
  2. Select Grid size, Theme, and optional Seed.
  3. Click Generate to build the grid.
  4. Review fill percentage; tweak word list or size if needed.
  5. Toggle answers for proofreading, then export PDF or PNG.

FAQ:

How many words can I add?

The generator accepts dozens, but placement success depends on grid size and word lengths; aim for 30–60 entries on a 15×15 grid.

Is my data stored?

No. Everything runs locally in your browser session; closing the tab removes all inputs.

How do I repeat a puzzle exactly?

Enter an alphanumeric seed before generating; the same seed and word list create identical layouts.

Why did some words disappear?

If a word cannot legally intersect with existing placements, the algorithm skips it; enlarge the grid or adjust symmetry to improve fit.

Can I change colours after exporting?

Colours are baked into the PDF/PNG; generate again with a different theme for alternate palettes.

Glossary:

Across
Word running left-to-right.
Down
Word running top-to-bottom.
Fill percentage
Ratio of filled to total cells.
Seed
Value that fixes shuffle order.
Symmetry
Mirrored pattern enhancing aesthetics.