← Back to Codeword Solver

Codeword Solver Methodology

Updated March 2026 Written by the Codeword Solver team Reviewed against the live solver behaviour

This methodology page explains how our Codeword Solver works, how patterns are matched, what the three dictionary tiers contain, and why this tool behaves differently from a standard crossword solver or an anagram finder. Everything described below is intended to match the current live system accurately. We do not claim capabilities beyond what is implemented.

How Codeword Solver matches a pattern

When you submit a pattern, the solver searches the selected dictionary tier and returns every word that satisfies the constraints you entered. The candidate set is deterministic: given the same pattern and the same dictionary, the same valid matches will be returned every time.

A pattern is a sequence of characters, one per letter position. In the current solver, each character is one of three supported types:

Known letter

A specific letter from A to Z. The result must contain exactly that letter in that position. Case is ignored, so uppercase and lowercase behave the same way.

Dot (.) or question mark (?) — unknown, unlinked

Any single letter with no relationship to any other position. Use these when you know the word length but do not want to describe a number-linking constraint.

Digit (19) — unknown, linked

A digit represents an unknown letter identified by its codeword number-pattern role. If the same digit appears more than once, those positions must contain the same letter. Different digits must resolve to different letters. For example, 112.2 means positions 1 and 2 are the same letter, position 3 is a different linked letter, position 4 is unconstrained, and position 5 repeats position 3.

The solver evaluates positional letters, wildcard positions, and linked-digit constraints together. A word only appears in the result set if it satisfies every rule in the pattern.

Examples

  • 11.E — 4 letters; positions 1 and 2 must be the same; position 4 must be E. This pattern can match words such as ooze.
  • 112.2 — 5 letters; positions 1 and 2 must match; positions 3 and 5 must match each other; position 4 is unconstrained. This pattern can match words such as llama.
  • 3422 — 4 letters with the shape A B C C. The last two letters must be the same, while the first three numbered positions all represent different letters.

The repeated-number constraint in real codeword play

This is the rule that makes a codeword solver different from a generic pattern matcher.

In a codeword puzzle, each number in the grid maps to exactly one letter of the alphabet, and that mapping holds throughout the whole puzzle. If the number 14 appears in several cells, all of those cells are the same letter. If two cells contain different numbers, they represent different letters unless and until the puzzle proves otherwise through the number-to-letter mapping.

The solver mirrors that logic at word level. When you enter the same digit in multiple positions, the matching engine requires those positions to contain the same letter. When you enter different digits, the matching engine treats them as different linked unknowns.

Why this matters

  • 1..1. — positions 1 and 4 must be the same letter. A word such as easel fits that shape because the first and fourth letters are both e.
  • 1.1.1 — positions 1, 3, and 5 must all be the same letter. A word such as abaca fits that shape because positions 1, 3, and 5 are all a.
  • 3422 — this is not the same as ..... It specifically means the last two letters match and the other numbered positions are different from that repeated letter.
  • ..... — all 5-letter words, with no linked-number constraint at all.

Without linked digits, patterns collapse into simple length-and-letter matching. The number system is what makes this tool useful for codeword solving rather than ordinary word matching.

Important note: a digit that appears only once is still meaningful in the current solver. It identifies an unknown letter that must remain distinct from other numbered positions in the same pattern. So ..7...9.......1 is broader than a heavily constrained pattern, but it is not identical to an all-dot wildcard pattern of the same length.

Dictionary tiers — Pocket, Original, and Big

Codeword Solver offers three dictionary tiers. Higher tiers include the lower tier plus additional words, so the dictionaries behave as nested search breadth rather than completely separate buckets.

Pocket (~20,000 words)

A tighter list of common everyday English words. Use Pocket when you want less noise and are solving a general-audience codeword where obscure vocabulary is unlikely.

Original (~111,000 words)

A broad standard English dictionary intended to cover the vocabulary range used by most newspaper and magazine codeword puzzles. This is the recommended starting point for most sessions.

Big (~362,000 words)

An extended dictionary that includes rarer, archaic, scientific, and specialist vocabulary. Big is useful when Original returns too little, but it can also produce much longer result lists that need more narrowing.

What the dictionaries contain

The tiers include common English words across standard word classes and normal inflections. The purpose is practical codeword solving, not exhaustive coverage of every word ever published.

What the dictionaries do not contain

The dictionaries are curated, not exhaustive. Proper nouns, many offensive terms, and words unlikely to appear in mainstream codeword publications are excluded. If a valid word is missing from all three tiers, it may be absent by curation choice or still awaiting review through the Submit a Word workflow.

How results are organised

The matching step decides which words are valid. After that, the presentation layer ranks and groups those valid matches to make large result sets easier to scan.

Most likely

This group contains higher-scoring matches based on the current ranking model. The live ranker gives extra weight to short, familiar everyday words, common English suffixes, and word lengths that are often practical in codeword solving. “Most likely” is a ranking signal, not a claim that the top result is guaranteed to be the puzzle answer. fileciteturn12file0

Possible

These are still valid matches for your pattern, but they score lower under the current ranking model. They may be less common, longer, or simply less useful as starting points.

Rare / obscure or “Show all”

When a pattern is very broad, the solver may keep lower-value matches collapsed or behind a show-all action. This keeps the Codeword Solver usable on mobile and desktop even when thousands of words match.

If the result set is still too large, add more confirmed letters, use repeated digits where the grid justifies them, try a narrower dictionary tier, or use the Exclude letters field to remove letters you have already eliminated elsewhere in the puzzle.

Why this is not a crossword solver or an anagram solver

Codeword Solver is designed around codeword rules rather than clue solving or letter rearrangement.

Crossword solvers

A standard crossword solver usually matches known letters and unknown positions, but it treats each unknown position as independent. It does not normally enforce the rule that positions sharing a codeword number must carry the same letter, or that different numbered positions should stay distinct.

Anagram solvers

Anagram tools assume you already know the set of letters and want to rearrange them. In a codeword, you usually know some positions and some number-linking rules, but not the letter set itself. That is a different problem.

This Codeword Solver

This solver was built for codeword-style pattern matching. It applies letter constraints, wildcard positions, and linked-digit constraints in the same solve process. The one-pattern solver returns valid candidate words for the selected tier. The two-pattern solver extends this by finding compatible pairs when linked digits appear across both patterns.

What this tool does not claim

  • Complete dictionary coverage. The dictionaries are large and curated, but they are not exhaustive representations of the whole English language.
  • The guaranteed final answer. A returned word is a valid match in the selected dictionary tier. It is not a guarantee that a specific publisher used that word in your puzzle.
  • Perfect ranking. “Most likely” is a deterministic usefulness ranking, not an oracle. It helps surface promising words first, but you still need to compare candidates against your grid.
  • Real-time dictionary updates. The dictionaries are refreshed during maintenance cycles, not continuously throughout the day.

If you have questions about how the Codeword Solver works, or if you find a pattern/result combination that looks wrong, the Contact page is the best place to reach us.

Ready to solve?