Inchmarnock lies to the west of the Isle of Bute at the northern end of the Sound of Bute.
The island gives its name to Inchmarnock Water, the body of water that lies between the island's western shore and the Kintyre peninsula.