Todos los artículos

URL Encode/Decode: el percent-encoding en los enlaces

El español añade a la lista de caracteres problemáticos algo que el inglés no tiene: vocales acentuadas (á é í ó ú), la eñe y los signos de apertura ¿ y ¡ — todos deben convertirse a percent-encoding antes de viajar dentro de una URL.

Por qué "mañana" no cabe tal cual en un enlace

Cada carácter no-ASCII se codifica primero como UTF-8 y luego cada byte se escribe como %XX: la eñe de "mañana" ocupa 2 bytes y se convierte en %C3%B1, así que la palabra completa pasa de 7 a más de 15 caracteres codificados. Un buscador interno de una tienda que use "año" o "niño" como parámetro genera enlaces notablemente más largos que su equivalente sin acentos.

encodeURIComponent frente a encodeURI

encodeURIComponent escapa prácticamente todo lo que tiene significado estructural — &, ?, =, / — y es la opción correcta para un solo valor, como un término de búsqueda que se inserta en ?q=. encodeURI respeta esos caracteres estructurales porque está pensada para codificar una URL completa ya construida.

Un error típico con enlaces de WhatsApp

Al generar un enlace wa.me o api.whatsapp.com/send?text= con un mensaje predefinido que incluye acentos o el símbolo ¿, hay que codificar solo el valor del parámetro text, no la URL entera: si se codifica de más, el propio ? que separa la URL del parámetro también se escapa y el enlace deja de funcionar.

Cuándo se necesita esto

  • Construir enlaces con búsquedas o nombres de producto que llevan tildes o eñes.
  • Generar enlaces de WhatsApp o de formularios con texto predefinido en español.
  • Depuración: decodificar una URL para ver qué texto real esconde detrás del %XX.

Caso límite: doble codificación

Si una URL que ya contiene %C3%B1 se vuelve a codificar por error, el propio símbolo % se convierte en %25 y el resultado queda irreconocible (%C3%B1 pasa a %25C3%25B1). Esto ocurre a menudo cuando un framework codifica automáticamente la URL y, además, el código llama manualmente a encodeURIComponent sobre un valor que ya venía codificado.

Probar la herramienta