大历十年（775年）中进士出身，贞元二年（786年）在邢州认识张籍，为一生之挚友。元和八年担任昭应县丞。元和十五年（820年）转为秘书郎。长庆元年（821年），迁太府寺丞，转秘书郎。在长安时，与张籍、韩愈、白居易、刘禹锡、杨巨源等均有往来。大和年初，迁太常寺丞。大和三年（829年），出为陕州司马，世称“王司马”。大和五年（831年），为光州刺史，与贾岛相交往，此后行迹不详。晚年卜居咸阳原上。有《王司马集》。