Sông bắt nguồn từ độ cao khoảng 700 m trên vùng núi Kham thuộc địa phận huyện Đình Lập (Lạng Sơn) theo hướng Tây Nam chảy qua các huyện Sơn Động, Lục Ngạn, Lục Nam (thuộc tỉnh Bắc Giang) và hội lưu với sông Thương tại nơi giáp ranh giữa Đức Giang, Trí Yên và Hưng Đạo. Sông Lục Nam có các phụ lưu là sông Bò, sông Lê Ngạc, sông Chỉ Tác, sông Đan Hội (bên tả ngạn) và sông Căn, sông Gốm, sông Cỏ Mạt (bên hữu ngạn) [3].
Tổng chiều dài của sông gần 200 km, đoạn trên địa phận Lạng Sơn dài 15 km, đoạn trên địa phận Bắc Giang dài khoảng 175 km. Tổng diện tích lưu vực của sông Lục Nam khá lớn, vào khoảng 3.070 km², độ cao bình quân lưu vực là 207 m, độ dốc bình quân lưu vực là 16,5%. Khoảng 45 km cuối hạ lưu (từ Chũ đến ngã ba Nhãn), sông rộng thuận tiện cho giao thông đường thủy.
^ abThông tư 05/2014/TT-BTNMT ngày 12/02/2014 của Bộ Tài nguyên và Môi trường ban hành Danh mục địa danh dân cư... lập bản đồ tỉnh Bắc Giang. Thuvien Phapluat Online, 2016. Truy cập 20/10/2019.
^Lịch sử phát triển. Cổng TTĐT huyện Lục Nam tỉnh Bắc Giang, 10/07/2013. Truy cập 10/11/2019.