I'm attempting to write a program with a spell check/auto-complete feature. For this I need a decent sized list of the most common English words. The problem I've ran into is that there is a great disparity in the list sizes that I've found. They're either <1,000 words or >50,000. A list of <1,000 words is too short, and many useful words are omitted. However, a list of >50,000 words starts to become a little much for my algorithm (speed wise).

Anyone know of a list ~3,000-12,000 English words. Preferably in a .txt file. Also, it needs to have relatively non-restrictive license (ie, redistributable).


Try Wiktionary's list of the most frequent English words. Take as many or as few as you like!

  • Just the kind of thing I was looking for! – RectangleTangle Jun 2 '11 at 1:10

http://wordlist.sourceforge.net/ has a list of words. I would generally imagine that adding more words would not at all be computationally intensive (since its at worst the length of the wordlist amount of comparisons, and its probably faster if you are using a dictionary or some other optimized datastruture).

  • My current algorithm is written entirely in Python and uses lists. So more items, means more comparisons. It actually handles up to ~100,000 well. However I need it to be instant, even on low performance machines (ie, netbooks and old computers). At around ~50,000 my netbook starts to strain (it takes about 0.3 seconds). – RectangleTangle Jun 2 '11 at 1:18
  • I think you are doing something wrong then... In addition, a case switch (for 26 possible first letter) will dramatically speed things up. – soandos Jun 2 '11 at 1:25

http://www.gnu.org/software/miscfiles/ Has a list of words in file words.

$ wc -w words extra.words 
  234937 words
  121847 extra.words
  356784 total

Numbers never lie....

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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