1855년(철종6)에 유학(幼學) 신분으로 곧바로 전시(殿試)에 합격하였고 1857년 관록(館錄)에 들었고 이듬해에는 도당록(都堂錄)에 들어 홍문관 관원 후보자로 선발되었다. 1859년 집의를 지냈으며 1865년(고종 2) 이조참의를 지냈고, 이듬해에는 사간원대사간을 지냈다.
강화도조약이 체결되던 1876년 승지와 대사간을 지냈고, 이듬해에는 이조참판을 역임하였다. 1881년 사간원대사간이 되었으며, 1882년 사헌부대사헌을 지냈다. 갑신정변이 일어나던 1884년 지춘추관사에 특탁되었으며, 사헌부대사헌·공조판서·예조판서를 지내고, 이듬해에는 한성부판윤을 역임하였다.