Crossword Pattern Matcher
Find every word in a list that matches a positional pattern with ? wildcards.
Overview
The Crossword Pattern Matcher finds every word in a word list that fits a positional pattern, where ? is a wildcard for any single letter. Type c?t and it returns cat, cot, cut, and any other three-letter word in your list with C and T at the ends.
It's the digital equivalent of the printed wordlist tables in crossword construction manuals, useful for filling stubborn grid corners, solving cryptic clue letter constraints, or building themed puzzles where certain positions are locked in advance. The tool runs against any word list you paste in, so you can target a specific dictionary, vocabulary level, or topical corpus.
How it works
Each candidate word is compared against the pattern letter by letter. The word must have the same length as the pattern. For each position, a literal letter in the pattern must match the candidate's letter exactly (case-insensitive), and a ? in the pattern accepts any single letter at that position. Words that pass all positions are reported in match order.
The implementation is a simple linear scan rather than a precomputed index, which keeps the tool flexible — you can pass any word list, any pattern length, and any character set without rebuilding state. For very large lists the scan is still fast because each comparison short-circuits on the first mismatch.
Examples
- Pattern
???against a standard English wordlist returns all three-letter words:the,and,but,cat,dog, etc. - Pattern
c?treturnscat,cot,cutand any other CxT three-letter form in the list. - Pattern
s?o?ereturnsstone,score,slope,smoke,stove, and similar five-letter words. - Pattern
?????ingfinds eight-letter words ending in "ing" with any five-letter stem — useful for crossword across answers.
FAQ
Can I use multi-character wildcards?
No. Each ? is exactly one letter. Use multiple ?s to cover longer unknown stretches.
Is the match case-sensitive?
No — both pattern and word list are compared case-insensitively.
Can patterns use character classes like [aeiou]?
This implementation supports only literal letters and ?. For regex matching, run a separate regex against the same list.
What's the largest word list it can handle?
Tens of thousands of words run in milliseconds. Very large dictionaries may take a few seconds.
Does it handle accented characters?
Only ASCII letters by default. Patterns containing accents must match exact accents in the word list.