Anagram Solver: Every Word Your Letters Can Spell, in 61 Languages
An anagram solver answers one question: given this set of letters, which dictionary words can be built from them? This one answers that question for 61 languages, English by default, and it answers it in two modes. With the "Include shorter words" switch off you get the exact anagrams, the words that consume every letter you typed. With the switch on you get every dictionary word that fits inside your letters, longest first, grouped by word length.
Everything happens in the browser tab. The list for the chosen language is fetched from the site once, indexed in memory, and from then on the searching is arithmetic on your own machine. Nothing you type leaves the page.
The numbers below are not estimates. Each count was produced by the same index the page builds, over the same English list the page downloads.
What counts as an anagram
Two words are anagrams when they hold the same multiset of letters: the same letters with the same repetition counts. Case, spaces and punctuation are dropped before the comparison, which is why phrases can be anagrammed as readily as single words, and why "the morse code" and "here come dots" are the same pool of letters rather than two different strings.
The standard test is to sort the letters of each candidate and compare the sorted forms. That sorted form is the signature. "Listen" sorts to eilnst and so does "silent"; "earth", "heart", "hater" and "rathe" all sort to aehrt. Sorting discards the arrangement that does not matter and keeps the letter counts that do.
Does the signature approach make anagrams rare? Not as rare as the game defaults suggest. Our English list holds 172,823 words, and 28,648 of them share a signature with at least one other word. The other 144,175 stand alone. Against that list, "listen" has six exact anagrams: elints, enlist, inlets, listen, silent, tinsel. "Earth" has four: earth, hater, heart, rathe. A three-letter pool behaves exactly as you would expect: "cat" yields act and cat, and nothing else.
The technique is old enough to predate the word processor. Literary anagrams hide names in plain sight, from "Tom Marvolo Riddle" to "I am Lord Voldemort", and cryptic crossword setters have used letter rearrangement as a clue type for a century.
How the index finds the anagrams in one lookup
Ask a different question and the design follows. Instead of generating permutations and testing each one, a solver can compare, and comparison is what turns an exponential job into a linear one. For every dictionary word, sort its letters once and store the word under its signature. The signature becomes a key; the value is the list of words that own it.
Building that map costs time proportional to the number of words times the average word length times the logarithm of the length, the sort cost, and space of the order of the list size itself. Querying costs one sort of what you typed, then a single map lookup. That is the whole reason a browser solver answers instantly over a list of 172,823 words: the work was paid at load time, once, not per search.
Our English index is built the moment the file arrives, keyed by sorted letters exactly as described. The switch state decides which of two paths runs. Off, the solver hashes the signature of your letters and returns the bucket. On, it walks the whole set and keeps every word whose per-letter counts fit inside your counts, a subset test rather than an equality test, which is why the second path is slower and returns far more.
Two engineering details are worth naming. The list is cached per language, so switching back and forth does not re-download anything. And the parser accepts any Unicode letter, keeping combining marks, so Devanagari vowel signs, Arabic diacritics and Thai marks count as part of the word instead of being stripped out.
Sub-anagrams and what the shorter switch adds
On a rack of seven tiles you almost never play the full anagram of your rack. The word that scores is a subset, and in a timed game the shorter words you can spot instantly decide the round. The switch exists for that gap.
With it on, the solver returns every dictionary word whose letters fit inside your pool, from your full length down to two letters, grouped by length with a count per group. The table below is the measured output for three pools, taken from the same index.
| Pool | Total words | 6-letter | 5-letter | 4-letter | 3-letter | 2-letter |
|---|---|---|---|---|---|---|
| cat | 4 | - | - | - | 2 | 2 |
| earth | 48 | - | 4 | 14 | 19 | 11 |
| listen | 90 | 6 | 16 | 32 | 25 | 11 |
"Listen" is the instructive row. Six words use every letter, and eighty-four use fewer. The largest group is four letters, thirty-two words, which is where most of the useful material sits for a short pool. The two-letter group looks like trivia until you need to hook a word onto an existing board, and then "at", "ta", "in" and company are the plays that keep the score moving.
Do the shorter results replace the exact ones? No. With the switch on you get both, because the exact anagrams are also subsets of your pool. The switch is a widening, not a replacement.
The longest pair and the biggest family in the list
Some list-level facts are worth measuring once and keeping, because they show what "finding an anagram" costs when you do it by hand.
The longest exact pair in our English list is eighteen letters a side: pathophysiological and physiopathological, two spellings of the same medical idea. Pairs that long are rare and almost always technical vocabulary, which is the same pattern that turned up in the classic Webster's Second sweep, where the longest sets were surgical and botanical terms rather than everyday words.
Families with more than one member number 12,301 and cover 28,648 words. The largest single family holds twelve words, all built from a, e, p, r and s: apers, apres, asper, pares, parse, pears, prase, presa, rapes, reaps, spare, spear. Twelve valid plays from five letters is the sort of pool where a solver stops being a convenience.
The rest of the list, 144,175 words, has no exact partner at all. That ratio is the honest reason a solver is useful: exact anagrams are the exception, and useful subsets are the rule.
Sixty-one dictionaries behind one control
The language picker is not a list of interface translations. Each entry selects a different word list, a separate file served from the site's own directory, and the solver then matches against that list alone. English is the default, and the picker is ordered alphabetically so English sits among the Ds and Es rather than at the top.
| Language | File size | Language | File size |
|---|---|---|---|
| English | 1.7 MB | German | 2.1 MB |
| Russian | 3.4 MB | Romanian | 1.8 MB |
| Malayalam | 7.2 MB | Breton | 54 KB |
Across all sixty-one lists the download is 98.9 MB, which is worth knowing before you click through every language in one session; the lists you actually use are the ones that cost you anything, and each is cached after its first load. English, the usual case, is 1.7 MB.
Non-Latin scripts need a decision that Latin-only solvers never face: whether a diacritic is part of the letter or a decoration. Here it is part of the letter, so a Devanagari matra, an Arabic harakah or a Thai tone mark stays attached to its base and the word matches as written. Switching the language clears the field and the results, because a pool typed for one alphabet has nothing to match in another.
Solving a rack, a grid or a cryptic clue
The tool has two inputs, so the whole technique is what you type and which switch state you pick. Three games, three settings.
For a tile game such as Scrabble, type the seven tiles of your rack and leave the switch on. Read the seven-letter group first, because playing all seven earns the fifty-point bonus, then the sixes, then the shorter groups for words that hook onto the board. Twelve-letter pools are the practical ceiling in these games and the solver handles them without a special mode.
For Wordle-style puzzles, type the letters you already know are present, from green and yellow answers, and turn the switch off. You then get only words that use every one of those letters, which prunes the field to the five-letter candidates that matter.
For cryptic crosswords, find the anagram indicator in the clue, words like arranged, broken, wild or shifting, and type the letters it governs. Turn the switch on and scan the group whose length matches the answer cell. A nine-letter entry with a jumbled three-word clue is a two-second lookup here.
What about the letters you are unsure of? The solver uses each letter only as many times as you type it, so an unknown letter cannot be represented as a wildcard. Type the pool again with the extra letter included to see what it would unlock, which is the manual equivalent.
What this anagram solver does not do
Scope is part of a tool's description, so here is the boundary.
It solves single words. A phrase anagram, where two or more words together consume the whole pool, is a different and much heavier problem: the search space is every combination of dictionary words that fits inside the pool, and it grows faster than the factorial of the input length. That problem needs recursive subset enumeration with pruning, or a constraint solver, and it belongs to a dedicated phrase tool rather than to a rack solver.
It has no wildcard or blank tile. It has no pattern filters such as starts with, ends with, contains a letter or excludes a letter, and no length filter beyond reading the group you want. It does not show tile scores or definitions, and it does not switch between game dictionaries the way a competitive word-game helper does. What it offers in exchange is breadth in the other direction: sixty-one languages, including scripts that Latin-only tools skip, and a search that never sends your letters anywhere.
If your question is "which of these tiles should I play", a scoring helper answers it better. If your question is "what words exist in these letters, in this language", this is the shorter path.
Frequently Asked Questions
Is the anagram solver free, and is there a usage limit?
It is free and there is no account, no sign-up and no daily cap. The only resource the page spends is the one-time download of the dictionary for the language you pick, after which every search is local.
How large is the dictionary?
The English list holds 172,823 words and is 1.7 MB. The tool ships sixty-one language lists, from 54 KB for Breton to 7.2 MB for Malayalam, 98.9 MB in total.
How many anagrams does "listen" have?
Six exact anagrams: elints, enlist, inlets, listen, silent and tinsel. With the shorter-words switch on the same pool returns ninety words, of which thirty-two are four letters long.
Can it find words that use only some of my letters?
Yes, that is the shorter-words mode. It returns every word that fits inside your pool, down to two letters, grouped by length with a count for each group, longest group first.
Can it solve two-word or phrase anagrams?
No. It solves single words. Combining several words to consume a whole pool is an exponentially harder problem and is left to tools that specialise in phrase anagrams.
Does it support blanks, wildcards or pattern filters?
No. Each letter is used only as many times as you type it, and there are no wildcard, prefix, suffix, contains or exclude filters. Typing a letter twice is how you allow it twice.
Do I need to install anything?
No. The tool runs in the browser tab, the word list is downloaded to the tab when you pick the language, and no letters you type are uploaded or stored anywhere.
What happens if the dictionary fails to load?
The page shows an error card with a Retry button instead of a broken search box. The dictionary is a single file request, so a transient network failure is usually cleared by pressing Retry.
Taganrog, Russia · SO reputation 19902 · Badges: 5🥇46🥈42🥉 · SO member since 2010