한국어

맥 한글 자소 분리 해결 — 유니코드 정규화(NFC·NFD) 변환

자소가 분리된 한글을 합치고 NFC·NFD·NFKC·NFKD로 유니코드 정규화하는 도구

브라우저에서 처리 · 서버로 전송되지 않음

정규화 형식

자소가 분리된 한글을 고치려면 NFC를 고르세요. 맥에서 만든 파일 이름은 대부분 NFD예요.

글 변환

예시는 맥처럼 자소를 나눠(NFD) 저장한 글이에요. 화면에서는 붙어 보여도 컴퓨터는 다른 글자로 봐요.

  • 자소로 나뉜 한글 낱자 23개
  • NFKC에서 바뀌는 호환 문자 0개

NFC로 바꿨어요. 코드 포인트 30개 → 17개

변환 결과
맥에서 보낸 보고서 최종.hwp
코드 포인트 보기
변환 전
U+1106 U+1162 U+11A8 U+110B U+1166 U+1109 U+1165 U+0020 U+1107 U+1169 U+1102 U+1162 U+11AB U+0020 U+1107 U+1169 U+1100 U+1169 U+1109 U+1165 U+0020 U+110E U+116C U+110C U+1169 U+11BC U+002E U+0068 U+0077 U+0070
변환 후
U+B9E5 U+C5D0 U+C11C U+0020 U+BCF4 U+B0B8 U+0020 U+BCF4 U+ACE0 U+C11C U+0020 U+CD5C U+C885 U+002E U+0068 U+0077 U+0070

파일 이름 일괄 정리

파일 이름을 한 줄에 하나씩 붙여 넣거나, 파일을 골라서 이름을 정리한 ZIP으로 받을 수 있어요. 파일은 브라우저 밖으로 나가지 않아요.

유니코드 표준 부속서 UAX #15(유니코드 정규화 형식)를 브라우저의 String.prototype.normalize로 적용해요. NFC·NFD는 글자의 모양과 뜻을 바꾸지 않고, NFKC·NFKD는 전각 영문(A→A), 원 문자(①→1), 단위 기호(㎏→kg) 같은 호환 문자를 일반 글자로 바꿔서 겉모습이 달라질 수 있어요. ZIP 안의 파일 이름은 UTF-8로 저장돼요.

소개

유니코드 정규화 도구는 화면에서는 같아 보이지만 컴퓨터가 다르게 저장한 글자를 한 가지 형식으로 맞춰 줘요. 가장 흔한 예는 맥에서 만든 한글 파일 이름이에요. 맥은 “한”을 ㅎ, ㅏ, ㄴ 세 개의 낱자로 나눠 저장하기 때문에 윈도우나 메신저, 웹 업로드 화면에서 자소가 분리된 이름으로 보이곤 해요. 이 도구에 글이나 파일 이름을 넣고 NFC를 고르면 낱자가 다시 한 글자로 합쳐져요. 반대로 NFD로 나누거나, 전각 문자와 원 문자까지 일반 글자로 바꾸는 NFKC·NFKD도 쓸 수 있어요.

사용법

  1. 정규화 형식을 골라요. 자소 분리를 고치려면 NFC를 그대로 두면 돼요.
  2. 글 변환 칸에 글을 붙여 넣으면 바로 변환 결과가 나와요. 자소로 나뉜 낱자와 호환 문자가 몇 개인지도 함께 보여 줘요.
  3. 코드 포인트 보기를 열어 변환 전후에 실제 값이 어떻게 달라졌는지 확인해요.
  4. 파일 이름 일괄 정리에서는 이름을 한 줄에 하나씩 붙여 넣거나, 파일 고르기로 여러 파일을 골라요.
  5. 파일을 골랐다면 “정리한 이름으로 ZIP 받기”를 눌러 이름이 고쳐진 파일들을 한 번에 받아요.

기준

  • 유니코드 표준 부속서 UAX #15(유니코드 정규화 형식)의 NFC·NFD·NFKC·NFKD를 브라우저의 String.prototype.normalize로 적용해요.
  • 자소로 나뉜 한글은 첫가끝 조합용 자모(U+1100–U+11FF 등)로 세요. 키보드로 친 ㅋㅋ 같은 호환 자모(U+3131–U+318E)는 자소 분리로 세지 않아요.
  • 호환 문자 수는 NFKC로 바꿨을 때 NFC와 결과가 달라지는 글자 수예요.
  • ZIP 안의 파일 이름은 UTF-8로 저장되고, 파일 내용은 압축하지 않고 그대로 담아요. 한 번에 200개, 모두 합쳐 500MB까지 고를 수 있어요. ZIP을 메모리 안에서 만들기 때문에 휴대폰·태블릿에서는 150MB까지예요.

예시

입력 형식 결과
ㅎㅏㄴㄱㅡㄹ.txt (NFD, 코드 포인트 10개) NFC 한글.txt (6개)
각 NFD ᄀ ᅡ ᆨ (U+1100 U+1161 U+11A8)
A①㎏ NFKC A1kg
㈜ NFKC (주)
café NFD cafe + U+0301

같은 이름의 파일이 폴더에 두 개 보이거나, 맥에서 받은 압축 파일을 윈도우에서 풀었더니 이름이 낱자로 흩어져 있다면 대부분 NFC와 NFD가 섞인 경우예요. 개발자라면 데이터베이스에 넣기 전이나 검색어를 비교하기 전에 NFC로 맞춰 두면 “분명 같은 글자인데 검색이 안 되는” 문제를 미리 막을 수 있어요.

자주 묻는 질문

맥에서 보낸 파일 이름이 왜 자소가 분리돼 보이나요?

macOS는 파일 이름의 한글을 초성·중성·종성 낱자로 나눈 NFD 형식으로 저장해요. 윈도우나 일부 웹 서비스는 이것을 합쳐서 보여 주지 않아 "ㅎㅏㄴㄱㅡㄹ"처럼 보이죠. NFC로 바꾸면 "한글"처럼 한 글자로 합쳐져요.

내 컴퓨터의 파일 이름이 바로 바뀌나요?

웹 브라우저는 컴퓨터의 파일 이름을 직접 바꿀 수 없어요. 대신 파일을 고르면 이름을 정리한 ZIP으로 내려받을 수 있고, 이름 목록만 복사해서 다른 곳에 쓸 수도 있어요.

NFC와 NFKC는 무엇이 다른가요?

NFC는 글자의 모양과 뜻을 그대로 두고 조합만 합쳐요. NFKC는 여기에 더해 전각 영문(A), 원 문자(①), 단위 기호(㎏), ㈜ 같은 호환 문자를 일반 글자로 바꿔요. 검색이나 비교용으로는 편하지만 겉모습이 달라질 수 있어요.

화면에서는 똑같아 보이는데 왜 바꿔야 하나요?

NFC와 NFD는 보이는 모양은 같아도 컴퓨터가 저장한 값이 달라서, 검색이 안 되거나 같은 이름의 파일이 두 개 생기거나 업로드 검사에서 막히기도 해요. 코드 포인트 보기를 열면 실제로 다른 값인지 확인할 수 있어요.

입력한 글이나 파일이 서버로 가나요?

아니요. 정규화와 ZIP 만들기는 모두 브라우저 안에서 이루어지고 아무것도 보내지 않아요.

필요한 도구가 있나요?