Table of Contents

Dictionary Grep/Search - Advanced

Note: the wildcard character is a dot: ”.”, not a question mark. To specify any number of characters, say ”.*” rather than “*”; e.g. “s.*py” will find “spy”, “scrappy” and “slaphappy”. It will also find “espy”, “sulfapyridine” and “unspying”. To avoid these, use “^” to mark the beginning of a word, and “$” to mark the end: “^s.*py$” will match “spy” and “sappy”, but not “espy” or “spying”.

Choose a dictionary:

case sensitive?

Search for:

return words that:

and also for:

return words that:


Restrict search to words of length:

Return :


We've added Ajax Search! as a new option on this form. Ajax should allow faster searches for words since the entire page is not retrieved, just the word list that results from your search. Let us know if you have problems. /

Frequent Questions

See our FAQ Document

You may prefer to use the simpler Dictionary Grep/Search.


The dictionaries available at the moment are:

There is a page where you can read about and download these dictionaries. You should at least look at the background information about these lists before deciding to trust them.

Search strings

There are two groups of two selections grouped together: a search string, and a choice about matching or failing to match. Each set of two belongs together: the string you enter is used as a search string, and the matching choice you make applies to that string. (You may prefer to use the simpler Dictionary Grep/Search)

The search string can just be a plain string, such as “gai”, which will return “gaiety”, “assegai”, and “regain”, among other words, but it can also be a regular expression. Regular expressions are powerful tools for searching patterns. We don't have space here for a full explanation of regular expressions. If you know how to use them, go ahead. If not, there is a reference for them at Claremont Graduate University that may get you started. We also have some examples that refer to specific flat types; you may find them useful.

The case sensitivity option should be self explanatory.

Single quotes are ignored in the pattern. This is to avoid a security issue. Quotes appear in very few entries in any case, and can still be matched, either by a dot, or by a circumlocution such as [^a-zA-z \-\!], which will match odd characters.

The UK cryptics list, in addition, contains some special characters, namely these: Åàäâåáçéêèîïñöôóûùü. The “no accents” version in the list converts these to their normal plain text equivalents.

The “match” choice permits you to logically reverse the sense of the test: if you specify a search string of “e” and “don't match” then you will only get words without an “e” in them.

Query type

This choice permits you to transform the word list before it is searched. You can leave it as it is (the default) by choosing “The original list”. You can choose “alphabetic characters only”, which will remove spaces, hyphens, quotes, exclamation marks, and so on from the entries. This is useful when you want the resulting entries to be a certain number of letters–“tit for tat” is an 11-letter entry using the default, but a 9-letter entry using the “alphabetic characters” option.

Choosing the other two options permits you to delete everything but vowels, or everything but consonants. This may be useful in cases where you are hunting for a word whose vowels or consonants fullfil certain criteria. However, you should note that the result is a list with entries which have their vowels or consonants deleted also. This means that if you search for \(.\)\1 and specify “consonants only” you will find “tit for tat”, since it has consecutive t's, but it will show up in the list as “ttfrtt” since those are the consonants. This may make it less useful to you.

Note: Using “Alphabetic only” will exclude accented characters.

Word length

You can specify the word length to return. The length is tested after any conversions caused by query type, above, so with “consonants only” selected, “tit for tat” will only be found if the word length is set to 6.

Return type

The result always shows you how many words match. To speed things up, however, you may sometimes not want to see the actual words; for example if you're trying to determine frequency counts. You can specify “count of matching words” to avoid generating the word list. This is particularly useful if you might otherwise return lists of hundreds of thousands of words.