唐亳州谯县(今安徽亳县)人。贞观末,马周荐入东宫侍读。高宗时,累官弘文馆学士。总章二年(669)迁西台侍郎,同东西台三品,兼检校司列少常伯。用员外郎张仁褂所定程式,典选累年,铨综有序,但多引同族婚媾之家。仪凤元年(676)任中书令。三年迁洮河道大总管,与吐蕃将论钦陵战于青海之上,大败。贬衡州刺史。后迁扬州大都督府长史。