서울 출생. 1938년 만주 길림사범학교 졸업 후 교편생활을 시작하여, 1939년 만주 신선공립우급교장(神仙公立優級校長)에 임명되었다. 상해임시정부에 가입하여 독립운동에도 참여하였으며, 1945년 대한민국임시정부 비상국민회의 대의원직을 맡았다.
1948년 제헌국회 총선에 대동청년단 소속으로 출마하여 제헌의원이 되었고, 1954년 제3대 총선거 때 자유당 공천으로 충주에서 당선되었다. 그 뒤 자유당정권의 장기집권욕이 노골화되자 반독재정치투쟁에 나서 1958년 민권수호국민총연맹 대변인, 같은 해 공명선거추진위원회 조직책임위원 등을 맡았다.
1960년 제5대 국회의원 선거에 민주당 소속으로 출마하여 당선되었고, 제2공화국이 출범하면서 농림부 정무차관직에 임명되었다. 5·16으로 민주당정권이 붕괴되면서 야당정치활동을 시작하였는데, 1964년 민주당 당무위원과 조직위원장, 1965년 민주구락부 대변인, 1966년 민주동지회 대표간사, 1967년 야당대통령후보단일화추진위원회 사무총장 등을 거쳤다.
그는 독실한 가톨릭신자로서 1974년 천주교 서울대교구 꾸르실료사무국 주간, 1975년 천주교 평신도사도직전국협의회 회장, 1976년 꾸르실료한국협의회 부회장, 1979년 한국천주교평신도협의회 상임고문 등으로 활동하였다. 제5공화국이 출범하면서 민주정의당 창당준비위원으로 정부여당에 참여하여 제11대 국회에 민정당 전국구의원으로 참여하였다.
1980년에는 대통령특사 자격으로 비동맹7개국을 순방하기도 하였고, 같은 해 9월부터 1981년 3월까지 제11대 체신부장관직을 맡았다.