Qué hace
Convierte dominios internacionalizados entre Unicode y punycode - la forma ASCII (etiquetas xn--) que DNS resuelve de verdad. Escribe münchen.de y obtienes xn--mnchen-3ya.de, el nombre que un registrador almacena y que un resolver consulta. La dirección inversa restaura la forma Unicode de visualización. La herramienta ejecuta ella misma el algoritmo bootstring completo de RFC 3492 y sigue la regla de IDNA de codificar solo las etiquetas que contienen caracteres no ASCII, así que las etiquetas puramente ASCII pasan intactas.
Cómo usarlo
- Elige una dirección: Unicode → Punycode o Punycode → Unicode.
- Escribe un dominio, o pulsa un chip de ejemplo:
münchen.de,日本.jp,xn--mnchen-3ya.de,bücher.example. - El resultado aparece grande y centrado. Cópialo, o copia un enlace para compartir con tu entrada exacta.
El botón Swap invierte la dirección y lleva la salida actual a la entrada. Codifica un dominio, pulsa Swap, y la herramienta lo decodifica de vuelta en un clic.
Ejemplos
| Entrada | Salida |
|---|---|
münchen.de |
xn--mnchen-3ya.de |
Bücher.DE |
xn--bcher-kva.de - la entrada pasa a minúsculas primero, según IDNA |
café.fr |
xn--caf-dma.fr |
日本.jp |
xn--wgv71a.jp |
example.com |
example.com - el ASCII puro pasa tal cual |
xn--mnchen-3ya.de |
münchen.de |
Cómo funciona punycode
DNS solo habla ASCII. Los resolvers, los registros y las cachés se construyeron todos sobre bytes, no sobre Unicode. Pero la gente quiere dominios en su propia escritura, así que un nombre internacionalizado viaja disfrazado: cada etiqueta no ASCII se comprime en una etiqueta ASCII prefijada con xn--, y el navegador muestra la forma Unicode solo cuando la búsqueda tiene éxito. El prefijo es el marcador que dice “decodifícame para recuperar la etiqueta real”.
La compresión es la parte ingeniosa. Una etiqueta como münchen es sobre todo letras ASCII más una intrusa (ü). Punycode, definido en RFC 3492 como un algoritmo bootstring, empaqueta a las intrusas y sus posiciones en un sufijo compacto de dígitos base-36 y guiones:
- Copia los caracteres ASCII en orden:
mnchen. - Añade un guion separador:
mnchen-. - Añade valores codificados en deltas que nombran cada carácter insertado y su posición:
3ya.
El resultado, xn--mnchen-3ya, pertenece solo a münchen - el algoritmo es reversible, y codificar la decodificación devuelve siempre la misma etiqueta. Decodificar parte la etiqueta por el separador, reproduce los deltas y reinserta cada carácter Unicode en su posición registrada.
Dos reglas de cierre de IDNA: codificar pasa el dominio a minúsculas primero, porque los dominios se comparan sin distinguir mayúsculas y la forma ACE es siempre minúscula. Decodificar toca solo las etiquetas que empiezan por xn--; cualquier otra cosa pasa literal, así que not--valid se queda not--valid. Una sola etiqueta xn-- mal formada - un dígito erróneo, un truncamiento, un desbordamiento - rechaza el dominio entero, y la herramienta lo dice.
Buen saber
- Privado: toda la conversión se ejecuta 100% en el cliente - tu dominio nunca sale del navegador.
- Alerta de phishing: las etiquetas
xn--pueden imitar nombres familiares (ataques homógrafos). Los navegadores revelan la forma punycode cuando se mezclan escrituras dentro de una etiqueta; esta herramienta te muestra exactamente lo que cualquier etiqueta esconde. - Herramientas relacionadas: URL Inspector, HTML Entity Encoder, Slugify.