Type scrambled letters and get every valid English word in milliseconds — scored for Scrabble, filtered by length, defined on tap. The only word solver you'll ever need.
Phase 3 brings wildcard tiles, Wordle helper mode, search history, light/dark themes, and a full SEO blog.
Whether you play Scrabble, Wordle, crosswords, or word jumbles — WordSolve has a mode built for it.
Enter up to 15 letters. Use ? for a wildcard (blank Scrabble tile). Click any tile to see its definition.
Enter scrambled letters above. Use ? for a wildcard tile. Try PLANETS, STRANGE, or EARTHS.
Strategy guides, word lists, and tips to win more often at Scrabble, Wordle, and crosswords.
Ready to put these tips into practice?
Phase 3 uses a frequency-map subset algorithm — the most efficient unscrambling approach — now augmented with wildcard expansion, pattern matching for crosswords, and Wordle constraint solving.
For standard unscrambling, we convert your input letters into a character frequency map, then check each dictionary word to see if your map has enough of every required letter. This correctly handles duplicates and runs in O(n × L) time.
// Build letter frequency map function freqMap(s) { const m = {}; for (const c of s.toLowerCase()) m[c] = (m[c] || 0) + 1; return m; } // Check if word can be formed from input letters function canForm(wordMap, inputMap) { for (const [l, n] of Object.entries(wordMap)) if ((inputMap[l] || 0) < n) return false; return true; }
When your input contains ? characters, we expand each wildcard into all 26 possible letters, generating a set of input variants. A word matches if it can be formed from any one variant — efficiently handling blank Scrabble tiles.
// Expand wildcards into all letter combinations function expandWildcards(letters) { if (!letters.includes('?')) return [letters]; const variants = []; for (const c of 'abcdefghijklmnopqrstuvwxyz') variants.push(...expandWildcards( letters.replace('?', c) )); return [...new Set(variants)]; }
Crossword mode uses regex pattern matching. Each ? becomes a wildcard character class, and we test every dictionary word against the resulting pattern for exact positional matches.
Wordle helper mode applies three constraint types simultaneously:
Every 5-letter word in the dictionary is tested against all active constraints simultaneously — typically returning results in under 2ms.
Phase 3 ships with 3,500+ curated words covering 2–12 letters, including all common Scrabble words, everyday vocabulary, and targeted word-game terms. Phase 4 will integrate a 170,000-word dictionary loaded from a compressed static file.
Feedback, bug reports, feature requests, partnership enquiries — we read everything and reply within 48 hours.