This is an impossible question to answer! It really depends on what words you want to count. But there are, at the very least, a quarter of a million distinct English words, excluding inflections, and words from technical and regional vocabulary. The unabridged Oxford English Dictionary has about 600,000.
The Second Edition of the 20-volumeĀ Oxford English Dictionary contains full entries for 171,476 words in current use, and 47,156 obsolete words. To this may be added around 9,500 derivative words included as subentries. Over half of these words are nouns, about a quarter adjectives, and about a seventh verbs; the rest is made up of exclamations, conjunctions, prepositions, suffixes, etc. And these figures don’t take account of entries with senses for different word classes (such as noun and adjective).
Despite what you may hear, this one’s effectively impossible to within any acceptable margin of error. We can say that there’s probably between 600,000 and 2 million by most working definitions, but it depends what you count as a word.
Some people make a living trying to pin down a number, but they just end up making fairly arbitrary decisions. An organization called Global Language Monitor announced English had reached its ‘millionth word’ recently, but there’s no reason to accept their counting methodology as better than another.