1912년 전라남도 광양에서 출생했다. 본관은 창녕(昌寧), 호는 일운(逸雲)이다. 1931년 3월 광주서공립중학교, 1933년 3월 대구사범학교 강습과를 수료하고, 전라북도 청하(靑蝦)공립보통학교에서 교사 생활을 시작해 1937년 4월 전라북도 남원공립보통학교에서 훈도로 재직하다가 퇴직했다. 곧이어 전라북도 산업부 농무과 촉탁으로 들어가 1938년 12월까지 근무했다.
이후 일본으로 유학하여 주오대학[中央大學] 전문부 법학과에 진학했다. 재학 중이던 1940년 8월 조선변호사시험, 10월 일본 고등문관시험 사법과에 합격해, 그해 12월 주오대학을 중퇴하고 귀국했다. 1941년 1월 조선총독부 사법관시보로 광주지방법원 및 동 검사국에서 1년 6개월 간 근무했으며, 1943년 3월 평양지방법원 예비판사를 거쳐 같은 해 7월 판사에 임명되었다. 1945년 6월 평양지방법원 검사로 옮겨 해방 때까지 재직했다.
해방 후, 1946년 1월 서울지방검찰청 부장검사에 임명되어 같은 해 7월 이른바 ‘조선정판사위폐사건’의 담당검사로 활동했다. 1948년 1월 철도관구 경찰청장, 9월 제1관구 경찰청장, 11월 경무관으로 내무부 치안국 경무과장 등을 역임했다. 1949년 1월 경상북도 경찰국장을 거쳐 1950년 1월 경상북도지사에 임명되어 한국전쟁 중 퇴직했다. 해방 정국에서 좌익의 척결에 노력하였다.
1954년 6월 대구에서 민주국민당 소속으로 제3대 민의원 선거에 출마해 당선되면서 정치에 입문하였다. 또한 1958년 6월과 1960년 8월 대구에서 민주당 소속으로 제4대, 5대 민의원에 거듭 당선되었다. 1960년 민주당내각 성립과 함께 법무부 장관에 임명되었고, 1961년 내무부 장관으로 임명되었으나 5·16 군사정변으로 퇴임했다. 1963년 12월 민주당 소속으로 제6대 전국구 국회의원에 당선되었고, 1964년 3월 민주당 부총재를 맡았다. 1967년 4월 민주당 총재에 추대되었으나, 총선에서 민주당이 참패하자 정계를 은퇴했다. 1970년 7월 5일 사망했다.