威海歷史悠久,新石器時代中期,境內就有人類聚居。夏、商、周三代,今市境為東方嵎夷之地,有萊夷聚居。北齊天統四年(568年),境內設文登縣,今市境盡屬之。此后,朝代更替,但隸屬文登縣未變。
明洪武三十一年(1398年),為防倭寇侵擾,設威海衛,威海之名即由此而來。清光緒二十四年(1898年),英國強租威海衛。光緒二十六年(1900年),設威海衛行政長官署,屬英國殖民部。1930年10月,中國收回威海衛,置威海衛行政區,直屬國民政府行政院。
1950年5月,成立文登專區,轄威海、榮成、文登、昆崳、乳山、海陽、牟平、福山8個縣。1956年2月,文登專區撤銷,今威海地域改屬萊陽專區。1958年10月,萊陽專區改為煙臺專區。1967年2月,煙臺專區更名為煙臺地區,今威海地域屬之。1983年8月,撤銷煙臺地區,設煙臺市(地級),威海市改為省轄縣級市,由煙臺市代管,文登、榮成、乳山3個縣歸煙臺市管轄。
1987年6月15日,威海市升為地級市,原縣級威海市設為環翠區;煙臺市的榮成、文登、乳山3個縣劃歸威海市管轄。1988年10月,文登縣改為省轄縣級市,由威海市代管;11月,榮成縣改為省轄縣級市,由威海市代管。1993年7月,乳山縣改為省轄縣級市,由威海市代管。2014年2月27日,撤銷文登市,設立威海市文登區