Encoders & Utilities

Konwerter Punycode

Konwertuj zinternacjonalizowane domeny (IDN ↔ ASCII).

Domain or IDN Paste a domain in any script — we will convert to both Punycode (xn--…) and Unicode. Email-style user@host works too.
приклад.укр
Unicode → ASCII
Unicode form
приклад.укр
ASCII / Punycode form
xn--80aikifvh.xn--j1amh
Per-label breakdown
Unicode ASCII Scripts
приклад xn--80aikifvh Cyrillic
укр xn--j1amh Cyrillic

O tym narzędziu

Punycode (RFC 3492) to kodowanie, którego system DNS używa do reprezentacji znaków nie-ASCII w nazwach domen. Cyrylicka nazwa пример.рф staje się xn--e1afmkfd.xn--p1ai w rzeczywistych zapytaniach DNS; chińskie 例え.テスト staje się xn--r8jz45g.xn--zckzah. Tłumaczenie jest w pełni dwukierunkowe — wklej dowolną formę, dostań drugą. Nasze narzędzie obsługuje pojedynczą etykietę, pełną domenę lub kilka domen rozdzielonych spacjami za jednym razem.

Kodowanie jest częścią standardu IDNA (Internationalized Domain Names in Applications). Przeglądarki, serwery mailowe i biblioteki TLS robią tę konwersję pod spodem — ale w momencie, gdy debugujesz problem DNS, konfigurujesz regułę firewalla lub podpisujesz certyfikat SSL, zwykle potrzebujesz formy punycode sam. Prefiks xn-- to stały marker mówiący "ta etykieta jest zakodowana punycode".

Kiedy używać tego narzędzia

  • Inspekcja podejrzanego linku. Kampanie phishingowe maskują URL-e, mieszając skrypty — zdekoduj dowolny link, by zobaczyć, czy раypal.com to naprawdę PayPal, czy cyrylicka podróbka (atak homograficzny).
  • Certyfikaty SSL dla domen IDN. Większość CA wymaga formy punycode jako SAN.
  • Konfiguracje firewall i DNS. Routery, BIND i większość allow-list potrzebują formy ASCII — przyjazny człowiekowi Unicode jest dla paska adresu przeglądarki, nie pliku konfiguracji.
  • Rekordy DNS e-mail. SPF, DKIM i DMARC wszystkie odwołują się do formy punycode domeny.

O atakach homograficznych (look-alike)

Unicode ma wiele znaków wizualnie przypominających litery łacińskie — cyrylicka а (U+0430) vs łacińska a (U+0061), grecka ο vs łacińska o. Punycode ujawnia je natychmiast: "legalna" example.com wyrenderowana znakami mieszanego skryptu staje się czymś jak xn--exampe-9he.com w punycode. Jeśli znana domena dekoduje się do czegoś z prefiksem xn--, podejrzewaj spoofing homograficzny.

Najczęstsze pytania

Co to jest prefiks xn--?

"ACE prefix" — stały marker identyfikujący etykietę DNS jako zakodowaną punycode. Każda część domeny zaczynająca się od xn-- ma być zdekodowana do Unicode przed pokazaniem człowiekowi. Prefiks jest zarezerwowany wyłącznie do tego celu od IDNA-2003; możesz polegać na nim, by odróżnić prawdziwe nazwy Unicode od przypadkowych dopasowań.

Czy to chroni mnie przed domenami look-alike?

Ujawnia je. Gdy wklejasz podejrzany link i forma punycode zaczyna się od xn--, podczas gdy wyświetlany tekst wygląda na czysto łaciński, to atak homograficzny — znaki cyrylickie, greckie lub ormiańskie zamaskowane jako łacińskie. Nowoczesne przeglądarki same wyświetlają formę punycode, gdy skrypty są mieszane, ale jeśli masz jakieś wątpliwości co do URL-a, który dostałeś, dekodowanie tu daje definitywną odpowiedź.

Dlaczego TLD-y czasem też mają xn--?

Bo istnieją IDN TLD: .рф (Rosja), .中国 (Chiny), .укр (Ukraina), .한국 (Korea) i dziesiątki innych. Każdy z nich rozwiązuje się do odpowiednika punycode (.xn--p1ai, .xn--fiqs8s, .xn--j1amh, .xn--3e0b707e). Gdy domena używa zarówno etykiety IDN, jak i TLD IDN, oba segmenty będą zaczynały się od xn--.

Czy mogę używać mieszanych skryptów w jednej etykiecie?

Technicznie tak, ale rejestry tego zabraniają ze względów bezpieczeństwa. Reguły IDNA ICANN i większości rejestrów zabraniają mieszania skryptów w jednej etykiecie (np. łaciński + cyrylicki w tym samym słowie), specjalnie by udaremnić ataki homograficzne. Enkoder punycode nadal przetworzy string, ale wynikowa domena byłaby nierejestrowalna u każdego głównego rejestratora. Zawsze używaj jednego skryptu na etykietę.