Receptor recognition by viruses is the first and essential step of viral infections of host cells. It is an important determinant of viral host range and cross-species infection and a primary target for antiviral intervention. Coronaviruses recognize a variety of host receptors, infect many hosts, and are health threats to humans and animals. The receptor-binding S1 subunit of coronavirus spike proteins contains two distinctive domains, the N-terminal domain (S1-NTD) and the C-terminal domain (S1-CTD), both of which can function as receptor-binding domains (RBDs). S1-NTDs and S1-CTDs from three major coronavirus genera recognize at least four protein receptors and three sugar receptors and demonstrate a complex receptor recognition pattern. For example, highly similar coronavirus S1-CTDs within the same genus can recognize different receptors, whereas very different coronavirus S1-CTDs from different genera can recognize the same receptor. Moreover, coronavirus S1-NTDs can recognize either protein or sugar receptors. Structural studies in the past decade have elucidated many of the puzzles associated with coronavirus-receptor interactions. This article reviews the latest knowledge on the receptor recognition mechanisms of coronaviruses and discusses how coronaviruses have evolved their complex receptor recognition pattern. It also summarizes important principles that govern receptor recognition by viruses in general.