예시
입력 (유니코드 도메인)
한글.kr
출력 (ASCII)
xn--bj0bj06e.kr
참고
`xn--` 접두사가 punycode 인코딩됨을 표시. DNS 가 ASCII 만 지원하므로 한글·중국어 도메인은 이 형태로 등록됩니다.
사용법 / 자주 묻는 질문
이런 경우 사용하세요
- 한글·중국어·일본어 도메인의 실제 DNS 등록 이름 확인
- 이메일 sender 의 IDN(Internationalized Domain Name) 검증
- phishing 도메인 분석 — 비슷한 키릴문자로 만든 가짜 도메인 감지
- URL 정규화 — 사람이 보는 도메인과 DNS 가 보는 이름 매핑
- ICANN · 도메인 등록기관 시스템과의 호환
자주 묻는 질문
- Q.왜 `xn--` 가 붙나요?
- A.ASCII Compatible Encoding(ACE) prefix 로 IDNA 표준에 정의됨. ASCII 만 알아듣는 DNS 가 "이건 변환된 IDN 입니다" 라고 인식하게 하는 표식.
- Q.homograph attack 이 뭔가요?
- A.키릴문자 `а`(U+0430) 가 라틴 `a`(U+0061) 와 시각적으로 똑같은 점을 악용 — `аpple.com` 같은 가짜 도메인 생성. punycode 로 풀면 `xn--pple-43d.com` 처럼 정체가 드러납니다.
- Q.이메일 주소도 변환되나요?
- A.예. `사용자@한글.kr` 같은 IDN 이메일은 EAI(SMTPUTF8) 미지원 서버를 거치면 punycode 형태로 변환됩니다. 도메인 부분만 변환되고 local part 는 별개.
재미있는 사실
Punycode 는 2003년 RFC 3492 로 표준화된 IDN (Internationalized Domain Name) 인코딩입니다. 한글·중문 도메인 (예: `한국.kr`) 을 DNS 가 처리 가능한 ASCII 호환 인코딩 (`xn--3e0b707e`) 으로 무손실 변환 — 인터넷이 비 ASCII 도메인을 받아들인 결정적 메커니즘.
RFC 3492 (2003)Punycode 의 핵심은 Adam Costello 가 만든 Bootstring 알고리즘 — ASCII 만 먼저 박고, 비 ASCII 문자를 'delta + 위치' 형태로 압축해 뒤에 붙입니다. `xn--` 접두어 + 변환된 본문 구조 — 'xn' 은 'extended name' 의 약자로 IANA 가 예약.
Wikipedia — PunycodeHomograph attack 의 함정 — 키릴 문자 'а' (U+0430) 가 라틴 'a' 와 시각적으로 같지만 Punycode 로는 다른 도메인. `xn--pple-43d.com` 이 `apple.com` 처럼 보이게 만드는 phishing 공격이 가능해 Chrome·Firefox 가 mixed-script 도메인은 일부러 Punycode 그대로 표시합니다.
Wikipedia — IDN homograph attack
관련 도구
- Base64 인코딩 / 디코딩
텍스트를 Base64로 인코딩하거나 디코딩합니다. 브라우저에서 즉시 실행되며 서버로 데이터가 전송되지 않습니다.
- URL 인코딩 / 디코딩
URL에 사용할 수 있도록 텍스트를 퍼센트 인코딩하거나 인코딩된 URL을 디코딩합니다. 브라우저에서 즉시 실행됩니다.
- UUID / ULID 생성기
UUID v4(랜덤) · UUID v7(시간 순서, RFC 9562) · ULID를 브라우저에서 생성합니다.
- JWT 디코더
JWT(JSON Web Token)의 header와 payload를 디코딩하여 표시합니다. 서명 검증은 수행하지 않으며(공개키 필요), 토큰은 브라우저에서만 처리됩니다.
- JWT 생성기 (HMAC)
HS256/HS384/HS512(HMAC-SHA) 알고리즘으로 서명된 JWT를 생성합니다. payload·secret 모두 브라우저에서만 처리 — Web Crypto API 기반.
- SHA 해시
텍스트의 SHA-1·SHA-256·SHA-384·SHA-512 해시를 계산합니다. 브라우저의 Web Crypto API를 사용하며 데이터가 서버로 전송되지 않습니다.
- Hex 인코딩 / 디코딩
텍스트를 16진수로 인코딩하거나 디코딩합니다. UTF-8을 자동 처리하며 공백을 무시합니다.
- HTML 엔티티 인코딩 / 디코딩
HTML 특수 문자(&, <, >, ", ')를 엔티티로 인코딩하거나, 이름/숫자 엔티티를 텍스트로 디코딩합니다.
- 비밀번호 생성기
암호학적으로 안전한 비밀번호·토큰·랜덤 문자열·패스프레이즈를 생성하고 엔트로피를 표시합니다.
- 진수 변환기
BigInt 기반으로 큰 정수까지 2/8/10/16/36진수 변환. 0b/0o/0x 자동 감지.
- URL 파서
URL을 프로토콜·호스트·경로·쿼리·해시로 분해해 한눈에 보여줍니다 (읽기 전용).
- HMAC 생성기
Web Crypto API로 SHA-1/256/384/512 HMAC을 계산합니다. 서명·검증 키 기반.
- HMAC 검증기
주어진 HMAC 서명이 message + secret 으로 만든 값과 일치하는지 검증합니다. Web Crypto API + constant-time 비교.
- MD5 해시
텍스트의 MD5 해시를 계산합니다. 주의: MD5는 보안용으로 부적합 — 체크섬·레거시 호환에만 사용.
- HTTP 상태 코드
HTTP 상태 코드(1xx-5xx)를 검색·탐색합니다. 설명과 일반 사용 사례 포함.
- User-Agent 파서
User-Agent 문자열을 브라우저·OS·기기·엔진별로 분해합니다.
- Bcrypt 해시
Bcrypt로 비밀번호를 해시하거나 기존 해시와 평문을 검증합니다. salt rounds 조정 가능.
- 쿠키 파서
Cookie 또는 Set-Cookie 문자열을 표로 분해합니다. percent-encoded 값 복원 + Set-Cookie 속성(Path/Domain/Max-Age/SameSite/HttpOnly/Secure) 인식.
- IP / CIDR 계산기
IPv4 주소와 CIDR로 네트워크 주소·브로드캐스트·호스트 범위·서브넷 마스크·호스트 수를 계산합니다.
- cURL 빌더
URL·method·헤더·본문으로 cURL 명령을 만듭니다. JSON content-type 자동.