DocumentosImágenesMediaHerramientas PDF

Conversor Punycode/Unicode

Convierte dominios internacionalizados entre Punycode y Unicode, en tu navegador.

Arrastra tu PDF aquí

.pdf · hasta 2 GB

GratisSin registroSin marca de aguaOCR incluido

Conversor Punycode para dominios IDN

Todos los scripts Unicode

Soporta dominios en chino, árabe, cirílico, devanagari, hebreo, japonés y cualquier script Unicode.

100% privado

La conversión Punycode ocurre completamente en tu navegador usando la API nativa. Sin servidores.

Detección de homógrafos

Revela caracteres Unicode ocultos en dominios sospechosos. Identifica posibles intentos de phishing.

Instantáneo

Conversión bidireccional en tiempo real. Sin registro, sin esperas, RFC 3492 compliant.

Tres pasos, sin complicaciones

1

Introduce el dominio

Escribe o pega un dominio en Unicode (como café.com o 中文.com) o en Punycode (como xn--caf-dma.com). La herramienta detecta el formato automáticamente.

2

Conversión instantánea

El dominio se convierte entre su representación Unicode legible y su representación Punycode ASCII (xn--...) usando el estándar RFC 3492.

3

Verifica y copia

Copia el resultado para usarlo en configuraciones DNS, registros de dominio o para verificar si un dominio sospechoso usa caracteres homógrafos.

¿Tienes dudas?

Punycode es un algoritmo de codificación definido en el RFC 3492 (publicado en 2003) por la IETF, diseñado para representar nombres de dominio internacionalizados (IDN, Internationalized Domain Names) usando solo caracteres ASCII. El sistema de DNS fue diseñado originalmente solo para caracteres ASCII (letras a-z, dígitos 0-9, y guión), lo que excluía los idiomas que usan acentos, caracteres no latinos (chino, árabe, cirílico, etc.). Punycode resuelve esto codificando los caracteres Unicode como una cadena ASCII que comienza con el prefijo xn--. Por ejemplo, münchen.de se convierte en xn--mnchen-3ya.de.

El prefijo xn-- es el prefijo ACE (ASCII Compatible Encoding) definido en el estándar IDNA (Internationalizing Domain Names in Applications). Indica que la etiqueta de dominio que sigue es una representación Punycode de caracteres Unicode. El prefijo xn-- aparece en cada etiqueta (parte separada por puntos) del dominio que contiene caracteres no-ASCII. Si el dominio completo es Unicode, todas las etiquetas tendrán el prefijo. Por ejemplo, bücher.de tiene la etiqueta bücher que en Punycode es xn--bcher-kva, resultando en xn--bcher-kva.de. El TLD (.de, .com) raramente necesita codificación.

Un ataque de homógrafos IDN (también llamado ataque de homófonos o Unicode spoofing) ocurre cuando un atacante registra un dominio que visualmente parece idéntico a un dominio legítimo, pero usa caracteres de un alfabeto diferente. Por ejemplo, la letra latina 'a' (U+0061) es visualmente idéntica a la letra cirílica 'а' (U+0430). Un dominio como pаypal.com con la 'a' cirílica es diferente de paypal.com con la 'a' latina, pero se ven iguales. Esta herramienta permite verificar si un dominio sospechoso usa caracteres no-ASCII revelando su representación Punycode.

ICANN (Internet Corporation for Assigned Names and Numbers) aprobó los IDN ccTLDs (country-code Top Level Domains internacionalizados) en 2009 y los IDN gTLDs genéricos a partir de 2012. Los primeros IDN ccTLDs en activarse fueron en árabe (Egipto, Arabia Saudí) y en cirílico (Rusia) en 2010. Hoy existen TLDs completamente en chino, árabe, devanagari, hebreo y otros scripts. ICANN tiene políticas de seguridad para prevenir ataques de homógrafos: los registradores deben validar que los dominios no mezclen scripts de diferentes idiomas en la misma etiqueta (restricción de mezcla de scripts).

Hay varias formas de verificar si un dominio usa Punycode: 1) Usa esta herramienta: pega el dominio y verás si contiene caracteres Unicode ocultos. 2) Inspecciona la barra de direcciones del navegador: Chrome y Firefox muestran el Punycode (xn--...) en la barra de direcciones cuando detectan posibles ataques de homógrafos. 3) Ejecuta en terminal: python3 -c "import idna; print(idna.encode('dominio.com'))" o en Node.js: require('punycode').toASCII('dominio.com'). 4) Consulta el registro DNS con nslookup o dig: el nombre mostrado puede revelar el Punycode.

Historia de los IDN (ICANN 2003), prevención de domain spoofing, e internacionalización web

La historia de los nombres de dominio internacionalizados (IDN) comienza con el reconocimiento de que el DNS, diseñado en los años 80 por Paul Mockapetris, solo soportaba ASCII, excluyendo los idiomas de la mayoría de la población mundial. Los primeros esfuerzos de estandarización comenzaron en los años 90. El RFC 3492 (Punycode) fue publicado en marzo de 2003, y el estándar IDNA (RFC 3490) en el mismo año. ICANN aprobó el soporte para IDN ccTLDs en octubre de 2009 tras años de debate, y los primeros dominios totalmente en árabe (.مصر para Egipto, .السعودية para Arabia Saudí) se activaron en 2010.

El domain spoofing mediante homógrafos Unicode es una amenaza de seguridad real. El caso más famoso fue demostrado por Evgeniy Gabrilovich y Alex Gontmakher en 2001, cuando registraron pаypal.com con una 'a' cirílica. En 2017, el investigador Xudong Zheng demostró que era posible registrar аррӏе.com (usando caracteres cirílicos que parecen letras latinas) y obtener un certificado TLS válido, haciendo prácticamente indetectable el ataque. Los navegadores modernos respondieron mostrando el Punycode en la barra de direcciones cuando detectan mezcla de scripts o caracteres de scripts poco comunes.

La internacionalización web (i18n) va más allá de los dominios. Unicode, desarrollado desde 1991 por el Unicode Consortium, define más de 140.000 caracteres de prácticamente todos los sistemas de escritura del mundo. La codificación UTF-8, que representa Unicode como bytes ASCII-compatible, es hoy el estándar universal para la web (más del 98% de las páginas web usan UTF-8 según W3Techs). El soporte para nombres de dominio internacionalizados completa la internacionalización de la capa de transporte: con IDN, URL completas en idiomas nativos son posibles. El WHATWG URL Standard (implementado en navegadores) usa Punycode internamente para procesar dominios Unicode en URLs.