子长县地处陕西省北部居中,北依横山山脉南麓南临永坪川,居延安地区北部清涧河上游。县境东端马家砭、南沟岔乡与清涧、子洲两县接壤;南部热寺湾、余家坪乡与延川县、延安市毗邻;西部安定镇、李家岔乡与安塞、靖边两县相连;北依横山山脉与横山县交界。全县介东经109°11′58"~110°01′22"、北纬36°59′30"~37°30′00"之间,东起马家砭乡西沟岔村,西至李家岔乡麻岭山村,最长处72公里;北起高台乡石窑台村,南至余家坪乡邢家沟村,最宽处55.70公里。全县总面积2395.36平方公里,约占陕西省总面积的1.16%,占延安地区总面积的7%。
县城瓦窑堡位于东经109°39′、北纬37°08′,为全县政治、经济、文化中心。自瓦窑堡沿210国道至清涧县城49公里,至延川县永坪镇25公里,至延安95公里,至横山县城292公里(经绥德、米脂),至靖边县城281公里(经绥德、子洲),至子洲县城135公里(经绥德),至西安444公里。沿省道至安塞县城68公里。