서울 팔판동에서 태어나 한성영어학교를 졸업하였다. 1890년 12월 무과에 급제해 1892년 1월 훈련원 주부로 공직에 올랐다. 1893년 1월 훈련원 판관에 임명되었다. 1898년 5월 남궁억, 장지연, 유근과 함께 『황성신문』을 창간하고 1902년 8월까지 총무원으로 활동하였다.
1898년 말 독립협회 총대위원으로 활동하였다. 1902년 5월 7일부터 8월 9일까지 『황성신문』 사장 남궁억과 함께 구속되었다. 1904년 8월 『황성신문』 찬무원을 맡았다. 1905년 1월부터 사립 한성법학교 교감으로 재직하였고, 11월 대한구락부 총무원으로 민영환의 자결에 대한 조문을 발표하였으며, 12월 강원도관찰부 철원군수로 임명되었다. 1906년 7월 내부 참서관으로 임명되었다가 11월 판적과장으로 자리를 옮겼다. 같은 해 하반기 실력양성운동단체에 참여하여 대한자강회 총무와 평의원, 태극학회 찬성회 발기인으로 활동하였다. 1909년 12월 보인학교 교장에 취임하였다.
한일합병 직후인 1910년 10월 조선총독의 자문기관인 중추원 부찬의로 임명되어 연 수당 600원을 받았다. 1915년 8월 시정5년기념 조선물산공진회 경성협찬회 부회원으로 위촉되었다. 1916년 1월 중추원에서 주관한 조선반도사 편찬사업의 조사주임으로 위촉되어 사료를 수집하러 다녔다. 조선반도사 편찬사업은 일제의 한국병합을 역사적으로 정당화하려는 사업이었다. 1918년 이완용, 민병석 등을 고문으로 추대해 발족한 서화협회 회원이 되었다. 1912년 8월 일제로부터 한국병합기념장을 받았다. 1921년 중추원 관제가 개정되면서 중추원의 주임관 대우 참의로 임명되었고, 1924년 4월 한 차례 연임하여 매년 1,200~1,600원의 수당을 받았다. 1922년 6월 제1회 조선미술전람회에 입선하였다. 중추원 참의로 재직하던 1926년 6월 16일 사망하였다.