唐京兆长安(今陕西西安)人,字公范。大历进士。贞元时,任兵部郎中、给事中,曾上疏反对提升贪暴敛财之官吏。元和初,任尚书右丞、京兆尹,拒绝宪宗的干预,拘捕借民钱不还的神策军吏,迫令偿还。后为吏部侍郎、东都留守。