西漢置都夢縣,屬牂牁郡。東漢屬益州牂柯郡。三國蜀漢屬益州興古郡。西晉置都唐縣,屬寧州興古郡。東晉至南朝梁屬寧州興古郡。北朝周屬南寧州。隋屬南寧州總管府。唐南詔國屬通海都督僚子部。宋大理國屬最寧府教合三部。元屬臨安路教合三部。明屬臨安府教化三部司。清康熙五年(1666)8月,臨安府析置開化府,治今開化鎮。康熙八年(1669)省廣西府維摩州,析其地來屬。雍正七年(1730)12月裁開化通判,設文山縣為開化府之附郭,縣丞駐江那。以東文山而得名。轄區為開化府所設開化、永平、安南、王弄、東安、樂龍、逢春、江那八里,后從樂龍分新現共九里,里下設甲、牌,均原三長官司所屬地。雍正八年(1730)7月,置迤東道,開化府屬之。嘉慶二十五年(1820年)改馬白同知為安平廳,分管逢春、永平、東安三里,文山縣轄六里。道光二年(1822)3月,析文山縣屬東安、逢春、永平三地入安平廳。光緒十三年(1887)10月,置臨安開廣道,開化府改屬臨安開廣道。
民國元年(1912),成立縣公署。民國2年(1913)4月,裁府留縣,改設開化縣。同年劃分南區設靖邊行政區。文山縣地域西南抵干魚洞接許六馬以那么果河為界110千米,總面積6258平方千米。民國3年(1914)1月,因與浙江省轄縣重名,復名為文山縣,隸蒙自道。民國18年(1929)年廢道,文山縣直隸于省。民國19年(1930),改組縣公署為縣政府,組織區、鄉、鎮、閭、鄰各級自治機關。民國21年(1932),劃東區設硯山設治局,文山縣轄區2935千米。全縣改組為8個區,下轄11鎮、21個鄉。民國26年(1937),將區、鄉、鎮所屬編為216保、1922甲。民國28年(1939),廢除區制,擴大鄉鎮,縣新編組為5鎮、11鄉、194保、1866甲。民國31年(1942),隸第二行政督察區(駐文山縣)。民國32年(1943),全縣16鄉鎮調整為155保、1272甲。民國33年(1944)6月,文山縣為一等縣,總面積2281平方千米,總戶數16142戶,總人口80898人,其中男性38219人、女性42679人。全縣轄5鎮、11鄉;155保、1272甲。民國37年(1948),隸第四行政督察區(駐硯山縣)。同年,縣內轄區調整為134保、1061甲。
1950年1月全縣解放,屬文山專區。轄區未變。除縣城兩鎮并為云威鎮,太集(改永樂)、新平兩鄉直屬縣管,外設平壩、馬塘、秉烈、德厚4個區,轄3鎮11鄉。5月撤鄉鎮設5個區,全縣編組為50個行政村、5個行政街,下轄自然村和村組。1951年10月,將中心區農村7個行政村及平壩區的布都、塘子寨2個行政村并為攀枝花區,縣城設城關區,全縣共6個區。1952年土改結束,全縣6個區建97個鄉。1953年土改復查結束并為74個鄉、3個居民委員會。1954年除城關區外,再調整為81個鄉,全縣共760個自然村、21條街組。1957年5月,文山專區以文山縣的鳴鷲、楊柳河、猛拉、舍所壩、秧草塘、白牛廠、老寨、古布龍等8個鄉距縣城較遠,劃入蒙自專區蒙自縣;文山縣總面積減為2634平方千米,全縣6個區、73個鄉和3個居民委員會。1958年10月20日國務院全體會議第81次會議決定:撤銷開遠縣,將原開遠縣的六區全部和七區的4個鄉、五區的1個鄉劃歸文山縣。
1958年文山縣屬文山壯族苗族自治州;同年9月,廢區撤鄉,實行政社合一的人民公社;馬關縣的古木、八寨兩個區劃出12個鄉并入文山縣,總面積擴大到6844.55平方千米。1960年9月13日,國務院全體會議第103次會議通過:撤銷硯山縣,將原硯山縣的行政區域并歸文山縣。1962年3月27日,國務院全體會議第115次會議決定:恢復硯山縣,以合并于文山縣的原硯山縣行政區域為硯山縣的行政區域(1961年8月分置);文山縣位于總面積減為2867平方千米。
1987年12月,進行區鄉體制改革,撤銷公社建制,變區為16個鄉(其中:5個彝族鄉、1個回族鄉)、1個鎮(開化鎮、攀枝花鄉、東山彝族鄉、追栗街彝族鄉、古木鄉、柳井彝族鄉、平壩鄉、新街鄉、小街鄉、馬塘鄉、老回龍鄉、喜古鄉、壩心彝族鄉、秉烈彝族鄉、紅甸回族鄉、德厚鄉、樂詩沖鄉)。原設鄉改為125個行政村公所,縣屬開化鎮仍設5個辦事處。全縣轄1097個自然村,13個農村街集,47條城鎮街道,共1707個生產隊。拉白沖、拖嘎兩個鄉劃歸硯山縣,文山縣位于總面積減為2972平方千米。