본문으로 건너뛰기
AZ Tools

Punycode 변환기

국제화 도메인을 Unicode(münchen.de)와 Punycode ASCII(xn--mnchen-3ya.de) 간 변환.

예시:

ASCII (Punycode)

xn--mnchen-3ya.de

Unicode

münchen.de

Punycode는 라벨별(점 사이 부분) 작동. 이미 ASCII인 라벨은 그대로 통과.

사용법

  1. Unicode 또는 Punycode로 도메인 입력/붙여넣기.
  2. ASCII·Unicode 등가 표현 나란히 확인.
  3. 도구/등록기관이 필요로 하는 형식 복사.

자세한 설명

펼치기

국제화 도메인 이름(IDN)은 통신 상에서 퓨니코드(RFC 3492)를 써서 ASCII로 저장되지만 사람은 보통 유니코드로 씁니다. 이 툴은 라벨 단위로 양방향 변환을 합니다. 이미 ASCII인 라벨은 그대로 통과하고, 유니코드 라벨은 xn--…가 되며, xn--… 라벨은 유니코드가 됩니다. 피싱이 의심되는 도메인을 확인하거나, IDN을 등록하거나, ASCII만 받는 도구에 비ASCII 도메인을 넣을 때 씁니다.

변환은 라벨 단위, 즉 점으로 구분된 구간마다 이루어집니다. DNS가 그렇게 저장하기 때문입니다. 이름은 자유롭게 섞일 수 있어서 日本.example.com은 첫 라벨만 인코딩하고 나머지는 그대로 둡니다. xn-- 접두사는 그 라벨이 인코딩되었음을 표시하며, 그 글자로 시작하기만 하고 유효한 퓨니코드가 아닌 라벨은 이름이 아니라 디코딩 오류입니다.

의심스러운 도메인을 여기서 확인하는 이유는 실제로 해석되는 것이 ASCII 형태이고, 그것만이 여러분에게 거짓말을 할 수 없는 형태이기 때문입니다. 여러 키릴 문자와 그리스 문자가 라틴 문자와 겉모습이 똑같아서, 익숙한 상표처럼 읽히는 도메인이 전혀 다른 이름일 수 있습니다. xn--로 디코딩해 보면 눈이 하나로 본 것이 서로 다른 두 문자열로 드러납니다. 브라우저는 라벨이 여러 문자 체계를 섞을 때 퓨니코드 형태를 보여 주는 식으로 방어하지만, 규칙이 브라우저마다 다르고 단일 문자 체계로 만든 동형이의어는 빠져나갈 수 있습니다.

인코딩이 IDN 등록의 전부는 아닙니다. 퓨니코드는 전송 형식이고, 그 이전에 이름은 IDNA 2008으로 정규화되고 걸러지는데, 이 과정에서 어떤 문자는 아예 거부되고 어떤 문자는 다른 것으로 접힙니다. 이 툴이 무리 없이 인코딩한 문자열도 등록 기관에서는 거절될 수 있으며, 애초에 유효한 도메인이 아니었던 입력에 대해서는 양방향이 완벽하게 대칭이지도 않습니다.

라벨은 인코딩 후 63바이트로 제한되므로, 보이는 이름이 짧아도 비ASCII 문자 몇 개만으로 한도를 넘길 수 있습니다.

자주 묻는 질문

왜 같아 보이는 글자가 다르게 인코딩?

그게 Punycode 핵심 — 동음이의 피싱의 본질. 라틴 a(U+0061)와 키릴 а(U+0430)는 동일해 보이지만 다른 ASCII로 인코딩. 의심 도메인을 이 도구에 붙여넣으면 xn--… 형식이 차이를 드러냄.

도메인 검증?

아니요 — Punycode 변환만. 길이 제한·금지 코드 포인트에 대한 IDNA2008 규칙·TLD 정책 미검증. 변환된 이름은 여전히 등록기관에서 거부될 수 있음.

라벨 하나가 그대로인 이유?

Punycode은 비 ASCII 문자 포함 라벨에만 적용. mail.münchen.de는 mail.xn--mnchen-3ya.de — 두 번째 라벨만 인코딩 필요.

양방향 무손실?

예 — Punycode는 일대일 인코딩. 인코딩 후 디코딩하면 항상 원본(Unicode 정규화 후) 복원. 왕복이 다르면 입력에 혼합 스크립트나 다르게 해석된 시각적 유사 문자 있음.

관련 도구