北张乡,隶属于山西省吕梁市文水县,地处文水县中南部,东与下曲镇毗邻,南连西槽头乡,西与孝义镇接壤,北邻凤城镇、南武乡,距文水县城约10千米,区域总面积41.28平方千米。
1949年,北张乡境域属文水县第六区;1984年4月,由北张公社改为北张乡。截至2018年末,北张乡户籍人口为29108人。截至2020年6月,北张乡下辖10个行政村,乡人民政府驻北张村。
2018年,北张乡有工业企业5个,其中规模以上1个,有营业面积超过50平方米以上的综合商店或超市22个。