自漢代以來所設汶江、綿池、汶山、汶川等建置皆以境內岷江得名。據《元和郡縣志》:“梁置汶川縣,因縣西汶水為名。”古“汶”、“岷”通用,汶江即岷江,汶乃岷的隸書之變,且岷汶古音相通。岷江亦讀作汶江。
其地古屬冉毿部。公元前111年以冉毿地置汶山郡,轄綿池等5縣,綿池為郡、縣舊址在今威州鎮姜維城。東漢曾改綿池縣為綿池道,西晉改綿池縣為汶川縣。東晉汶川郡僑遷都安(今都江堰市),廢綿池縣。南朝梁于綿池縣地置汶川縣,西魏時省。北周天和三年(568年)復置汶川縣,縣治仍在姜維城,直到明宣德年間治寒水驛(今綿虒鎮政府所在地)。1952年縣治遷至威州。1958年汶川縣與茂縣、理縣合并成立茂汶羌族自治縣。1963年復置汶川縣。
1990年底,全縣轄3鎮、14鄉,總人口96054人(農業人口占70.46%,非農業人占29.54%)。有羌族27154人,占總人口的28.27%,主要居住在縣北部的威州、綿池地區;藏族13837人,占總人口的14.4%,多聚居在氓江以西地帶;漢族53978人,占總人口的56.2%,主要分布在南部漩口、映秀地區;回族916人,占總人口的0.95%。
1996年,汶川縣面積4048.1平方千米,人口10.4萬人。轄6個鎮、8個鄉:威州鎮、綿虒鎮、臥龍鎮、映秀鎮、漩口鎮、水磨鎮、克枯鄉、龍溪鄉、雁門鄉、草坡鄉、銀杏鄉、耿達鄉、三江鄉、百花鄉。縣政府駐威州鎮。
2000年第五次人口普查,汶川縣常住總人口111935人,其中:威州鎮29237人,綿虒鎮9373人,映秀鎮7977人,臥龍鎮2552人,漩口鎮13091人,水磨鎮10467人,龍溪鄉4851人,克枯鄉3445人,雁門鄉6980人,草坡鄉4906人,銀杏鄉2672人,耿達鄉2583人,白花鄉9644人,三江鄉4157人。
2004年,汶川縣轄威州、漩口、映秀、水磨、綿虒、臥龍6個鎮和雁門、克枯、龍溪、草坡、銀杏、耿達、白花、三江8個鄉。
2010年第六次人口普查,汶川縣常住總人口100771人,其中:威州鎮34460人,綿虒鎮7845人,映秀鎮2468人,臥龍鎮2421人,水磨鎮12574人,漩口鎮13597人,龍溪鄉3724人,克枯鄉3078人,雁門鄉7504人,草坡鄉3826人,銀杏鄉2302人,耿達鄉2857人,三江鄉4115人。
2013年,省政府(川府民政[2013]1號)批復同意撤銷三江鄉,設立三江鎮,鎮政府駐街村,轄原三江鄉所屬行政區域;省政府(川府民政[2013]26號)批復同意撤銷耿達鄉,設立耿達鎮,鎮政府駐耿達村,轄原耿達鄉所屬行政區域。2014年,省政府(川府民政[2014]9號)批復同意撤銷草坡鄉,將草坡鄉所屬行政區域劃歸綿虒鎮管轄。
至此,全縣轄8個鎮、4個鄉:威州鎮、綿虒鎮、映秀鎮、臥龍鎮、水磨鎮、漩口鎮、三江鎮、耿達鎮、龍溪鄉、克枯鄉、雁門鄉、銀杏鄉。