Codificador/decodificador de URL

URL encode/decode y codificación de componentes

URL encode/decode y codificación de componentes
?
Entrada
Salida

Guía de la herramienta

Acerca de Codificador/decodificador de URL

Un codificador y decodificador URL convierte caracteres inseguros o reservados en texto con percent encoding y decodifica cadenas codificadas a texto legible.

Úsalo para query parameters, rutas no inglesas, callback URLs y fragmentos copiados de logs. Todo se ejecuta localmente en el navegador.

Cómo usar URL Encoder/Decoder

  1. Pega una URL completa, un valor de query parameter o el texto que necesitas codificar.
  2. Pulsa Encode para convertir espacios, texto no inglés y símbolos en percent encoding seguro.
  3. Pulsa Decode para convertir cadenas como %E4%B8%AD%E6%96%87 en texto legible.
  4. Si solo un parámetro necesita codificación, codifica el value y no todo el query string para que & y = conserven su estructura.

Cuándo usarlo

  • Codificar términos de búsqueda, callback URLs o redirect parameters antes de ponerlos en una URL para que &, ? y # no rompan el parámetro.
  • Decodificar paths o query strings percent-encoded de logs de API.
  • Depurar double encoding en OAuth redirect_uri, webhook callbacks o enlaces compartidos.
  • Comparar la salida de encodeURIComponent del interfaz web con lo que recibe el servidor.

Percent encoding, parámetros URL y trampas comunes

Algunos caracteres de URL tienen significado estructural, como ?, &, =, # y /. Percent encoding escribe bytes como %HH para que viajen como datos y no como estructura de URL.

  • Espacios: normalmente se codifican como %20; en form encoding también puede aparecer +.
  • Texto no inglés y emoji: se codifican primero como bytes UTF-8 y luego como secuencias percent.
  • encodeURI vs encodeURIComponent: encodeURI conserva caracteres de estructura; encodeURIComponent es mejor para un valor de parámetro.
  • Double encoding: %25E4 suele indicar que un signo percent existente se codificó otra vez.

Preguntas frecuentes sobre Codificador/decodificador URL

¿Codifico una URL completa o un parámetro?
Normalmente codifica un valor de parámetro. Codificar una URL completa también escapa : / ? & y puede hacer que el enlace se interprete mal.
¿Por qué un espacio es %20 o +?
%20 es percent encoding general. El signo + es común en application/x-www-form-urlencoded.
¿Por qué quedan signos percent después de decodificar?
Puede ser texto con double encoding o un valor original con percent literal. Decodifica otra vez solo si sabes que está doblemente codificado.
¿URL-safe Base64 necesita URL encoding?
Suele necesitar menos escape porque evita + y /. Aun así revisa padding = u otros caracteres especiales antes de ponerlo en query string.
¿Mi entrada se sube?
No. La codificación y decodificación se ejecutan localmente en el navegador y no se suben a wetool.site.

Codificación URL vs Base64

URL encoding hace seguros los caracteres dentro de URLs. Base64 representa bytes como texto. Tokens, imágenes y payloads binarios pueden usar ambos, pero resuelven problemas distintos.

encodeURI vs encodeURIComponent

Muchos errores de URL encoding vienen de tratar una URL completa y un valor de parámetro como si fueran lo mismo.

  • URL completa: la semántica encodeURI conserva : / ? & = # como estructura, útil para un enlace ya armado.
  • Valor de parámetro: encodeURIComponent codifica &, =, ? y #, útil para search, redirect_uri, callback y valores similares.
  • Reglas de formulario: application/x-www-form-urlencoded suele escribir espacios como +; el percent encoding general usa normalmente %20.

Checklist para depurar URL encoding

Si el servidor recibe mal un parámetro URL, revisa cuántas veces codifican o decodifican el navegador, interfaz web, gateway y framework del servidor.

  • %25 suele indicar que un signo % existente se codificó otra vez, señal de posible double encoding.
  • Si redirect_uri contiene su propio query string, los ?, & y = internos deben codificarse como datos.
  • No insertes input decodificado del usuario directamente en HTML o redirects; mantiene allowlists de protocolo y escaping de salida.