강원도 중부에 있는 군. 북부와 동부는 안변군, 남부는 세포군ㆍ회양군, 서부는 법동군과 접해 있다. 동서(위남리~산양리) 간의 길이는 23km이고, 남북(금천리~구령리) 간의 길이는 31km이며, 군 면적은 430,684㎢로서 도 전체면적의 3.88%를 차지한다. 현재 행정구역은 1읍 24리로 구성되어 있으며 군 소재지는 고산읍이다.
1952년에 군을 신설하면서 신고산면을 기본으로 하여 이루어진 군이라 하여 고산군이라 하였다. 원래 고산이란 지명은 고산 밑에 위치한 고산동에서 비롯되었는데, 고산동은 조선 말기에 안변군 위익사 고산동으로 되었고 후에 안변군 위익면(衛益面) 고산리(高山里)로 개편되어 면 소재지가 되었다. 광복 전에 철도가 부설되면서 고산리 옆에 생긴 마을을 신고산리라 하였는데, 그 후 신고산리지역이 신고산면으로 개편되어 안변군 신고산면으로 되었다.
고산군 지역은 원래 오랫동안 함경남도 안변군에 속해 있다가, 1946년 9월 강원도 안변군에 속해 있었다. 1952년 군면리 대폐합에 따라 안변군 신고산면(新高山面)의 41개 리, 석왕사면(釋王寺面)의 38개 리를 통합하여 강원도 고산군을 신설하였다.
1954년에 혁창리 일부가 고산읍에 편입되었고, 1961년에 평화리·능복리를 병합하여 석왕사리(釋王寺里)를 신설하였으며, 1981년에 석왕사리가 광명리(光明里)로 개칭되었다. 2003년 현재 행정구역은 1읍(고산읍), 24리(광명리, 구령리, 구읍리, 금리, 금천리, 금풍리, 남산리, 난정리, 양사리, 용지원리, 봉련리, 부평리, 사현리, 산양리, 산탄리, 설봉리, 성북리, 신현리, 연호리, 위남리, 주천리, 죽근리, 해방리, 혁창리)로 구성되어 있다. 고산군 소재지는 고산읍이다.