본래 고구려의 옛 땅인데 발해의 침입으로 인하여 한때 여진족의 근거지였으나, 고려 초에 안흥군(安興郡)을 설치하였다. 1014년(현종 5) 용주방어사를 두었고, 그 뒤 용만부(龍灣府)로 고쳤다가 1311년(충선왕 3) 다시 용주로 바꾸어 지군사(知郡事)를 두었다.
1404년(태종 4) 의주의 이언(伊彦) 지역을 관할하였고, 1413년 용천군(龍川郡)으로 바꾸었다. 1620년(광해군 12) 도호부로 승격하였고, 1895년(고종 32) 다시 용천군이 되었다.
조선시대에 이 지역은 압록강 하구를 차지하여 군사적으로 중요시하던 곳이었다. 한때 이곳에 별전영(別前營)을 설치하였다가 독진(獨鎭)으로 바꾸어 도호부사가 첨절제사를 겸하고, 용골산성(龍骨山城)의 수성장도 함께 맡도록 하였다. 압록강 하구의 섬인 신도(薪島)에 진(鎭)을 설치하고 수군첨사를 두었다.
해안 지방에는 용호산(龍虎山)ㆍ용안산(龍眼山)ㆍ사위포(沙爲浦) 등지의 봉수가 서해안 지역을 연결하였으며, 양책참(良策站)은 의주와 철산을 이어주었다. 재송원(栽松院)ㆍ건천원(乾川院)ㆍ자포원(者浦院) 등이 있었고, 해안의 남창(南倉)은 용천평야 지역의 물산을 모으던 곳이었다.