1928년 10월에 착공되어, 1929년 9월 20일에 9.4㎞ 구간 3개역이 개통되었다. 이때에는 북청지선이라 불리었으며, 신북청역과 북청군의 행정중심지인 북청읍을 연결하는 경함철도(京咸鐵道: 이 노선의 현재 명칭은 평라선임)의 지선이었다. 이후 1940년대 들어 광복되기 이전까지 덕성군의 철광석을 수송하기 위하여 현재의 상리역까지 연장공사가 시작되었으나, 일본의 패망으로 중단되었다. 현재의 노선은 1980년에 연장 개통된 것으로 총연장은 61.3㎞이다.
노선이 부설되었을 당시인 1929년에는 북청선으로 불렸다. 이후 노선이 덕성군까지 이어지고, 덕성군에 속하는 구간의 길이가 북청군에 속하는 구간보다 길어 덕성선이라 불리게 되었다.
평양에서 라진으로 연결되는 평라선과 신북청역에서 교차한다. 북청군에는 신북청역을 포함하여 량가역, 북청역, 라하대역이 설치되어 있다. 덕성군에는 덕성역, 주의동역, 양승역, 도평역, 삼기역, 송중역, 상일역, 상리역이 설치되어 있다. 전 구간은 전철화작업이 이루어지지 않았으며, 단선으로 운행된다. 전 구간이 화물전용 노선이다.
이 노선의 명칭은 다양하게 알려져 있다. 운행 초기에는 북청군에만 노선이 있어서 북청선이라고 하였다. 1980년대에 현재의 노선이 개통되고 덕성군에서 생산되는 광물자원을 수송하면서부터 덕성선이라 불리기 시작하였다. 또한 노선의 종점인 상리역이 철산로동자구에 속하는데 이 일대가 과거 북청군에 속해 있었으므로 북청철산지선이라 불리기도 한다.