In his collected writings, Shakespeare used 31,534 different words. 14,376 words appeared only once and 846 were used more than 100 times. Using statistical techniques, it’s possible to estimate how many words he knew but didn’t use.
This means that in addition the 31,534 words that Shakespeare knew and used, there were approximately 35,000 words that he knew but didn’t use. Thus, we can estimate that Shakespeare knew approximately 66,534 words.
According to one estimate, the average speaker of English knows between 10,000-20,000 words.