Dunvegan est un village situé à l'ouest de l'Ile de Skye, en Ecosse, au bord du Loch Dunvegan, portion de la mer des Hébrides (Atlantique).
Le château Dunvegan, fief du clan MacLeod depuis le XIIIe siècle, est situé au nord-ouest du village, sur la route de Claigan.
Le nom de la ville en gaëlique signifie « petit château ».