본관은 창녕(昌寧). 자는 여습(汝習), 호는 계서(溪西). 성윤(成倫)의 증손으로, 할아버지는 성적(成績)이고, 아버지는 승지 성안의(成安義) 이다.
1610년(광해군 2) 진사가 되고, 광해군 때의 난세에는 벼슬길에 나아가지 않았다. 1627년(인조 5)에 식년 문과에 병과로 급제하였다. 1634년 사간원정언·홍문관의 부수찬·부교리를 거쳐 이듬해 사헌부지평을 지낸 뒤, 1637년 사간원헌납이 되어 윤방(尹昉)·김류(金瑬)·심기원(沈器遠)·김자점(金自點)의 오국불충(誤國不忠)의 죄를 논하기도 하였다.
특히, 사간을 역임하는 동안 직언으로 일관하여 주위의 시기를 받아 승진이 순조롭지 못하기도 하였다. 외직으로는 진주·강계 등 네 고을을 다스렸는데, 진주 때는 어사 민정중(閔鼎重)의 선치(善治) 보고로 표리(表裏: 속과 겉의 옷감)를 받았다.
강계 때에는 삼세(蔘稅)를 모두 면제해주어 백성들이 ‘관서활불(關西活佛)’이라는 칭호를 주기도 하였다. 그리고 정부로부터 청백리에 뽑혔다. 학업에 열중하여 13세 때 정경세(鄭經世)에게 보이니, 정경세가 크게 될 인물이라 하였다.
자라면서 학문에 더욱 정진하여 김굉필(金宏弼)·이연경(李延慶)의 학통을 이은 강복성(康復誠)의 문인이 되었다. 부제학에 추증되었다.
저서로는 『계서유고(溪西遺稿)』가 있다.