평의선(과거의 경의선 구간 가운데 평양에서 의주 구간을 일컫는다)에서 갈라져 나온 지선으로 총 연장은 39.6㎞에 달한다. 1905년에 개통될 때에는 경의선의 본선이었다. 1964년에 남신의주역과 염주역 구간에 기존 노선보다 더 짧은 노선인 양시선(楊市線: 양시는 룡천의 옛 이름이다) 28.7㎞가 개통됨에 따라 경의선에서 운행 체계가 분리되었다. 이에 따라 기존 경의선에 포함되었던 이 구간의 명칭을 지금의 백마선으로 변경하였다.
경의선에서 분리될 때에 노선에 있는 역 가운데 오래된 역인 백마역의 이름을 따서 백마선 명칭이 유래하였다.
본래 경의선의 본선일 때에는 복선 구간이었으나, 한국전쟁 이후 단선으로 바뀌었고, 전철화 작업은 이루어지지 않았다.
신의주시에 남신의주역, 석하역이 설치되어 있는데, 남신의주역에서는 평의선 및 덕현선과 교차한다. 피현군에는 백마역, 룡계리역, 피현역, 량책역이 설치되어 있고, 염주군에는 염주역이 있다. 한편 남신의주역에서 염주역에 이르는 평의선 구간에는 락원역, 룡천역, 룡주역, 내중역이 설치되어 있다.
염주역과 피현역 사이는 석유 및 화학 관련 공장이 즐비한 북한의 중화학공업지대로 알려져 있다. 평의선을 따라 이동하는 거리가 더 짧은 관계로, 백마선은 우회노선의 성격을 띄게 되었다. 이 구간에는 많은 지선이 설치되어 있는데, 이 지선을 통해 중국에서 들여온 물자가 하역된다.