Probably the simplest way to check a word if it exists is to use `DictionaryWordQ[]`

```
DictionaryWordQ["color"]

```

> 
> True
> 
> 
> 

But it does not recognise British spelling:

```
DictionaryWordQ["colour"]

```

> 
> False
> 
> 
> 

So my guess is that `DictionaryWordQ[]` checks words from `WordList[]`:

```
Select[WordList[], StringLength[#] > 3 && StringTake[#, 4] == "colo" &]

```

> 
> {cologne,colon,colonel,colonial,colonialism,colonialist,colonic,colonist,colonization,colonize,colonized,colonizer,colonnade,colonnaded,colony,colophon,color,coloration,coloratura,colored,colorfast,colorful,colorimetric,coloring,colorist,colorize,colorless,colorlessness,colors,colossal,colossus,colostomy,colostrum}
> 
> 
> 

No `colour`. However,

```
WordData["colour"]

```

> 
> {{colour,Noun,Color},{colour,Noun,Gloss},{colour,Noun,VisualProperty},{colour,Noun,Timber},{colour,Noun,Interest},{colour,Noun,Variety},{colour,Noun,Race},{colour,Noun,Stuff},{colour,Adjective},{colour,Verb,Discolor},{colour,Verb,Alter},{colour,Verb,TouchOn},{colour,Verb,Rationalize},{colour,Verb,Beautify},{colour,Verb,Influence}}
> 
> 
> 

So the word `colour` is known to *Mathematica*, but `DictionaryWordQ[]` does not see it!

Interestingly,

```
DictionaryWordQ["qt"]

```

> 
> True
> 
> 
> 

```
Select[WordList[], StringLength[#] > 1 && StringTake[#, 2] == "qt" &]

```

> 
> {}
> 
> 
> 

which gives an impression that `DictionaryWordQ[]` is looking at a bigger set of words compared to `WordData[]` (or it is a bug!).

**Question:**

What is the best way to verify if a word exists?

(Version used: 11.1, 10.4 in Linux)