libhangul
한글 입력기 구현 라이브러리. 한글 입력기를 만들 때 쓰는 오픈소스 라이브러리로, 15년째 유지되고 있습니다.
libhangul은 한글 입력기(IME)를 만들기 위한 오픈소스 라이브러리입니다.
GitHub 현황 (2026년 8월 기준)
- 스타 227 · 포크 101
- 라이선스 LGPL-2.1 · 저장소
libhangul/libhangul - 생성 2011-11-03 · 마지막 push 2026-02-01
15년째 유지되고 있고 포크가 101개입니다. 여러 입력기가 이걸 바탕으로 만들어졌습니다.
입력기가 어려운 이유
한글은 자음과 모음이 모여 한 글자가 됩니다. 타이핑 중에는 글자가 계속 변하고(ㅎ → 하 → 한 → 한ㄱ → 항), 어디서 글자가 끝나는지 판단해야 합니다. 이걸 오토마타라고 부릅니다.
여기에 두벌식·세벌식, 옛한글, 조합 중 삭제 규칙까지 붙습니다. 직접 만들면 예외가 끝없이 나오는 영역이라 검증된 구현을 쓰는 것이 정석입니다.
그리고 입력기는 OS와 밀접하게 붙습니다. 라이브러리가 오토마타를 처리해도 리눅스·macOS·윈도우 각각의 입력 프레임워크에 연결하는 일은 따로 남습니다. 라이브러리 하나로 입력기가 완성되지는 않습니다.
함께 볼 한글 처리 오픈소스
- Hangul.js·es-hangul: 자바스크립트 자모 처리
- go-hangul: Go용 한글 처리
- SokIM: macOS 한글 입력기
- Josa.js: 조사 판별
libhangul만 “입력되는 순간”을 다룹니다. 나머지가 이미 완성된 글자를 다룬다면, 이쪽은 아직 조합 중인 상태를 처리합니다. 층이 하나 더 아래에 있습니다.
이런 분께 맞아요
- 한글 입력기를 만들거나 고치는 개발자
- 임베디드·키오스크에 한글 입력을 넣어야 하는 사람
- 한글 오토마타 구현을 배우려는 학습자
- (LGPL 조건 확인이 선행돼야 합니다)
자주 묻는 질문
libhangul, 어떤 서비스인가요?
libhangul은 한글 입력기(IME)를 만들기 위한 오픈소스 라이브러리입니다.
libhangul, 누가 만들었나요?
libhangul은 한글 입력기(IME)를 만들기 위한 오픈소스 라이브러리입니다. 한국 1인 개발자 생태계의 개발도구 사례로 Dreamboat 디스커버에 수록돼 있습니다.
libhangul, 어떤 사람에게 추천되나요?
한글 입력기를 만들거나 고치는 개발자 임베디드·키오스크에 한글 입력을 넣어야 하는 사람 한글 오토마타 구현을 배우려는 학습자 (LGPL 조건 확인이 선행돼야 합니다)
libhangul, 어디서 사용할 수 있나요?
이 페이지의 「사이트 가보기」 버튼으로 libhangul 공식 사이트에 바로 갈 수 있습니다. Dreamboat 디스커버에서는 이 서비스가 무엇이고 누구에게 맞는지, 비슷한 한국 1인 개발자가 만든 서비스는 무엇이 있는지 함께 정리해 두었습니다.




