IDN Punycode-converter

Converteer eenvoudig IDN naar Punycode en terug.

5 van 2 beoordelingen
IDN Punycode-converter

De IDN Punycode-converter is een gratis tool waarmee je geïnternationaliseerde domeinnamen omzet naar Punycode-ASCII en Punycode terugzet naar leesbare Unicode-tekst.

Wat is Punycode en waarom bestaat het?

Punycode maakt deel uit van de IDNA-conversie van Unicode U-labels naar ASCII A-labels. Zo kunnen namen met letters als ü, é of 漢 worden verwerkt door systemen die oorspronkelijk alleen zijn ontworpen voor Latijnse basisletters, cijfers en koppeltekens.

Een IDNA A-label begint met xn--. Dit voorvoegsel laat toepassingen met IDNA-ondersteuning weten dat de overige tekens een Punycode-weergave van een U-label vormen. Punten blijven scheidingstekens, waardoor elk deel van een domein afzonderlijk wordt omgezet.

Punycode wordt gebruikt binnen Internationalised Domain Names in Applications, meestal afgekort tot IDNA. IDNA regelt ook de validatie en verwerking van tekens. Punycode levert de ASCII-weergave van een geschikt Unicode-label.

Punycode is een codering, geen versleuteling. Iedereen kan de ASCII-vorm terugzetten naar Unicode. Punycode biedt dus geen geheimhouding en mag nooit worden gebruikt om informatie te verbergen.

Schema: tekst gaat in beide richtingen door de tool IDN Punycode-converter

Hoe zet ik een geïnternationaliseerde domeinnaam om?

Voer Unicode-tekst in bij Converteren naar Punycode/ASCII, of voer ASCII A-labels in bij Converteren naar IDN/Tekst. Het bijbehorende resultaat verschijnt in Punycode/ASCII of IDN/Text.

  1. Kopieer alleen de domeinnaam of het label dat je wilt omzetten, zonder aanhalingstekens eromheen.
  2. Gebruik Converteren naar Punycode/ASCII voor Unicode-tekst met letters met accenten of niet-Latijnse tekens.
  3. Gebruik Converteren naar IDN/Tekst voor ASCII A-labels.
  4. Controleer elk omgezet label voordat je het gebruikt in DNS, e-mailinstellingen of de configuratie van een toepassing.
De tool IDN Punycode-converter op digily.link, met het invoerformulier

De converter gebruikt de PHP-functies idn_to_ascii en idn_to_utf8. De verwerking vindt plaats op de server. Je invoer wordt via HTTPS naar de server verzonden en niet opgeslagen.

Voorbeelden van domeinconversie

Een eenvoudig voorbeeld laat het verband zien tussen de weergegeven naam en de vorm die geschikt is voor DNS.

Invoer münchen.de

Uitvoer xn--mnchen-3ya.de

Als je de uitvoer in de andere richting omzet, krijg je münchen.de terug. Het label de bevat alleen ASCII en hoeft niet te worden omgezet. Het label met ü wordt een xn---label.

De invoer moet geldige domeinnaamtekst zijn. Veelvoorkomende gevallen worden door de onderliggende indeling als volgt verwerkt:

  • Letters met accenten en niet-Latijnse letters: geschikte Unicode-labels worden via IDNA en Punycode in ASCII weergegeven.
  • Punten: elke punt scheidt twee labels. Een domein kan daardoor bestaan uit een combinatie van gewone ASCII-labels en gecodeerde labels.
  • Cijfers en gewone koppeltekens: deze zijn al onderdeel van ASCII en blijven doorgaans leesbaar, zolang ze voldoen aan de syntaxisregels voor domeinnamen.
  • Spaties: spaties zijn niet geldig binnen gewone DNS-hostlabels. Verwijder een onbedoelde spatie. Verwacht niet dat Punycode deze als onderdeel van het domein behoudt.
  • Leestekens: een punt scheidt labels, maar tekens die bij een URL-pad, poort of querystring horen, maken geen deel uit van de hostnaam.
  • Lege of zeer lange invoer: een lege waarde bevat geen domein dat kan worden omgezet. DNS beperkt elk gecodeerd label bovendien tot 63 octetten. Een Unicode-label dat er kort uitziet, kan na conversie dus te lang zijn.
Voorbeeldresultaat van de tool IDN Punycode-converter

Waarom mislukt de Punycode-conversie of krijg ik onverwachte tekst?

Conversie mislukt meestal omdat de invoer geen geldige IDN-tekst is, een ongeldig A-label bevat of eerst met een andere codering is verwerkt. Bij conversie naar IDN/Text kan gewone ASCII-invoer die geen A-label is simpelweg ongewijzigd blijven. Controleer of de bron Unicode U-labels, ASCII A-labels of een URL-gecodeerde hostnaam bevat voordat je handmatig tekens aanpast.

  • Ongeldige A-labels of de verkeerde codering: een ongeldig xn---label kan niet altijd worden omgezet. Base64, hexadecimale tekst en procentgecodeerde URL's zijn geen Punycode.
  • Niet-ondersteunde tekens: Punycode kan Unicode-waarden weergeven, maar IDNA-regels en domeinregisters kunnen bepaalde tekens, combinaties of schriften weigeren.
  • Te lang label: DNS beperkt elk gecodeerd label tot 63 octetten. Een Unicode-label kan daardoor na conversie te lang worden.
  • Onvolledige of vervuilde invoer: als je samen met de hostnaam ook haakjes, een poortnummer of een deel van een HTML-attribuut kopieert, kan de waarde ongeldig worden.
  • Dubbel gecodeerde invoer: als tekens in een Punycode-domein expliciet of niet-canoniek procentgecodeerd zijn, kunnen ze als procentsequenties verschijnen. Decodeer eerst die URL-laag met een URL-decoder en zet daarna het resulterende domein om.
  • Binaire gegevens in plaats van tekst: IDN-conversie werkt met Unicode-tekst voor domeinnamen. Willekeurige bytes uit een bestand kunnen bij validatie worden geweigerd of betekenisloze tekens opleveren als ze als tekst worden behandeld.

Waar kom ik Punycode tegen?

Je komt Punycode vooral tegen in domeinnamen, DNS-records, de adresverwerking van browsers en systemen die hostnamen als ASCII opslaan. Een browser kan de leesbare geïnternationaliseerde naam tonen of de xn---vorm behouden. Dat hangt af van de veiligheidsregels van de browser en de gebruikte tekens.

In e-mailadressen kan Punycode worden gebruikt voor het domein na het @-teken. Het codeert niet de mailboxnaam vóór het @-teken. JSON-payloads en querystrings kunnen Punycode bevatten als daarin een hostnaam staat, maar de syntaxis van JSON en querystrings vereist geen Punycode voor gewone tekst.

Data-URI's gebruiken voor hun inhoud normaal gesproken procentcodering of Base64. Punycode komt daar alleen voor als de opgenomen tekst toevallig een geïnternationaliseerde hostnaam bevat. Gebruik op dezelfde manier een URL-encoder voor waarden in een pad of query en Punycode voor de hostnaam zelf.

Veelgestelde vragen

Kan ik een volledige URL in een IDN-converter plakken?

Het is veiliger om de hostnaam uit de URL te halen en alleen dat deel om te zetten. Het schema, de poort, het pad, het fragment en de query hebben elk eigen syntaxisregels. Tekens in die onderdelen hebben mogelijk URL-codering nodig in plaats van Punycode.

Is een website met een xn---label in de domeinnaam onveilig?

Nee. Veel legitieme geïnternationaliseerde domeinen gebruiken xn---labels. Visueel vergelijkbare tekens uit verschillende schriften kunnen echter worden gebruikt voor misleidende namen. Controleer daarom de gedecodeerde spelling en de verwachte organisatie voordat je wachtwoorden of betaalgegevens invoert.

Kan ik emoji gebruiken in een Punycode-domein?

Emoji zijn niet toegestaan in IDNA-domeinlabels, ook al kan het Punycode-algoritme hun codepunten coderen. Domeinregisters kunnen daarnaast extra beperkingen opleggen aan toegestane schriften en symbolen.

Waarom toont mijn browser Punycode in plaats van Unicode?

Browsers kunnen de ASCII-vorm behouden als een label verschillende schriften combineert, tekens bevat die met spoofing worden geassocieerd of niet voldoet aan hun weergavebeleid. Dit is een beveiligingsmaatregel voor de weergave en geen bewijs dat de conversie onjuist is.

Werkt een omgezette naam zeker in DNS?

Nee. Een geslaagde conversie bewijst niet dat het domein geregistreerd, beschikbaar of toegestaan is door het relevante domeinregister. Controleer vóór gebruik de lengte van het label en de leesbare spelling, en ga na of het register de betreffende tekens accepteert.

Populaire tools