A homophone is a word that is pronounced the same as another word but differs in meaning. The words may be spelled the same, such as rose (flower) and rose (past tense of “rise”), or differently, such as carat, caret, and carrot, or to, two, and too. Homophones that are spelled the same are also both homographs and homonyms. Homophones that are spelled differently are also called heterographs. The term “homophone” may also apply to units longer or shorter than words, such as phrases, letters or groups of letters that are pronounced the same as another phrase, letter or group of letters.
The word derives from the Greek homo- (ὁμο-), “same”, and phōnḗ (φωνή), “voice, utterance”. The opposite is heterophones: similar, but not phonetically identical words that have the same meaning.
This list is mostly for learners of English as a second language, to help with pronunciation (American English pronunciation):