因縣境西有紫云源勝境而得名。清康熙七年(1668)置威遠營,次年改歸化廳,民國3年(1914)改為紫云縣。1965年改紫云苗族布依族自治縣。
1996年,紫云苗族布依族自治縣轄5個鎮、7個鄉:松山鎮、水塘鎮、猴場鎮、貓營鎮、板當鎮、壩羊鄉、白石巖鄉、宗地鄉、大營鄉、四大寨鄉、火花鄉、達幫鄉。縣政府駐松山鎮。
2000年第五次人口普查,紫云苗族布依族自治縣常住總人口297348人,其中:松山鎮49313人,水塘鎮20031人,猴場鎮31380人,貓營鎮36892人,板當鎮37128人,白石巖鄉13464人,宗地鄉26156人,大營鄉21204人,四大寨鄉16463人,壩羊鄉15920人,火花鄉20416人,達幫鄉8981人。
2003年末,紫云苗族布依族自治縣總人口34.06萬人,其中少數民族23.31萬人,非農業人口1.85萬人。轄5個鎮、7個鄉,223個村委會、5個居委會。
2007年末,紫云苗族布依族自治縣總面積2283平方千米,總人口35萬人,其中少數民族人口23.94萬人,非農業人口3萬人,轄5個鎮、7個鄉,223個行政村、6個居委會。
2010年第六次人口普查,紫云苗族布依族自治縣常住總人口270345人,其中:松山鎮55242人,水塘鎮17316人,猴場鎮27713人,貓營鎮32084人,板當鎮31966人,白石巖鄉10908人,宗地鄉27651人,大營鄉18153人,四大寨鄉13078人,壩羊鄉12765人,火花鄉15343人,達幫鄉8126人。2010年末,全縣常住人口27.07萬人。
2011年末,紫云苗族布依族自治縣面積2284平方千米;常住人口26.82萬人;戶籍人口37.11萬人,其中少數民族人口24.25萬人;轄5個鎮、7個鄉,6個居委會、223個行政村。