Saltar al contenido
ToolMug

Codificador y decodificador de URL

Codifica texto para usarlo en una URL (URL encode), decodifica cadenas con escapes % para volver a leerlas y ve cualquier URL separada en sus partes y parámetros de consulta. Puedes codificar un solo parámetro, una URL entera o datos de un formulario HTML.

Funciona en tu navegador: nada de lo que introduces se sube

Cómo se usa

  1. Elige «Codificar» o «Decodificar».
  2. Elige el modo — «Componente» para el valor de un solo parámetro, «URL completa» para mantener la estructura de la URL, o «Formulario (+ para espacios)» para datos de formularios HTML, donde los espacios se convierten en +.
  3. Pega tu texto. El resultado se actualiza mientras escribes.
  4. Si la entrada es una URL, debajo se muestran su protocolo, host, ruta y parámetros de consulta.

Opciones explicadas

Componente
Codifica todo salvo letras, dígitos y - _ . ~; úsalo para el valor de un parámetro de consulta o un segmento de ruta. Equivale a encodeURIComponent, más ! ' ( ) *, que RFC 3986 reserva.
URL completa
Deja intactos los caracteres que dan estructura a la URL (: / ? # & =) y codifica los espacios y los caracteres no ASCII. Equivale a encodeURI de JavaScript.
Formulario
application/x-www-form-urlencoded, el formato de los formularios HTML. Los espacios se convierten en + en lugar de %20; al decodificar, el + vuelve a ser un espacio.

Ejemplos

Entrada Componente URL completa Formulario
a b&c a%20b%26c a%20b&c a+b%26c
café caf%C3%A9 caf%C3%A9 caf%C3%A9
https://x.com/?q=1 2 https%3A%2F%2Fx.com%2F%3Fq%3D1%202 https://x.com/?q=1%202 https%3A%2F%2Fx.com%2F%3Fq%3D1+2

Construir una URL con parámetros

Cuando metas datos del usuario en una cadena de consulta, codifica cada valor por separado:

const url = `https://example.com/search?q=${encodeURIComponent(query)}&page=2`;

Si codificaras la URL entera al final, los & y = dentro del valor quedarían sin codificar y romperían los parámetros.

Preguntas frecuentes

¿Qué diferencia hay entre %20 y +?

Los dos pueden representar un espacio, pero en sitios distintos. %20 funciona en cualquier parte de una URL; + solo significa espacio en la cadena de consulta de los envíos de formularios. En una ruta, + es un signo más literal.

¿Por qué mi texto sale codificado dos veces (%2520)?

Se codificó dos veces, ya que el % de %20 se volvió a codificar como %25. Decodifícalo dos veces y, en tu código, asegúrate de que el valor se codifique en una sola capa.

¿Cuándo uso encodeURI y cuándo encodeURIComponent?

Usa encodeURIComponent (modo «Componente») para cada valor de parámetro que insertes en una URL. Usa encodeURI («URL completa») solo para una URL entera que pueda contener espacios o caracteres no ASCII.

¿Qué significa «codificación porcentual incorrecta»?

Hay un % que no va seguido de dos dígitos hexadecimales, o los bytes no forman UTF-8 válido. El error indica la posición de la primera secuencia incorrecta.

¿Cómo se codifican en una URL la ñ, las tildes o los caracteres chinos?

Cada carácter se convierte a bytes UTF-8 y cada byte se escribe como %XX, así que ñ pasa a ser %C3%B1 y 中 pasa a ser %E4%B8%AD.

Privacidad

Esta herramienta funciona por completo en tu navegador. Tus archivos y textos se procesan en tu dispositivo y nunca se suben a nuestros servidores.

Herramientas relacionadas