Are there any websites where I can find the list of possible English words from a word with some letters missing?

Example word : "O_"

From "O_" (two letter word starting with O), the following list of words could be found:

  • ON
  • OR
  • OF
  • 1
    Would an offline solution be an option, like a command line to search within a file containing all words?
    – Tymric
    Oct 12, 2014 at 15:30
  • 1
    Yea that would be good too but i dont know grep commands and the file must contain every possible english word Oct 12, 2014 at 16:54
  • 1
    Such files can perhaps be obtained from an open source spell checker. Regex commands for the patterns you mention should also be easy to learn. But it was just a thought. I see you've already gotten a good answer below.
    – Tymric
    Oct 12, 2014 at 17:24
  • Heh, I remember many many years ago I used some Macquarie dictionary program to do this. Probably still have the CD somewhere, but there's certainly better options now.
    – Bob
    Oct 13, 2014 at 3:42

4 Answers 4


You can typically find such feature in crossword or scrabble helpers. E.g. you can use Wordsmyth Crossword Puzzle Helper:

  • online
  • free
  • support patterns

enter image description here


Oh, ow: no ox?

On a Linux system, it's standard to have a text file containing a list of English words, for the use of applications such as spell checkers. (Some spell checkers have their own list in a format that they can search faster than plain text.) A typical location is /usr/share/dict/words or /usr/share/misc/words or /usr/lib/dict/words or some such. The file may be called something like american-english or american-english-huge instead of words.

You can search this file from the command line with the grep command. The basic syntax is grep PATTERN FILE or <FILE grep PATTERN (the second one is more convenient to edit the command line when you want to run several similar commands). Use the option -x to indicate that the pattern you provide should match the whole line rather than a substring. In a pattern, you can use . to mean “any character”, or something like [abcde] to mean any of the characters inside the brackets, or .* to mean a sequence of letters of any length. You may need to put quotes around the pattern if it contains brackets or stars. See the grep manual or any reference on regular expressions for what you can use in the pattern.

</usr/share/dict/words grep -x o.
</usr/share/dict/words grep -x 'tes.*g'
</usr/share/dict/words grep -Ex '[aelmpx]{7}'

Instead of using grep, you can of course open the word list file in your favorite text editor, if it has decent searching capabilities.

If you're running Windows, a way to get standard Linux tools is to install Cygwin. You can download word lists from SCOWL.


You can try Wolfram|alpha, which allows querying for word patterns, for example:




It's also free!

However the Wolfram|alpha engine does not recognize word patterns that are small, such as O_.


You can use My Word List Offline Dictionary for Android.

You can search for patterns using wildcards: * to replace zero or more letters, or ? for one letter.

It has more words than any other app in the market. Over 800,000 words and terms.


My Word List - Make Word Lists - Offline Dictionary app for Android.

Free Version: https://play.google.com/store/apps/details?id=com.fortylove.mywordlist.free

Disclaimer: I am the developer.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.