河口縣因地處紅河與南溪河交匯口而得名。西漢屬牂牁郡進桑縣;東漢屬益州牂牁郡進乘縣。三國蜀漢屬益州興古郡進乘縣。西晉屬寧州興古郡進乘縣。東晉至南朝梁為寧州梁水郡進乘縣。北朝周屬南寧州。隋屬南寧州總管府。唐初屬嶺南道,唐南詔國屬通海都督。宋大理國屬最寧府。元屬臨安路。明代為臨安府王弄山長官司地。
清康熙五年(1666)8月,裁王弄山長官司,屬開化府;雍正八年(1730)7月,開化府屬迤東道(治曲靖府);道光(1821~1850)中期辟為汛地,取名河口汛。光緒十三年(1887)10月,開化府屬臨安開廣道;光緒二十三年(1897)設河口對汛副督辦公署,由省直轄。民國4年(1915)置河口對汛督辦公署。民國15年(1926)河口劃為特別行政區,由省直轄。
1949年12月,河口和平解放。1950年1月建立縣級人民政府;1950年5月31日,政務院批準:撤銷河口對訊督辦區,設立河口市(1950年6月10日云南省人民政府批準),屬蒙自專區。1955年1月3日,國務院批準:河口市改為河口縣,縣等列為丁等,由蒙自專區領導監督。1957年11月18日,紅河哈尼族彝族自治州正式成立,河口縣劃入紅河哈尼族彝族自治州。
1958年9月24日,國務院全體會議第80次會議決定:撤銷河口縣,設立河口瑤族自治縣,自治縣的行政區域為原河口縣的全部和原屏邊縣的瑤山瑤族自治區。1960年2月16日,國務院全體會議第96次會議通過:設立河口瑤族苗族自治縣,撤銷河口瑤族自治縣、屏邊苗族自治縣,將原河口瑤族、屏邊苗族2自治縣的行政區域為河口瑤族苗族自治縣的行政區域。1962年3月2日,國務院批準:撤銷河口瑤族苗族自治縣。
1962年10月27日,國務院全體會議第117次會議決定:恢復河口瑤族自治縣。以合并于河口瑤族苗族自治縣的原河口瑤族自治縣行政區域為河口瑤族自治縣的行政區域。1992年9月,經國務院批準設立河口邊境經濟合作區,界定面積4.02平方千米,享有省級經濟管理權,后經省人民政府批準在邊境經濟合作區的基礎上設立河口邊境經濟貿易區。
1996年,河口瑤族自治縣面積1313平方千米,人口約7.6萬人,其中瑤族占27%。轄2個鎮、4個鄉:河口鎮、南溪鎮、瑤山鄉、蓮花灘鄉、老范寨鄉、橋頭苗族壯族鄉。縣政府駐河口鎮。
2000年第五次人口普查,河口瑤族自治縣常住總人口95451人,其中:河口鎮33359人,南溪鎮17988人,老范寨鄉4808人,橋頭苗族壯族鄉16964人,瑤山鄉11130人,蓮花灘鄉11202人。
2003年,全縣總人口77015人(含國營農場);其中農業人口43434人(含國營農場),占總人口的56.4%。瑤、苗、壯、彝、傣、布依等少數民族人口占總人口的60.02%。
2006年,河口瑤族自治縣總面積1313平方千米,總人口10.21萬人。轄2個鎮、4個鄉(其中1個民族鄉):河口鎮、南溪鎮、老范寨鄉、橋頭苗族壯族鄉、瑤山鄉、蓮花灘鄉。共有3個居委會、27個行政村。縣政府駐河口鎮。河口、壩灑、南溪、螞蝗堡4個橡膠農場在境內。
2010年第六次人口普查,河口瑤族自治縣常住總人口104609人,其中:河口鎮37074人,南溪鎮21217人,老范寨鄉4806人,橋頭苗族壯族鄉16616人,瑤山鄉13231人,蓮花灘鄉11665人。
2014年,南溪鎮被列為全國重點鎮。