#493 · Herramienta para desarrolladores

Punycode Decoder

Decodifica etiquetas Punycode con prefijo xn-- y reconstruye su forma Unicode para facilitar la revisión de dominios internacionalizados. El procesamiento se hace etiqueta por etiqueta en el navegador mediante una implementación del algoritmo de decodificación Punycode, por lo que no necesita consultas DNS. La herramienta resalta cuántas etiquetas fueron transformadas y ayuda a detectar dominios que visualmente podrían confundirse con otros escritos con alfabetos distintos.

Datos de entrada

Dominio Punycode
Espacio publicitario

Cómo usar esta herramienta para desarrolladores

  1. Pega un hostname ASCII que pueda contener etiquetas xn--.
  2. Ejecuta la decodificación.
  3. Revisa la forma Unicode resultante y la correspondencia por etiqueta.
  4. Contrasta caracteres visualmente similares antes de confiar en el dominio.

Qué hace esta herramienta para desarrolladores

La salida sustituye cada etiqueta Punycode válida por su secuencia Unicode equivalente y conserva sin cambios las etiquetas ASCII normales.

Para cada etiqueta xn-- se aplica el algoritmo Punycode de RFC 3492: copia de caracteres básicos, lectura de enteros generalizados, adaptación del bias e inserción de code points Unicode.

Ver un dominio en Unicode puede hacerlo más legible, pero también puede revelar caracteres de otros alfabetos visualmente parecidos a letras latinas.

Ejemplo

Entrada:

xn--mnich-kva.example

Salida:

münich.example

Casos de uso

  • Auditar enlaces copiados desde correos o logs.
  • Revisar dominios IDN antes de añadirlos a listas de confianza.
  • Explicar qué texto representa una etiqueta xn--.
  • Comparar hostname ASCII y Unicode durante depuración.

Consejos para obtener resultados fiables

  • No asumas que un dominio es legítimo solo porque la forma Unicode parece familiar.
  • Compara el TLD y el certificado cuando analices enlaces sensibles.
  • Mantén la forma ASCII original para registros y búsquedas exactas.
  • Trata errores de decodificación como señal de entrada inválida.

Detalles del procesamiento

La implementación procesa los dígitos Punycode en base 36 y adapta dinámicamente el bias. Después convierte los code points resultantes a caracteres JavaScript mediante String.fromCodePoint.

La herramienta decodifica Punycode pero no aplica todas las políticas IDNA de registro ni comprueba si el resultado Unicode es aceptado por un registrador o por DNS.

Preguntas frecuentes

¿Qué indica el prefijo xn-- en un dominio?

Señala que esa etiqueta ASCII contiene una codificación Punycode de caracteres Unicode.

¿Puedo decodificar un dominio que mezcla etiquetas normales y xn--?

Sí. Solo se transforman las etiquetas que empiezan por xn--; las demás se conservan.

¿Decodificar Punycode verifica que el dominio sea legítimo?

No. Solo cambia la representación. Debes comprobar DNS, certificado, contexto y posibles caracteres homógrafos por separado.

¿Qué ocurre si una etiqueta xn-- contiene Punycode inválido?

La herramienta detiene el procesamiento e informa del error en lugar de inventar una salida Unicode.

¿Por qué conviene guardar también el dominio ASCII original?

Porque la forma ASCII es estable para comparaciones técnicas, logs y configuraciones aunque la representación Unicode pueda variar visualmente.

Resumen técnico

ElementoValor
CategoríaCodificación y decodificación
Número493
EjecuciónLocal en el navegador
DependenciasNinguna