الترميز
Punycode encode/decode
ترميز أسماء النطاقات التي تحتوي على أحرف Unicode (IDN) إلى صيغة Punycode المتوافقة مع ASCII (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: كيف تعمل النطاقات الدولية في DNS
الأسئلة الشائعة
ما هو Punycode ولماذا يبدأ الناتج بـ xn--؟
Punycode طريقة لتحويل أسماء النطاقات الدولية (IDN) التي تحتوي أحرف Unicode مثل العربية أو الألمانية إلى صيغة متوافقة مع ASCII فقط، لأن نظام DNS يدعم تاريخيًا الأحرف اللاتينية الأساسية فقط. البادئة xn-- تُعلم المتصفحات وخوادم DNS أن ما يليها Punycode يجب فك ترميزه.
ما علاقة Punycode بمخاطر التصيّد باستخدام نطاقات متشابهة؟
يمكن لمهاجم تسجيل نطاق يحتوي أحرف Unicode تبدو مطابقة بصريًا لحروف لاتينية (هجوم homograph)، مثل استبدال الحرف a بحرف سيريلي مشابه، وعندها يعرض المتصفح النطاق بصيغة xn-- الغريبة أو بالشكل الأصلي حسب إعداداته، لذا يُنصح بالتحقق من الرابط الفعلي عند الشك.
هل يتم إرسال اسم النطاق الذي أدخله إلى خادم للتحقق منه؟
لا، التحويل بين Unicode وPunycode يتم بالكامل محليًا في متصفحك دون أي اتصال بخادم DNS أو أي جهة خارجية.
كيف يمكن التعرف على أن رابطًا يستخدم Punycode؟
يحمل النطاق المُرمَّز دائمًا البادئة xn-- قبل كل مقطع يحتوي أحرفًا غير ASCII. إذا رأيت في شريط العنوان أو في رسالة بريد نطاقًا يبدأ بـ xn--، فهذه علامة على IDN — ويُستحسن التحقق من النص المختبئ خلف الترميز.
هل تعرض جميع المتصفحات الأحرف السيريلية في شريط العنوان بنفس الطريقة؟
لا. بعض المتصفحات تعرض نسخة Unicode المفكوكة فقط إذا كانت جميع أحرف النطاق تنتمي إلى أبجدية واحدة، أما عند مزج الأبجديات (وهي علامة على هجوم homograph) فتعرض عمدًا سجل xn-- الخام بدلاً من الأحرف الأصلية.