Todas las herramientas

Codificador/Decodificador URL

Codifica y decodifica componentes URI y URLs completas

Cómo funciona

Codificador/Decodificador URLCodifica y decodifica componentes URI y URLs completas. Todo el procesamiento ocurre en tu navegador — sin subida, sin registro, sin email. Gratis para siempre.

Última actualización:

Acerca de Codificador/Decodificador URL

Las URLs solo pueden transportar de forma segura un subconjunto reducido de caracteres ASCII. En cuanto necesitas meter un espacio, una barra, un emoji, una "ñ" o un valor de query con un "&" dentro de un enlace, toca aplicar percent-encoding. Este codificador y decodificador URL utiliza exactamente los mismos algoritmos que el navegador usa por dentro: encodeURI para URLs completas y encodeURIComponent para valores individuales del query string. El resultado coincide byte a byte con lo que produciría tu propio código.

Te será útil cuando armes un redirect de OAuth, depures un webhook que llegó con doble codificación, generes enlaces de tracking con parámetros UTM que contienen espacios, o pegues una ruta no ASCII en Slack y recibas a cambio un muro de "%C3%BC". Cambiar de modo te permite ver cómo los caracteres reservados como "/", "?" y "&" reciben un trato distinto en el contexto de URL completa frente al de componente — que es justo donde se esconde la mayoría de los bugs de codificación.

Todo ocurre dentro de tu navegador. Nada de la URL — incluyendo tokens, identificadores de sesión o PII en el query string — se envía a un servidor, se registra ni se almacena. Eso importa cuando estás depurando un enlace de producción que contiene un parámetro firmado de un solo uso que no quieres filtrar a terceros.

Cómo usar Codificador/Decodificador URL

  1. Pega tu URL o texto en bruto en el cuadro de entrada.
  2. Elige el modo: encodeURIComponent para valores de parámetros del query, o encodeURI (URL completa) para enlaces enteros.
  3. Pulsa Codificar para convertir caracteres en escapes percent, o Decodificar para revertir una cadena previamente codificada.
  4. Copia el resultado con un clic y pégalo en tu código, navegador o petición de Postman.
  5. Si al decodificar aparece "Secuencia codificada inválida", revisa el input por signos "%" sueltos sin sus dos dígitos hexadecimales.

Casos de uso comunes

  • Construir URLs de redirect OAuth/SAML donde los parámetros state y code deben llegar intactos.
  • Codificar nombres de archivo no ASCII antes de meterlos en cabeceras Content-Disposition o claves de S3.
  • Limpiar URLs con doble codificación ("%2520" en lugar de "%20") que salieron de un proxy mal configurado.
  • Producir valores de query seguros para enlaces de tracking que contienen espacios, ampersands o comillas.
  • Depurar payloads de webhook donde un servicio codificó un valor y otro lo decodificó dos veces.

Consejos y errores comunes

  • Usa encodeURIComponent para cualquier valor individual que pongas tras un "=" en un query string. Reserva encodeURI para la URL completa: deja "&", "=", "?" y "/" intactos a propósito.
  • Los espacios dentro de un query string deben convertirse en "%20", no en "+". La forma con "+" solo aplica a cuerpos application/x-www-form-urlencoded, no a rutas de URL.
  • Si una cadena pasa por encode → decode y vuelve con escapes extra, tu input ya estaba codificado: decodifícalo primero y luego vuelve a codificar.
  • Los fragmentos hash ("#seccion") los conserva encodeURI, pero encodeURIComponent los trata como texto literal. Elige el modo que case con tu contexto.

Preguntas frecuentes

¿Diferencia entre encodeURI y encodeURIComponent?

encodeURI conserva caracteres estructurales de URL como /, ?, & — para URLs completas. encodeURIComponent también los percent-encode — para valores de query params.

¿Por qué obtengo 'Secuencia codificada inválida' al decodificar?

La entrada contiene un escape % malformado (p. ej. '%G1'). Verifica que cada % vaya seguido de dos dígitos hex válidos, o usa primero 'Encode' sobre texto plano.

¿Mis datos se envían a algún sitio?

No. La codificación/decodificación se ejecuta localmente en tu navegador — nada se sube ni registra.

¿Esta herramienta maneja caracteres no ASCII como tildes o emojis?

Sí. La entrada se interpreta como UTF-8 antes del percent-encoding, así que "ñ" se vuelve "%C3%B1" y un emoji se convierte en una secuencia de cuatro bytes — exactamente lo que dictan el RFC 3986 y lo que produce fetch() en el navegador.

¿Puedo codificar una URL completa con query string de una sola vez?

Usa el modo "encodeURI (URL completa)" y los caracteres estructurales /, ?, #, & y = se mantienen intactos mientras todo lo demás se escapa. Si necesitas codificar el valor de un parámetro individual (por ejemplo, una URL de redirect anidada dentro de otra), cambia a encodeURIComponent solo para esa pieza.

¿Por qué "+" se vuelve "%2B" a veces y otras se queda como "+"?

En una ruta o valor de query manejados por encodeURIComponent, el "+" es reservado y se vuelve "%2B". En modo encodeURI se considera seguro y se deja como está. El bug clásico es mezclar ambos y acabar con un email tipo "nombre+etiqueta@example.com" interpretado como un espacio.

Herramientas relacionadas