威信縣古名衛靖司,諧音更名為威信,取國家宣威立信與民之意。兩漢為犍為郡南廣縣地。三國蜀漢為朱提郡南廣縣地,屬益州。西晉為益州朱提郡南秦縣地,東晉至南朝梁屬寧州南廣郡地。北朝周屬南寧州。隋開皇年間屬南寧州總管府協州轄地;大業年間為東爨地。唐初屬劍南道戎州轄地,唐南詔國為芒布部地。宋屬梓州府路易溪部、芒布部。元屬芒部路軍民府,至元十年(1273)置芒部路,下轄益良州、強州。
明洪武十五年(1382),芒部路改置芒部府,屬云南布政司,同年徙治納沖南七里;洪武十六年(1383)改屬四川布政司;洪武十七年(1384)改置芒部軍民府,同年撤并強州、益良州。成化年間,芒部軍民府徙治納沖。嘉靖五年(1526),芒部軍民府更名鎮雄軍民府;升母響寨置威信長官司,升卻落角置安靖長官司,均屬鎮雄軍民府,安靖、威信(今三桃區新街鄉)長官司在今威信境內。“威信”一名始此,即“宣成立信與民”之意。萬歷三十七年(1609),鎮雄軍民府改置鎮雄府。
清初襲明制,為鎮雄土府轄地,屬四川省。雍正五年(1727)3月,鎮雄府改土歸流,劃歸云南省。雍正六年(1728)2月,鎮雄降為散州往屬于烏蒙府,鎮雄州判駐威信。雍正八年(1730)7月,烏蒙府更名為昭通府,屬迤東道。光緒三十四年(1908)10月,升鎮雄州為直隸州,屬迤東道。民國六年(1917),由鎮雄縣析置威信行政區,屬滇中道。民國十年(1921),行政委員駐地遷于扎西。民國十八年(1929)撤滇中道,威信行政區直屬省管。民國廿一年(1932)威信行政公署改為設治局,民國廿三年(1934)9月,成立威信縣。民國卅一年(1942),威信縣屬云南省第一行政督察區(駐昭通縣)。
1950年7月,威信縣屬昭通專區。1954年12月20日,云南省人民政府批復:云南省威信縣第五區水田鄉飛地木瓦房村(包括白泥、后山、龍塝等自然村,合計1266人,面積約1平方千米)劃歸四川省古藺縣石壩區管轄(1952年9月14日交接)。1970年,昭通專區改為昭通地區,威信縣屬昭通地區。1996年,威信縣轄2個鎮、9個鄉:扎西鎮、舊城鎮、羅布鄉、三桃鄉、麟鳳鄉、長安鄉、廟溝鄉、高田鄉、雙河苗族彝族鄉、石坎鄉、水田鄉。縣政府駐扎西鎮。2001年8月,昭通撤地設市,威信縣屬昭通市。
2000年第五次人口普查,威信縣常住總人口總人口328184人,其中:扎西鎮63266人,舊城鎮26039人,石坎鄉30051人,雙河鄉25779人,高田鄉25647人,羅布鄉44300人,林鳳鄉32420人,長安鄉25161人,廟溝鄉16084人,三桃鄉25875人,水田鄉13562人。
2002年末,威信縣總戶數有8.32萬戶,其中農業戶數7.66萬戶,總人口36.05萬人,其中農業人口33.67萬人。少數民族人口占總人口的10%左右,以苗族居多。轄2個鎮、9個鄉(其中1個民族鄉):扎西鎮、舊城鎮、石坎鄉、高田鄉、羅布鄉、麟鳳鄉、長安鄉、廟溝鄉、三桃鄉、水田鄉、雙河苗族彝族鄉。共有84個村委會。
2006年1月20日,省政府批復同意撤銷石坎鄉,其行政區域并入扎西鎮,鎮政府駐地不變。2006年,全縣總人口36.98萬人。轄2個鎮、8個鄉(其中1個民族鄉):扎西鎮、舊城鎮、雙河苗族彝族鄉、高田鄉、羅布鄉、林鳳鄉、長安鄉、廟溝鄉、三桃鄉、水田鄉。共有4個居委會、83個行政村。縣政府駐扎西鎮。
2010年第六次人口普查,威信縣常住總人口385865人,其中:扎西鎮124458人,舊城鎮27314人,雙河苗族彝族鄉28364人,高田鄉27419人,羅布鄉48666人,林鳳鄉39763人,長安鄉27406人,廟溝鄉18293人,三桃鄉28888人,水田鄉15294人。
2012年8月30日,省政府批復同意撤銷威信縣水田鄉、長安鄉,設立水田鎮、長安鎮(云政復[2012]68號)。全縣現轄7個鎮、3個鄉(其中1個民族鄉):扎西鎮、舊城鎮、羅布鎮、林鳳鎮、長安鎮、廟溝鎮、水田鎮、雙河苗族彝族鄉、高田鄉、三桃鄉。