横山县地处北纬37.22度~38.14度和东径108.56度~110.02度之问,东西最宽处为97公里,南北最长处约102公里,总面积4333平方公里。
县境最东端为党岔镇朱家沟村,最西端为雷龙湾乡沙梁村,最北端为白界乡老庄子村,最南端为石湾镇中青湾村。环绕本县四周的,北为榆阳区,东为米脂县,东南是子洲县,正南是延安市子长县,西为靖边县,西北有内蒙鸟审旗。
全县地势大致从西向东倾斜,西南及中部高,海拔在1300—1500米之间;东北及南部低,海拔在900—1200米之间。横山地貌以无定河及其支流芦河为界分为两大类型,南东系山川构成的丘陵沟壑区,北西属沙丘滩梁构成的风沙草滩区。