🔤 Anagram Solver & Checker

Check whether two words or phrases are anagrams of each other (ignoring spaces, punctuation and case), or find real-word anagrams of a single word from a built-in dictionary.

How the check decides

Both texts are reduced to a fingerprint - lower-cased, stripped down to letters and digits, then sorted alphabetically. Two texts are anagrams when the fingerprints match and are not empty:

key(s) = s.toLowerCase()
           .replace(/[^a-z0-9]/g, '')
           .split('').sort().join('')

anagram = key(A) === key(B) && key(A) !== ''

"Listen" and "Silent" both reduce to eilnst, so they pass. So do "Dormitory" and "Dirty Room", because the spaces and the capitals are thrown away before the sort. The tool shows you both fingerprints under the verdict, which is the quickest way to see which letter is spare when a pair fails.

Find mode and its word list

Accented letters are deleted rather than folded to their plain form. "Cafe" written with an accent fingerprints as acf, so it would be judged an anagram of "fac". Two texts made only of punctuation are reported as not anagrams, because an empty fingerprint never counts as a match.

Frequently asked questions

Are listen and silent anagrams?

Yes. Both contain e, i, l, n, s and t exactly once, so they share the fingerprint eilnst. Enlist, inlets and tinsel are anagrams of them too.

Do spaces, capitals and punctuation break an anagram?

No. They are removed before the letters are compared, so "Dirty Room" and "Dormitory" match, and so do "A gentleman" and "Elegant man". Digits are kept and must match in number.

Why did the solver find no anagrams for my word?

Find mode only looks inside the 72-word list on this page, so anything outside it comes back empty - and a few entries, such as level and plan, have no partner in the list at all. Use check mode if you already have a candidate word in mind.