충청남도 광성 출생으로 대전고등학교와 경성제국대학 철학과를 졸업하고, 일본육군예비사관학교에서 군사교육을 받았다. 1945년 미군정 경찰이 되어 충청남도 경찰청 경찰부장 대리가 되었고, 반탁운동에 참여하였다. 경무부 관방장을 지내다가 1947년 10월 29일 정직처분을 받았다.
1948년 12월 17일 전남도지사와 제8관구경찰청장이 빨치산의 습격을 당했을 때 응전하여 표창을 받았다. 1950년 5월 전남경찰국 경무과장이 되었고, 1952년에는 경상남도 경찰국장이 되었다. 1953년에는 빨치산 토벌의 공적을 인정받아 경찰관으로는 처음으로 은성을지훈장을 수여받았으며 치안국 특수정보과장이 되었다. 1954년에는 치안국 경비과장과 서남지구경찰대장을 겸임하여 잔존 빨치산을 토벌하였고, 1956년 서울시 경찰국장이 되었다.
경찰을 은퇴한 뒤 대전일보를 운영하다가 1958년 무소속으로 충청남도 대덕의 민의원 선거에 출마하여 당선되었고, 1960년 9월 국방부 정무차관에 임명되었다. 1967년 신민당 소속으로 대전에 출마하여 당선되었으며 1968년에는 신민당 충남도당 위원장에 선출되었다. 1971년 8대 총선에서도 재선되었다.
1973년 1월 30일 유진산에 반대하여 신민당을 탈당하고 통일당에 입당했다. 같은해 9대 총선에서 통일당후보로 대전에 출마하여 낙선했으나 선거무효소송을 제기하여 재검표를 실시한 결과 24표차로 당선되었다. 1977년부터 통일당 부총재를 역임했다. 1980년 2월 다시 신민당에 입당하였다. 5공화국에서 정치활동을 금지당하고 정계를 은퇴했다.
1980년 중경개발 회장에 취임했으며, 1984년에는 서대전여고를 설립했다. 1984년 2월 정치활동 금지가 해제되었고, 1985년에는 헌정회 부이사장을 역임했다. 1992년부터 헌정회 고문으로 활동했다. 2000년에는 당시 시가 200억원에 달하는 토지를 대전시교육청에 기부하였다. 2001년 7월 12일 숙환으로 별세했다.