Saltar al contenido principal
Tooletto

Codificador y decodificador de URL

Codifica texto para uso seguro en URL, o decodifica URL codificadas con porcentaje de vuelta a texto legible. Maneja Unicode correctamente y ofrece modos de componente y URL completa.

  • Los archivos nunca salen de tu dispositivo
  • Gratis, sin registro
  • Sin marcas de agua
  • Funciona sin conexión una vez cargado
Loading tool…

Cómo codificador y decodificador de url

  1. 1

    Elige una dirección

    Codifica texto para una URL, o decodifica una URL codificada de vuelta a texto.

  2. 2

    Elige el modo

    El modo de componente escapa todo; el modo de URL completa conserva la estructura.

  3. 3

    Copia el resultado

    Los resultados se actualizan mientras escribes.

Por qué una URL no puede simplemente contener caracteres arbitrarios

La estructura de una URL depende de que caracteres específicos — `/` para separar segmentos de ruta, `?` para introducir la cadena de consulta, `&` para separar parámetros, `#` para un fragmento — lleven un significado estructural fijo dondequiera que aparezcan. Si un valor que se coloca dentro de una URL, como un término de búsqueda o el nombre de un usuario, resulta contener literalmente uno de esos mismos caracteres, tiene que haber alguna forma de distinguir "este ampersand es parte del valor real" de "este ampersand separa dos parámetros de consulta". La codificación porcentual es ese mecanismo: cualquier carácter con significado estructural, cuando necesita aparecer como dato literal en lugar de como estructura, se reemplaza por un `%` seguido de su valor de byte hexadecimal, así que `&` se convierte en `%26` y se lee sin ambigüedad como dato en lugar de como separador de parámetros.

El error que rompe más URL que cualquier otro

El error de codificación de URL más común, con diferencia, es codificar una URL completa ensamblada con la función equivocada — usar `encodeURIComponent`, que escapa cada carácter reservado incluyendo `/`, `:`, `&` y `?`, sobre una dirección completa en lugar de sobre un solo valor individual. El `://` después del protocolo se convierte en `%3A%2F%2F`, cada `&` que separa parámetros de consulta se convierte en `%26`, y la URL deja de ser una URL en absoluto — se convierte en una larga cadena codificada sin ninguna estructura que un servidor pueda analizar. El enfoque correcto es el orden inverso: codifica primero cada valor individual — el término de búsqueda, el destino de redirección, lo que sea el dato real — y solo entonces inserta esos valores ya codificados en la estructura de URL circundante, sin volver a codificar nunca el conjunto ensamblado después.

Esto es precisamente por lo que esta herramienta ofrece dos modos distintos en lugar de un botón genérico de "codificar": el modo de componente para codificar un solo valor que está a punto de convertirse en parte de una URL, y el modo de URL completa para el caso más raro de codificar toda una dirección mientras se preservan deliberadamente sus caracteres estructurales.

Por qué un espacio a veces se convierte en %20 y a veces en un signo de más

Dos convenciones de codificación distintas para espacios siguen en uso activo hoy en día, y no son intercambiables. La codificación porcentual, el estándar de propósito general, representa un espacio como `%20` y es válida en cualquier lugar de una URL — la ruta, la cadena de consulta, en todas partes. La convención `+` para un espacio viene de un estándar más antiguo y limitado específicamente para envíos de formularios HTML usando el tipo de contenido `application/x-www-form-urlencoded`, y solo es válida dentro de la cadena de consulta; un `+` literal que aparece en una ruta de URL no se interpreta como un espacio en absoluto, es simplemente el carácter más. Esta herramienta siempre produce `%20`, que es válido en cualquier contexto, y decodifica correctamente ambas formas al leer una URL codificada de vuelta.

Dónde esto importa más allá de los navegadores

Las reglas de codificación porcentual aplican a cualquier URL sin importar qué la construya o consuma — un payload de webhook construido por un servicio de backend, un enlace profundo abierto por una app móvil, una solicitud de API ensamblada por un script. Dondequiera que un valor que pueda contener espacios, ampersands, o caracteres no ASCII se interpole en una cadena de URL, aplica la misma regla de codificar-el-valor-antes-de-insertarlo, por lo que esto es tanto una preocupación de backend y scripting como de navegador.

Preguntas frecuentes

¿Cuál es la diferencia entre el modo de componente y el de URL completa?

El modo de componente (`encodeURIComponent`) escapa todo incluyendo / ? & = #, que es lo que quieres para el valor de un solo parámetro de consulta. El modo de URL completa (`encodeURI`) deja intactos esos caracteres estructurales para que toda una dirección se mantenga utilizable. Usar el equivocado es el error de codificación de URL más común.

¿Por qué se rompió mi URL cuando codifiqué todo?

Casi con toda seguridad usaste el modo de componente en una URL completa, que escapó el `://` y los separadores `&`. Codifica cada *valor* de parámetro individualmente, luego ensambla la URL — no codifiques el resultado ya ensamblado.

¿Por qué un espacio a veces se convierte en %20 y a veces en +?

La codificación porcentual usa %20. La forma `+` viene de la codificación de formulario HTML más antigua (`application/x-www-form-urlencoded`) y solo es válida en una cadena de consulta, nunca en una ruta. Esta herramienta produce %20, y decodifica ambas.

¿Cómo se manejan los emojis y caracteres de otros idiomas?

Se codifican como bytes UTF-8, así que é se convierte en %C3%A9 y un emoji se convierte en cuatro escapes porcentuales. Ese es el comportamiento correcto y se convierte de ida y vuelta exactamente.

Tareas habituales de codificador y decodificador de url