Portknockie liegt zwischen Fraserburgh im Osten und Elgin im Westen. Fraserburgh liegt ziemlich genau 50 Kilometer, Elgin knapp 30 Kilometer entfernt. Portknockie liegt an der Südküste des Moray Firth, dem größten Meeresarm Schottlands. Die Distanz bis Inverness beträgt knapp 90 Kilometer. Alle Angaben in Luftlinie.
Portknockie zählt etwas über 1'000 Einwohner.