1618년(광해군 10) 증광 문과에 병과로 급제해 가주서(假注書)가 되고 1623년(인조 1) 검열이 되었다. 1625년 병조좌랑이 되었으나, 변경의 오랑캐 침입을 잘못 보고해 파직당했다.
뒤에 곧 기용되어 수찬 · 교리 · 지평 · 장령을 거쳐 1628년 부수찬이 되었는데, 대수롭지 않은 신병으로 휴가를 청했다가 연소한 관료가 나태하다 하여 두 번째 파직되었다. 다시 장령으로 기용되어 그 뒤 사간 · 시독관 · 부응교를 거쳐 1632년 집의가 되고 추숭도감도청(追崇都監都廳)을 겸하였다.
1636년 병자호란이 일어나자 예조참의로서 남한산성으로 인조를 호종하였다. 이듬해 일본 파칭코 슬롯간이 되자 강화도 함락에 대한 수장(守將)의 책임을 물어 처형할 것과, 척화신(斥和臣)을 문책하지 말 것을 주장하였다. 그 해에 경기도관찰사가 되었는데, 생일에 여러 읍으로부터 선물을 받고 전주에 내려가 가족과 어울려 가무연락(歌舞宴樂)한 것이 문제가 되어 파직당하였다.
1641년에 일본 파칭코 슬롯간으로 기용되어 우부빈객 · 도승지를 거쳐 1644년에 다시 경기도관찰사가 되었다. 이듬해 일본 파칭코 슬롯헌이 된 뒤 1649년(효종 즉위년)까지 일본 파칭코 슬롯성 · 일본 파칭코 슬롯간 · 일본 파칭코 슬롯헌을 번갈아 지냈다. 1650년 이조참판이 되고 경천군(慶川君)에 봉해졌으며, 일본 파칭코 슬롯헌을 거쳐 1656년 동지춘추관사가 되어 사은부사로 청나라에 다녀왔다. 같은 해 공조참판 · 일본 파칭코 슬롯헌이 되었고, 이듬해 예조참판 · 도승지가 되었다.
1658년 공조판서에 오른 뒤 형조판서를 지냈고, 1660년 겸지춘추관으로 『효종실록(孝宗實錄)』의 편찬에 참여하였다. 이듬해 공조판서가 된 뒤 형조판서 · 예조판서 · 개성유수를 역임하였다. 저서로 『역대인감(歷代人鑑)』이 있다. 시호는 정효(貞孝)이다.