八宿县整个县域内的平均海拔为4000米,县城所在地白马镇海拔3260米。八宿县位于西藏自治区东部,昌都市东南部,地处怒江上游。地理坐标为东经96°23′-97°28′,北纬29°40′-31°01′。
八宿可分为3个自然区:东北部昌都以南的邦达地带,海拔较高。怒江流域延伸至左贡县境内,为高山峡谷过渡区。其余地方高山环绕,峡谷相间。
八宿县境内主要山脉有横断山,近似南北走向。主要山峰有北部的初胆针山,海拔5971米。西北部的拉穷山,海拔4700米。南部的然乌湖地区。
八宿全县呈狭长地形,分向南北延伸,地势由东北向西南倾斜,构成七山二水一分地的地形特点。八宿主要河流有怒江及其支流。