エンコード
Punycode encode/decode
Unicode 文字を含むドメイン名(IDN)を ASCII 互換の Punycode 形式(xn--)にエンコード、またはその逆にデコード。
The DNS system historically only supports ASCII characters, so domain names with Cyrillic, CJK, or other non-ASCII characters (IDN) are encoded as Punycode — an ASCII-compatible form prefixed with xn--. This tool encodes and decodes such domains.
How to use it
- Encode: enter a domain with Cyrillic or other Unicode characters (e.g. пример.рф) to get its ASCII form as xn--....
- Decode: paste a domain in xn--... form to see the original characters.
- Works on both a single domain label and a full multi-level domain name.
Common uses
- Checking what real domain is hiding behind a confusing xn--... string in an email or link.
- Registering or setting up DNS for a domain with national characters when the registrar requires an ASCII form.
- Spotting a homograph attack — a domain visually mimicking a known brand using characters from a different script.
Things to keep in mind
Visually similar characters from different scripts (like Cyrillic "а" and Latin "a") can form a domain that looks identical to a known brand — this is the basis of homograph phishing.
Not every browser shows decoded Unicode the same way: when a domain label mixes scripts, browsers often deliberately show the raw xn-- form as a warning sign.
よくある質問
Punycode とは何ですか?
ドメイン名で使えるのはASCII文字のみという制約の中で、日本語や絵文字などのUnicode文字を含む国際化ドメイン名(IDN)を表現するためのエンコード方式です。変換結果は必ずxn--というプレフィックスで始まります。
xn-- で始まるドメインを見たらどうすればいいですか?
それはPunycodeでエンコードされた国際化ドメインです。ブラウザは通常これを元のUnicode表記で表示しますが、見た目がそっくりな別の文字(ホモグラフ)を使ったなりすましドメインである可能性もあるため、心当たりのないリンクでは注意が必要です。
入力したドメイン名は外部に送信されますか?
いいえ、エンコード・デコードの処理はブラウザ内のJavaScriptだけで完結しており、入力したドメイン名がどこかに問い合わせられたり送信されたりすることはありません。
リンクがPunycodeを使っていることをどう見分ければいいですか?
エンコードされたドメインは、非ASCII文字を含む各ラベルの前に必ずxn--というプレフィックスが付きます。アドレスバーやメール内でxn--から始まるドメインを見かけたら、それはIDNの兆候なので、エンコードの裏にどんなテキストが隠れているか確認する価値があります。
すべてのブラウザがアドレスバーでキリル文字を同じように表示しますか?
いいえ。多くのブラウザは、ドメインのすべての文字が単一の文字体系に属している場合にのみデコードされたUnicodeを表示し、複数の文字体系が混在している場合(ホモグラフ攻撃の兆候)は、意図的に元の文字ではなく生のxn--表記を表示します。