Dornoch liegt am nach dem Ort benannten Meeresarm «Dornoch Firth», an der Westküste Schottlands an der Nordsee. Der Dornoch Firth ist ein kleiner Nebenarm des Moray Firth, dem größten Meeresarm Schottlands. John o'Groats, der nördlichste Ort des Moray Firth, liegt rund 100 Kilometer nördlich, Inverness - am Scheitelpunkt des Meeresarms - knapp 50 Kilometer südlich. Alle Angaben in Luftlinie.
Der Ort zählt rund 1200 Einwohner.