Homonym is the broader term, covering words that are spelled the same, sound the same, or both, without necessarily meaning the same thing. Homophone is narrower: it means words that sound alike but usually differ in spelling and meaning. Flour and flower are homophones; bat (the animal) and bat (the sports equipment) are homonyms.
The core difference
Homonym is the umbrella term for lookalike or soundalike words, while homophone specifically means words that sound the same.
- homonym — a word that is spelled or pronounced the same as another word, though not necessarily both: bat meaning a flying mammal and bat meaning sports equipment are homonyms.
- homophone — a word that sounds the same as another word but has a different meaning, and often a different spelling: flour and flower are homophones.
How to tell them apart
Homonym is the wide net: it catches any pair of words that share spelling, sound, or both, even if the meanings have nothing in common. Some linguists reserve a stricter sense of homonym for words that are both spelled and pronounced alike, like fluke (the flatworm) and fluke (a stroke of luck). Homophone is far narrower — it's specifically about sound, so flour and flower count even though they're spelled quite differently.
A simple memory hook: homophone is about the phone, meaning sound, so it only cares how words are said. This mix-up shows up constantly in spellcheckers, which rarely catch a homophone used in the wrong place, since the misspelled word is still a real, correctly spelled word — just the wrong one.