Both mean the same according to dictionaries (to destroy something ​completely), but what is the difference between the usage of these terms?

I've heard that annihilate can be used for cities and building but eradicate more for non-physical things. Is that really correct? How are these terms different for native speakers?


2 Answers 2


Eradicate according to Dictionary.com means:

To remove or destroy utterly; extirpate:

To eradicate smallpox throughout the world.

And the etymology of eradicate is out root, to pull up by the roots. So, to eradicate means to wipe out from the roots. This usage is usually for non-human items such as small pox in the example given.

Annihilate according to Dictionary.com, means:

  1. To reduce to utter ruin or nonexistence; destroy utterly:

The heavy bombing almost annihilated the city.

  1. To destroy the collective existence or main body of; wipe out:

To annihilate an army.

The etymology of this word is to nothing. To annihilate is to wipe out something to nothing. This usage from what I have seen, is usually for human related things such as army and city in the examples I have given.

  • Thanks . how about ideologies? For example "We will annihilate / eradicate absolutism / communism / fascism in this country"
    – kyle
    Sep 3, 2015 at 9:35
  • "Eradicate" for ideologies. "Eradicate" for me always has a sense of "move" or "move out", as in "expel" or "banish", possibly only from a certain area, whereas "annihilate" means complete elimination (nihil), to zero, everywhere.
    – Jeff Y
    Dec 3, 2015 at 20:08

Short Answer

  • Use annihilate when the objects are human (or human-related, like cities or buildings).
  • Use eradicate when the objects are non-human (like pests or diseases).

I don't think this distinction is in the dictionary. However, that nuance in usage has been my experience as a native speaker.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .