본래 고구려의 우시군(于尸郡)이었는데, 757년(경덕왕 16) 유린군(有隣郡)으로 바꾸어 명주의 영현을 삼았다. 940년(태조 23) 예주(禮州)로 바뀌었고, 현종 때는 방어사를 두었다.
1259년(고종 46) 위사공신(衛社功臣) 박송비(朴松庇)의 내향이라 하여 덕원소도호부(德原小都護府)로 승격한 뒤 다시 예주목으로 승격시켰다. 1310년(충선왕 2) 전국의 목(牧)을 없앰에 따라 영해부(寧海府)로 강등시켰다.
1397년(태조 6) 이곳에 진영(鎭營)을 설치하여 병마사가 부사를 겸하게 하였고, 1413년(태종 13) 진을 폐하여 도호부로 고쳤다. 1895년(고종 32) 안동부 소관의 영해군이 되었다가 다음해에 경상북도의 관할이 되었으며, 1914년 행정구역 개편 때 영덕군에 통합되어 영해면이 되었다.
지명 유래는 이곳의 바다가 파도 없이 잔잔한 때가 많으므로 ‘바다가 편한 곳’이라는 뜻에서 영해라 한 것으로 추측된다. 이곳은 고려 말기에 왜구가 여러 번 침입하여 전투가 있었는데, 특히 영해 앞바다의 축산도(丑山島)에서는 공민왕 때 왜선을 크게 쳐부수기도 하였다.
이곳은 해안 방어의 요지가 되므로 고려 말기에 읍성을 수축하였고, 조선시대에는 대소산(大所山)과 광산(廣山)의 봉수가 남북으로 연결되었다. 교통망으로는 북쪽의 평해와 남쪽의 영덕을 잇는 해안도로 외에 서쪽으로 태백산맥의 오현(烏峴)ㆍ읍령 등을 거쳐 영양ㆍ진보를 잇는 도로가 발달했었다.
이곳은 해안 경치가 빼어나 관어대(觀魚臺)의 일출이 예로부터 유명하였고, 해안의 솔밭에는 해안루(海安樓)ㆍ임영루(臨瀛樓)ㆍ봉송정(奉松亭) 등이 있었다. 유적으로는 1529년(중종 24) 건립한 영해향교가 있다.