전라남도 해남 출생. 1941년 만주국군 간도특설대 제3기로 지원 입대하여 준위까지 올랐고, 1946년 5월 1일 경비사관 1기로 입교 · 졸업하면서 육군참위[소위]로 임관하였다. 1955년에 육군대학에 입학, 1956년에 졸업하였으며, 1958년에 국방대학원을 수료하였다. 1952년 육군 제7사단장, 1954년 육군 제14사단장에 임명되었으며, 1960년 육군본부 인사참모부장이 되면서 중장으로 승진하였다.
1962년 육군 제5군단장, 1963년 국방부 인력차관보, 1965년에는 육군 참모차장이 되었다. 1967년 대장으로 승진, 합동참모회의 의장이 되었고, 1968년 대장으로 예편하면서 국방부장관에 임명되어 1968년부터 1970년까지 근무하였다. 1971년 민주공화당 전라남도 제15지구당위원장으로 임명되었다.
제8대 국회의원선거에 민주공화당 후보로 고향 해남에서 출마하여 당선되었다. 1973년 제9대 국회의원선거 때에도 민주공화당 후보로 같은 곳에서 출마, 당선되었다. 태극(太極) · 을지(乙支) · 충무(忠武) · 화랑(花郎) 무공훈장과 미국 은성훈장(銀星勳章)을 비롯, 베트남 · 타이 · 자유중국(대만)의 훈장을 받았다. 일제강점기 만주국군 만주특설대 복무 이력으로 인해 『친일인명사전』에 올랐다.