芮城商末為芮國。春秋時桓公三年(公元前709年),芮伯萬為其母所逐出奔魏,筑城居之,因名芮城。戰國時屬魏國,秦屬河東郡。西漢于今城關東北3千米置河北縣,屬河東郡。后秦于縣置河北郡,縣屬之。北魏太和十一年(487)河北郡治徙今平陸縣境。西魏于今城關東5千米東張村置安戎縣,屬河北郡。
北周明帝二年(558)安戎縣改芮城縣。武成二年(560)河北縣改永樂縣,于縣置永樂郡,與芮城縣俱屬之。保定二年(562)永樂縣廢入芮城縣。天和二年(567)徙治今城關。隋改屬河東郡。
唐武德元年(618)析芮城縣地復置永樂縣;二年于芮城縣置芮州,二縣俱屬之,七年永樂縣治徙今城關西南20千米永樂鎮故址。貞觀元年(627)廢芮州,芮城縣屬陜州;永樂縣屬鼎州,后次第屬蒲州、河中府。宋熙寧六年(1073)廢永樂縣。金芮城縣屬解州。元世祖至元年間芮城縣廢入平陸縣,元貞年間復置,仍屬解州。
民國初年廢州,縣改屬河東道,道廢后直屬省。1947年以芮城與永濟2縣部分地區復置永樂縣,屬太岳行署三分區,1949年并入永濟縣;芮城縣屬晉南區運城分區,隸陜甘寧邊區。后復歸山西省,屬運城專區。1954年屬晉南專區。1967年屬晉南地區。1970年屬運城地區。
1997年,芮城縣轄5鎮11鄉:城關鎮、陌南鎮、永樂鎮、風陵渡鎮、西陌鎮、嶺底鄉、東壚鄉、大禹渡鄉、南衛鄉、學張鄉、古仁鄉、大王鄉、陽城鄉、杜莊鄉、漢渡鄉、中瑤鄉。共有310個行政村,總人口35萬,其中農業人口32萬。
2000年,芮城縣總人口372773人,其中:城關鎮71328人,風陵渡鎮36338人,陌南鎮28168人,西陌鎮20708人,永樂鎮15140人,大王鎮22796人,陽城鎮22911人,嶺底鄉15481人,東壚鄉20632人,南衛鄉27670人,大禹渡鄉6240人,學張鄉21123人,古仁鄉15872人,杜莊鄉15170人,漢渡鄉14287人,中天鄉18909人。
2001年,城關鎮更名為古魏鎮;中瑤鄉、漢渡鄉并入風陵渡鎮;嶺底鄉并入陌南鎮;杜莊鄉并入陽城鎮;大禹渡鄉并入南衛鄉;撤銷古仁鄉,尚村、陳常、古仁、大陽、樊莊5村并入大王鎮,王澗、杜家2村并入學張鄉,許灣、新村、南張、杜村、鄭家、楊溝、溝渠頭、蔡村、曹家、李灣10村并入永樂鎮。區劃調整后,全縣轄7個鎮、3個鄉:古魏鎮、風陵渡鎮、陌南鎮、西陌鎮、永樂鎮、大王鎮、陽城鎮、東壚鄉、南衛鄉、學張鄉。共有310個村委會,707個自然村。