Shangluo (商洛 ; pinyin : Shāngluò) est une ville du sud-est de la province du Shaanxi en Chine. Elle se trouve sur les rives de la rivière Dan (丹江 ; pinyin : Dānjiāng), un affluent de la rivière Han. La population totale de la préfecture était en 2013 de 2 430 000 habitants.