유니코드 도메인 ↔ 퓨니코드 변환기 (IDN / xn--)
한글, 한자, 일본어, 이모지가 포함된 도메인을 퓨니코드(xn-- 형식)로 변환하거나, 퓨니코드를 원래 유니코드 도메인으로 되돌릴 수 있습니다.
DNS 시스템과 일부 서버 환경에서는 퓨니코드(xn–) 형식이 필요할 수 있습니다. 이 도구는 RFC3492 표준에 따라 정확하게 변환합니다.
여러 도메인을 한 번에 붙여넣어 일괄 변환할 수 있습니다. 변환은 브라우저에서 처리되며 서버로 데이터가 전송되지 않습니다.
도메인 변환 후 URL 파라미터 값도 안전하게 인코딩해야 한다면, URL 인코딩 변환기를 함께 사용할 수 있습니다.
유니코드 변환기가 필요한 실무 상황
웹 서버 설정, SSL 인증서 등록, DNS 레코드 입력 과정에서는 퓨니코드 형식이 필요한 경우가 많습니다.
Apache, Nginx 같은 웹 서버 설정에서는 퓨니코드 형식이 사용되는 경우가 많습니다.
프로그래밍 코드, HTTP 요청 헤더, 로그 분석 등 시스템 수준의 작업에서는 퓨니코드 형식이 기준이 됩니다.
한글 도메인과 이모지 도메인의 변환 방식 차이
한글 도메인과 이모지 도메인은 변환 결과 형식이 다릅니다. 한글 도메인은 음절 단위로 분해되어 xn-- 접두어와 결합됩니다.
이모지 도메인도 유니코드 기반으로 변환되며 xn-- 형식의 ASCII 문자열로 저장됩니다.
두 방식 모두 RFC3492 표준을 기반으로 처리됩니다.
퓨니코드 형식의 구조와 xn-- 접두어 규칙
퓨니코드로 변환된 도메인 레이블은 반드시 xn-- 접두어로 시작합니다.
이 접두어는 해당 레이블이 퓨니코드로 인코딩된 국제화 도메인임을 DNS 시스템에 알리는 식별자입니다.
접두어 뒤 문자열은 유니코드 도메인을 ASCII 범위 문자로 인코딩한 결과입니다.
도메인 레이블별로 독립적으로 인코딩되므로, 한글.도메인.com처럼 여러 레이블이 있을 경우 각 레이블이 별도로 변환됩니다.
com, net 등 ASCII로만 구성된 레이블은 변환 없이 그대로 유지됩니다.
여러 도메인을 한 번에 변환해야 할 때
여러 개의 다국어 도메인을 한 번에 변환해야 하는 경우가 있습니다. 이 도구는 도메인을 줄 단위로 입력하면 한 번에 일괄 변환합니다.
변환된 결과는 전체 복사가 가능하여 서버 설정 파일이나 스프레드시트에 바로 붙여넣을 수 있습니다.
도메인 이전, 서버 마이그레이션, 다국어 DNS 설정 작업 시 반복 작업을 줄이는 데 유용합니다.
브라우저는 한글 도메인을 어떻게 처리하나요?
사용자가 브라우저 주소창에 한글 도메인을 입력하면, 브라우저는 이를 자동으로 퓨니코드(xn-- 형식)로 변환하여 DNS 서버에 질의합니다.
DNS 응답에서 받은 퓨니코드는 다시 유니코드로 복원되어 주소창에 표시됩니다. 이 과정은 사용자에게 보이지 않습니다.
그러나 서버 설정 파일, SSL 인증서 등록, 애플리케이션 코드 작성 시에는 이 변환을 직접 처리해야 합니다.
한글 도메인을 퓨니코드로 직접 변환하거나 결과를 검증해야 할 때 이 도구를 사용할 수 있습니다.
자주 묻는 질문
퓨니코드(Punycode)는 한글, 일본어, 중국어, 이모지 등 유니코드 문자로 이루어진 도메인을 영문자, 숫자, 하이픈만으로 구성된 ASCII 문자열로 변환하는 국제 표준 알고리즘입니다.
RFC3492로 정의되어 있으며, 변환된 문자열은 항상 xn--으로 시작합니다.
이 형식 덕분에 ASCII만 지원하는 DNS 서버, 웹 서버에서도 다국어 도메인(IDN)을 문제없이 처리할 수 있습니다.
상단 탭에서 "한글 도메인 → 퓨니코드 변환"을 선택하고, 입력창에 한글 도메인을 한 줄에 하나씩 입력한 후 변환 하기 버튼을 누릅니다.
여러 도메인을 한 번에 입력하면 일괄 변환됩니다. 변환 결과는 하단 결과창에 표시되며, 클립보드로 복사 버튼으로 전체 결과를 복사할 수 있습니다.
네, 변환할 수 있습니다. 퓨니코드는 다국어 문자뿐 아니라 이모지도 ASCII 기반 문자열로 변환할 수 있는 국제 표준입니다.
단, 일부 도메인 등록 기관은 이모지 도메인을 공식 지원하지 않을 수 있습니다. 등록 전에 해당 기관의 지원 여부를 먼저 확인하는 것이 안전합니다.
변환 자체는 문제없이 수행됩니다.
주요 프로그래밍 언어는 퓨니코드 변환을 위한 표준 라이브러리를 제공합니다.
- Java:
java.net.IDN클래스의toASCII(),toUnicode()메서드를 사용합니다. - Python: 문자열의
.encode('idna')또는encodings.idna모듈을 사용합니다. - JavaScript:
URLAPI가 자동으로 퓨니코드 변환을 처리하며,punycode패키지를 별도로 사용할 수도 있습니다.
코드 작성 전 변환 결과를 미리 확인하거나 검증할 때 이 도구를 기준으로 사용할 수 있습니다.
아래 상황에서는 변환 결과가 예상과 다를 수 있으므로 주의가 필요합니다.
- 레이블 단위 변환: 퓨니코드는 도메인 전체가 아닌 레이블(점으로 구분된 각 부분) 단위로 변환됩니다.
한글.도메인.com에서com은 변환되지 않습니다. - 대소문자 정규화: 입력 전 도메인을 소문자로 통일하는 것이 권장됩니다. 일반적으로 소문자 사용이 권장됩니다.
- 앞뒤 공백: 입력값에 공백이 포함되면 변환 오류가 발생할 수 있습니다. 이 도구의 "앞뒤 공백 제거" 옵션을 켜두면 자동으로 처리됩니다.
"퓨니코드 → 한글 도메인 변환" 탭에서 변환된 퓨니코드를 다시 입력하면 원래의 유니코드 도메인이 복원됩니다.
복원된 값이 처음 입력한 도메인과 일치하면 변환이 정확한 것입니다. DNS 설정이나 도메인 등록 전에 한 번 확인해 두면 안전합니다.