Кодування
Punycode encode/decode
Кодування доменних імен з юнікод-символами (IDN) у ASCII-сумісний формат Punycode (xn--) і назад.
Система DNS історично підтримує лише ASCII-символи, тому доменні імена з кирилицею, ієрогліфами чи іншими не-ASCII символами (IDN) кодуються в Punycode — ASCII-сумісний запис із префіксом xn--. Інструмент кодує й декодує такі домени.
Як користуватися
- Кодування: введіть домен з кирилицею чи іншими юнікод-символами (наприклад, приклад.рф) — отримаєте ASCII-версію у форматі xn--....
- Декодування: вставте домен у форматі xn--..., щоб побачити оригінальні символи.
- Працює як з окремими мітками домену, так і з повним доменним іменем із кількома рівнями.
Типові сценарії
- Перевірка, який реальний домен ховається за незрозумілим рядком xn--... у листі чи посиланні.
- Реєстрація чи налаштування DNS для домену з національними символами, коли реєстратор вимагає ASCII-запис.
- Розпізнавання спроби homograph-атаки — домену, що візуально імітує відомий бренд символами з іншого алфавіту.
Що варто памʼятати
Схожі візуально символи з різних алфавітів (наприклад, кирилична «а» і латинська «a») можуть утворювати домен, що виглядає ідентично відомому бренду, — це основа homograph-фішингу.
Не всі браузери показують декодований Unicode однаково: при змішуванні алфавітів у мітці домену браузер часто навмисно показує сирий xn---запис як застереження.
Стаття про цей інструмент: Punycode: як домени з кирилицею працюють у DNS
Часті запитання
Навіщо потрібен Punycode?
DNS підтримує лише ASCII-символи, тому доменні імена з юнікод-літерами (кирилицею, умлаутами тощо) перекодовують у ASCII-сумісний формат Punycode з префіксом xn--. Саме такий вигляд домен має "під капотом", хоча в адресному рядку браузер зазвичай показує оригінальні символи.
У чому небезпека IDN-доменів з юнікод-символами?
Різні алфавіти містять символи, які виглядають однаково (наприклад, кирилична "а" і латинська "a"), тому шахраї можуть зареєструвати домен-двійник для фішингу — це називають homograph-атакою. Розкодувавши Punycode, можна перевірити, з яких символів насправді складається домен.
Чи можна закодувати весь URL, а не лише домен?
Ні, Punycode застосовується лише до окремих міток доменного імені (частин між крапками), а не до шляху, параметрів запиту чи схеми URL. Для іншого тексту в URL використовують percent-encoding.
Як розпізнати, що посилання використовує Punycode?
Закодований домен завжди має префікс xn-- перед кожною міткою, що містить не-ASCII символи. Якщо в адресному рядку чи листі бачите домен, що починається на xn--, це ознака IDN — варто перевірити, який текст ховається за кодуванням.
Чи всі браузери показують кирилицю в адресному рядку однаково?
Ні. Деякі браузери показують декодований Unicode лише якщо всі символи домену належать одному алфавіту, а при змішуванні алфавітів (ознака homograph-атаки) навмисно показують сирий xn---запис замість оригінальних символів.