평안북도 희천 출신. 일찍이 서울에 올라와 경성의학전문학교를 다녔다. 3·1운동 때 학교 대표로 활동하다 일본 경찰에 붙잡혀 예심을 받던 중 병보석으로 출감되었다.
그 해 5월 6일 동지인 안재홍(安在鴻) · 연병호(延秉昊) · 송세호(宋世浩) · 이병철(李秉徹) 등과 청년외교단(靑年外交團)을 조직, 중심 인물로서 국외의 여러 독립운동단체와 연락을 취하였다.
동시에 대동단(大同團)의 단원이 되어 왕손 이강(李堈)을 중국 상해에 있는 대한민국임시정부로 데려가려다 발각되어 안재홍 등과 함께 징역 3년을 선고받았다.
1922년 상해로 망명, 임시정부의 외곽지원단체로 김구(金九) 등이 설립에 참여하여 임시정부의 기반을 공고히 다져나가는 데 기여한 한국노병회(韓國勞兵會) 창립에 참여하고 이사에 취임하였다.
같은 해 11월에는 교육부원(敎育部員)으로 활동하였다. 1924년 6월에는 임노공부원(任勞工部員)으로 노병(勞兵)을 모집하고 훈련시키는 데 앞장섰다.
1924년 교민단의사회(僑民團議事會)의 학무위원(學務委員)으로 취임, 한국노병회를 이끌면서 상해 일대에 거주하는 우리 동포에게 민족의식과 임시정부의 지원을 호소하였다. 같은 해 9월에는 교민단의 의사원(議事員)으로 선출되었다.
1925년 임시의정원(臨時議政院)의 의원으로서 3월 13일 이승만대통령 탄핵안을 제의해 통과시켰다. 임시정부의 경무국장 · 내무부차장 등을 역임하였다.
상해에 있던 일본영사관을 폭파할 계획을 세우고 두 동생과 함께 행동하려다가 사전에 탄로나 항저우[杭州]로 피신, 충칭[重慶]에서 죽었다. 한편 상해에서 활동하면서 프랑스 조계에서 세웅원(世雄院) 병원을 경영하기도 하였다.
1963년 건국훈장 독립장이 추서되었다.