Decodificar y codificar URL

Pega una dirección o un parámetro y conviértelo a su forma codificada, o recupera el texto original: «año nuevo» pasa a «a%C3%B1o%20nuevo», y al revés. La ñ, las tildes y los emojis se tratan como UTF-8.

Caracteres
0
Palabras
0
Líneas
0

Tu texto nunca sale de tu dispositivo.

Cómo se usa

  1. Pega el texto o la dirección en el cuadro.
  2. Elige «Codificar» o «Decodificar». Activa «URL completa» si pegas una dirección entera y quieres que se mantengan : / ? # & =.
  3. Copia el resultado o descárgalo como archivo .txt.

Ejemplos

  • Antes
    año nuevo & más
    Después
    a%C3%B1o%20nuevo%20%26%20m%C3%A1s
  • Antes
    https://ejemplo.es/camión?q=año nuevo
    Después
    https%3A%2F%2Fejemplo.es%2Fcami%C3%B3n%3Fq%3Da%C3%B1o%20nuevo

Por qué hay que codificar las URL

Una dirección web solo puede contener un grupo pequeño de caracteres seguros: letras de la A a la Z sin tilde, números y unos pocos signos como - _ . ~. Todo lo demás (los espacios, la ñ, las tildes, los emojis y los signos con un significado especial, como & o #) se sustituye por «%» seguido de dos cifras hexadecimales por cada byte. Es la llamada codificación porcentual o percent-encoding.

Un enlace con «ñ» es el ejemplo más habitual en español: https://ejemplo.es/mañana se envía como https://ejemplo.es/ma%C3%B1ana. Los navegadores suelen mostrar la versión legible en la barra de direcciones, pero los correos, los registros de servidores y las herramientas de análisis enseñan la codificada.

Parámetro o URL completa

  • Modo parámetro (por defecto): codifica todo menos las letras sin tilde, los números y - _ . ! ~ * ' ( ). Úsalo para un valor de consulta, como ?q=año nuevo & más.
  • Modo URL completa: conserva : / ? # [ ] @ ! $ & ' ( ) * + , ; = y solo codifica los espacios y las letras fuera de ASCII. Úsalo para una dirección entera, como https://ejemplo.es/camión?q=año nuevo. Al decodificar, %2F y %3F permanecen codificados para no cambiar la estructura.

Texto en español

Todas las letras con tilde, la ñ y los signos ¿ y ¡ ocupan dos bytes en UTF-8, y se escriben así:

Carácter Codificado Carácter Codificado
á %C3%A1 ñ %C3%B1
é %C3%A9 ü %C3%BC
í %C3%AD ¿ %C2%BF
ó %C3%B3 ¡ %C2%A1
ú %C3%BA espacio %20

Errores frecuentes

  • Codificar dos veces. Si ves %2520, el «%» de %20 se codificó otra vez (como %25). Decodifica una vez más.
  • Usar el modo parámetro con una URL entera. https%3A%2F%2F… ya no es un enlace. Para una dirección completa activa «URL completa».
  • Dejar un «%» suelto. «50% de descuento» no es una cadena válida; el «%» debe escribirse %25.
  • Confundir con Base64. La codificación de URL no oculta el texto; solo lo hace seguro para una dirección.

Preguntas frecuentes

¿Qué significa %C3%B1 en una URL?

Es la «ñ». Las direcciones web solo admiten un conjunto reducido de caracteres, así que el resto se escribe como un porcentaje seguido de los bytes UTF-8 en hexadecimal. La «ñ» ocupa dos bytes (C3 B1) y «á» es %C3%A1, «é» es %C3%A9, «ó» es %C3%B3 y el espacio es %20.

¿Cómo decodifico una URL con %20 y %C3?

Pega la dirección en el cuadro y pulsa «Decodificar»: «a%C3%B1o%20nuevo» vuelve a ser «año nuevo». Si la dirección empieza con https:// y quieres mantener su estructura, activa «URL completa»: así %2F, %3F y otros códigos de separadores se conservan codificados para que el enlace siga funcionando.

¿Cuál es la diferencia entre codificar un parámetro y una URL completa?

Un parámetro (el valor de una consulta, un trozo de ruta) se codifica entero, incluidos los caracteres : / ? # & =, que tienen significado en una dirección. Una URL completa mantiene esos caracteres de estructura y solo codifica los espacios y las letras fuera de ASCII, como la ñ. Si codificas una URL entera en modo parámetro, deja de funcionar como enlace.

¿Qué pasa con el signo + y con el espacio?

El espacio se codifica como %20. El signo «+» solo significa espacio en los formularios web antiguos; la herramienta no lo interpreta así al decodificar, porque en una URL normal es un más. Si tu texto viene de un formulario y tiene «+» entre palabras, cámbialo por espacios antes con «buscar y reemplazar».

¿Por qué aparece «Codificación rota» o «bytes no válidos»?

Después de un «%» deben ir exactamente dos dígitos hexadecimales (0–9, A–F). Un «%» suelto, por ejemplo en «50%», da error en la posición indicada: se codifica como %25. Si los bytes decodificados no forman un texto UTF-8 válido, la dirección probablemente se creó con otra codificación, como Latin-1.