원래 백제의 일모산군(一牟山郡)이었는데, 757년(경덕왕 16) 연산군이라 고치고 연기(燕岐)와 매곡(昧谷)을 영현(領縣)으로 하였다.
고려시대 청주(淸州)에 소속되었고 1172년(명종 2) 감무(監務)를 두었다. 1249년(고종 36) 위사공신(衛社功臣) 박희실(朴希實)의 고향이라 하여 문의현(文義縣)으로 승격시키고 현령(縣令)을 두었다. 충렬왕 때 가림(嘉林)에 병합되기도 하였다.
조선시대에도 현령을 두었고, 그 뒤 약 500년간 큰 변동은 없었다. 1895년(고종 32) 공주부 문의군, 1896년 충청남도 문의군이 되었다. 1914년 행정구역 개편 때 충청북도 청주군에 병합되었으며, 1946년 청원군이 독립되어 이에 속하게 되었다. 2014년 7월 1일 청원군은 청주시에 통합되었다.