본래 고구려의 가지달현(加支達縣)이었는데, 신라 경덕왕 때청산(靑山)으로 고쳐 삭정군(朔庭郡: 지금의 안변군)의 영현으로 하였다. 고려 초기문산현(汶山縣)으로 바꾸고 1018년(현종 9) 그대로 소속시켰다가 뒤에 문산(文山)으로 한자이름을 바꾸었다. 조선시대에는 문산사(文山社)로 되었다가 경술국치 이후 석왕사면이 되었다.
문산현의 서쪽은 설봉산(雪峰山)을 비롯한 높은 산이 솟은 마식령산맥의 동사면을 이루고, 동쪽은 비옥한 안변평야가 전개되어 예로부터 농경 중심지로 알려진 지역이다. 서울에서 철령을 거쳐 관북지방으로 나가는 경원국도가 지나는 교통의 요지이다.