URL Encode / Decode

Codifica y decodifica cadenas URL usando percent-encoding estándar.

sys-dev-toolkit.lovable.app/herramientas/url-encode-decode

Herramienta

Qué problema resuelve

Los parámetros de query con espacios, acentos o caracteres reservados rompen tus URLs.

El percent-encoding, definido en el RFC 3986, es la forma en que las URLs transportan caracteres reservados, espacios, acentos o cualquier byte fuera de ASCII imprimible. Sin él, una simple búsqueda con espacios rompería la petición HTTP. Esta herramienta codifica y decodifica cadenas al vuelo aplicando exactamente las reglas del estándar, útil para depurar querystrings, callbacks OAuth o parámetros mal escapados por un cliente.

Cuándo hay que codificar y cuándo no

Los caracteres reservados (`: / ? # [ ] @ ! $ & ' ( ) * + , ; =`) tienen un significado sintáctico dentro de la URL. Si aparecen dentro del valor de un parámetro deben codificarse; si separan partes de la URL, no. Los caracteres no reservados (letras, dígitos, `- _ . ~`) nunca se codifican. Todo lo demás se convierte a `%HH` con el valor UTF-8 del byte.

encodeURIComponent vs encodeURI

JavaScript ofrece dos primitivas. `encodeURI` respeta los caracteres reservados porque asume que le pasas una URL completa. `encodeURIComponent` codifica también los reservados y es la que debes usar para valores de parámetros. Un error clásico es usar `encodeURI` sobre un valor con `&` o `=`: se cuela y rompe el parseo del servidor.

Errores frecuentes de doble codificación

Cuando una URL pasa por varios sistemas (proxy, gateway, cliente) es fácil que se codifique dos veces: `%20` se convierte en `%2520`. La herramienta te permite decodificar por pasos hasta ver el valor original. Otro error: codificar la parte del path completa incluyendo las barras, lo que rompe el enrutado.

Casos de uso comunes

  • Depurar redirects OAuth 2.0 y SAML.
  • Escapar valores de query en scripts de bash con curl.
  • Leer URLs largas de tracking (UTM, redirects).

Referencias oficiales