본관은 반남(潘南). 자는 계선(季善), 호는 운창(芸窓). 서울 출신. 박제일(朴齊日)의 아들이며, 어머니는 연안이씨(延安李氏)로 이운원(李運源)의 딸이다. 이지수(李趾秀)의 문인이다. 천자(天姿)가 청명하고 용모가 단정하였다. 일찍이 외가에서 공부하다가 이지수 문하에 들어가 경의(經義)를 배웠다.
1866년에 프랑스가 강화도에 침범하자, 이를 물리쳐야 한다는 내용의 「벽사명(闢邪銘)」을 지어 사람들을 깨우쳤다. 송근수(宋近洙)의 천거로 1880년(고종 17)에 선공감감역(繕工監監役)에 임명되고, 이어 사헌부지평·호조참의·동부승지·호조참판·대사헌 등을 역임하였다.
저편서로는 『운창문집(芸窓文集)』 15권을 비롯하여 『이학통고(理學通攷)』·『호락원류( 湖洛源流)』·『가례증해보유(家禮增解補遺)』·『거상잡의(居喪雜儀)』·『속통감(續通鑑)』·『국조기이(國朝記異)』 등이 있다. 시호는 문경(文敬)이다.