城步歷史悠久,其先民活動可以追溯到新石器時代,縣北西巖鎮(zhèn)朝園里有新石器時代文化遺址。
縣境因所處地理位置的關(guān)系,歷史上常分屬不同政區(qū)。
隋末,肖銑據(jù)邵陽置建州,設(shè)武攸縣,治今城步儒林鎮(zhèn),為置縣之始。
唐武德四年,李淵平肖銑,更武攸為武岡,仍治今儒林鎮(zhèn),隸南梁州。
貞觀十年,改南梁州為邵州,今城步大部分地方為邵州武岡縣地,縣南境則分別為“西原蠻”地和“桂州蠻”地。
宋初移武岡縣治于今武岡市城關(guān)鎮(zhèn),于原治置城步寨,始用“城步”之名。
弘治十七年(1504)析武岡、綏寧縣地置城步縣,隸屬寶慶府,治所設(shè)今縣城,并沿襲至今。
清乾隆三年城步改隸靖州,乾隆六年復(fù)隸寶慶府。
1949年10月14日,城步縣解放,隸屬邵陽區(qū)督察專員公署,后隸屬邵陽專員公署、邵陽地區(qū)行政公署。
1956年11月30日,國務(wù)院批準(zhǔn)撤銷城步縣建制,建立城步苗族自治縣,系全國第二個苗族自治縣。
1986年1月27日,國務(wù)院批準(zhǔn)撤銷邵陽地區(qū)建置,實行市管縣體制,城步苗族自治縣劃隸邵陽市。