EmoArt
Publicar
Glosario

Qué es Punycode

Última actualización: 2026-05-22·Aprox. 4 min

Este artículo se lee en unos 4 minutos.

Escribes «日本.jp» en la barra de direcciones y aparece «xn--wgv71a.jp». La conversión que lo hace posible es Punycode.Tradicionalmente, los nombres de dominio solo admitían caracteres ASCII alfanuméricos y guiones. Para manejar nombres de dominio internacionalizados (IDN) que contienen japonés o emojis, se estandarizó Punycode como mecanismo para codificar caracteres no ASCII en ASCII. Aunque normalmente pasa desapercibido, desempeña un papel importante tras la barra de direcciones del navegador y en los mecanismos de seguridad.

Definición

Punycode es un algoritmo de conversión que codifica cadenas Unicode usando solo el conjunto limitado de caracteres ASCII (a-z, 0-9, guion). Estandarizado en RFC 3492, es la tecnología central de los nombres de dominio internacionalizados (IDN, Internationalized Domain Names), permitiendo que dominios con caracteres no ASCII funcionen en la infraestructura DNS existente. El resultado de la conversión lleva el prefijo «xn--».

Por qué es necesario

Cuando se diseñó el DNS (Domain Name System) en los años 80, los nombres de dominio se limitaron a caracteres ASCII alfanuméricos y guiones. En la década de 2000 creció la necesidad de soportar idiomas de todo el mundo, pero reescribir la infraestructura DNS existente no era viable. Así se ideó Punycode como «codificación compatible con ASCII (ACE)», logrando un sistema que envía cadenas ASCII al DNS mientras muestra al usuario los caracteres en su idioma original.

Ejemplos de conversión

Dominio originalRepresentación Punycode
日本.jpxn--wgv71a.jp
München.dexn--mnchen-3ya.de
правда.рфxn--80aafi6cg.xn--p1ai
💩.la (dominio emoji)xn--ls8h.la

Significado del prefijo xn--

El «xn--» que siempre aparece al inicio del resultado es un identificador que indica «esta cadena está codificada con Punycode». Los resolvers DNS, los certificados TLS y los servidores de correo reconocen un «IDN convertido a ASCII» al ver este prefijo. El prefijo en sí no tiene significado especial; fue elegido como identificador para mantener la compatibilidad con sistemas antiguos que no soportan Unicode.

La realidad de los dominios emoji

Técnicamente es posible convertir a Punycode dominios que contienen emojis (en el pasado se podían registrar en algunos TLD como .la o .ws). Sin embargo, en la práctica presentan los siguientes problemas:

  • Los navegadores principales (Chrome, Firefox, Safari) muestran los dominios emoji en formato Punycode en la barra de direcciones
  • Muchos servidores de correo rechazan dominios emoji
  • Son difíciles de leer en previsualizaciones de enlaces en redes sociales y códigos QR
  • Es extremadamente difícil comunicarlos verbalmente

Aunque pueden generar atención momentánea como elemento de marketing viral, no son una opción viable como dominio principal de un negocio.

Problemas de seguridad

Ataque homógrafo

Consiste en combinar caracteres de distintos idiomas que son visualmente idénticos (como la «а» cirílica U+0430 y la «a» latina U+0061) para crear dominios de ataque indistinguibles del dominio legítimo.

  • Legítimo: apple.com
  • Falso: аpple.com (la primera «а» es cirílica)

Cuando el navegador detecta que un dominio mezcla varios sistemas de escritura o patrones homógrafos específicos, cambia automáticamente a la visualización Punycode para alertar al usuario. Chrome muestra en Punycode los dominios en los que detecta scripts mixtos y determina que «podría ser un ataque homógrafo».

Protección contra phishing

En las estrategias de seguridad corporativa, monitorizar dominios IDN similares a la propia marca se ha convertido en práctica habitual. Existen servicios que vigilan combinaciones de caracteres Unicode que se asemejan a marcas como «apple», «google» o «microsoft».

Manejo en la práctica

  • Registro de dominios: los dominios en japonés se registran en el DNS tras ser convertidos a Punycode. Hay que tener en cuenta tanto la visualización como la implementación interna
  • Envío de correo: si el dominio del remitente o destinatario contiene caracteres no ASCII, el servidor de correo del receptor puede rechazarlo
  • Certificados SSL: la mayoría de las autoridades de certificación soportan IDN, pero en el certificado se registra en formato Punycode
  • Enlaces web: aunque escribas un dominio en japonés en el href del HTML, el navegador lo convierte automáticamente a Punycode para la comunicación

Errores comunes

  • ❌ «Punycode es exclusivo del japonés» → ✅ Soporta todos los caracteres Unicode
  • ❌ «Los dominios emoji se pueden usar con normalidad» → ✅ En los navegadores principales se muestran como Punycode y su utilidad es baja
  • ❌ «xn-- es un prefijo irrelevante» → ✅ Es el identificador obligatorio de un dominio codificado con Punycode

Términos relacionados

  • Unicode - el estándar de caracteres que Punycode codifica
  • Emoji - caracteres Unicode usados en dominios emoji

¿Te resultó útil este artículo?