영강현(永康縣)과 백령현(白翎縣)이 합쳐져 이루어졌다. 영강현은 고구려 때 부진이(付珍伊)였으며, 고려 초에 영강으로 고쳤다. 1018년(현종 9) 옹진현(甕津縣)에 속하였으나 1106년(예종 1) 감무(監務)를 두어 가화현(嘉禾縣)을 겸임하였다. 1414년(태종 14) 장연(長淵)과 합하여 연강(淵康)이라 칭하였으나 곧 본래의 이름을 되찾았다. 백령도(白翎島)는 고구려 때 곡도(鵠島)였는데, 고려 초에 진(鎭)을 설치하였고 한때 문화현(文化縣)에도 속하였다.
1428년(세종 10) 영강과 백령을 합하여 강령현으로 하고, 해주 남쪽을 예속시켜 현의 치소를 사천(蛇川)에 옮기고 진을 설치하였다. 그 뒤 해주와 옹진에도 속하였으나, 1895년(고종 32) 해주부 강령군, 1896년황해도 강령군이 되었고, 1909년 옹진군에 병합되어 여러 면이 되었다.
서해안가에 위치하며 백령도를 포함한 많은 섬으로 되어 있다. 견라산(堅羅山) 봉수 등 4개의 봉수가 위치하였고, 병조ㆍ훈련도감ㆍ어영청ㆍ금위영 산하의 군병들이 배치되어 있었다.