Na Hang nằm về phía Bắc của Tuyên Quang. Thị trấn Na Hang cách thành phố Tuyên Quang chừng 110 km. Na Hang giáp với các huyện Bắc Mê (Hà Giang) và Bảo Lạc (Cao Bằng) ở phía Bắc, Chợ Đồn (Bắc Kạn) ở phía Đông, Chiêm Hóa ở phía Nam, Bắc Quang (Hà Giang) ở phía Tây.