Codificar URL: por qué y cómo codificar caracteres en una URL

Qué es el URL encoding (percent-encoding), cuándo usarlo en query strings y en rutas. Caracteres reservados, espacios y buenas prácticas.

4 de febrero de 20262 min de lecturaURL Encode/Decode
Desarrollo

Codificar una URL (URL encoding o percent-encoding) consiste en reemplazar caracteres que no son seguros o que tienen significado especial por una secuencia % seguida de dos dígitos hexadecimales. Así se pueden enviar espacios, símbolos y caracteres no ASCII en query strings y en rutas sin romper la estructura de la URL.

¿Por qué codificar?

En una URL, caracteres como &, =, ?, #, / y el espacio tienen significado especial. Si un valor de parámetro contiene, por ejemplo, a&b, el servidor podría interpretar a y b como parámetros distintos. Codificando, a&b se convierte en a%26b y se trata como un único valor. Lo mismo aplica a espacios (que se codifican como %20 o + en query strings), acentos y caracteres Unicode: deben ir codificados para que la URL sea válida y no se malinterprete.

Dónde se usa

  • Query strings: ?nombre=Juan%20García&busqueda=c%23 — los valores con espacios, &, = o caracteres especiales deben ir codificados.
  • Rutas (path): si un segmento contiene espacios o caracteres reservados, también se codifican (por ejemplo /buscar/hello%20world).
  • Formularios: cuando el method es GET, los campos se envían en la URL y el navegador suele codificarlos automáticamente; con POST en application/x-www-form-urlencoded se usa la misma codificación.
  • Enlaces y APIs: al construir URLs en código (por ejemplo para un link o una petición), hay que usar la función de codificación del lenguaje (encodeURIComponent en JavaScript para valores de parámetros, no para la URL completa).

Cómo codificar y decodificar

Un codificador/decodificador de URL online te permite pegar una URL o un texto y obtener la versión codificada o decodificada. Úsalo para depurar parámetros, generar enlaces correctos o entender qué significa una URL con muchos %XX. En programación, no concatenes strings a mano: usa encodeURIComponent() para valores de query en JavaScript, y en otros lenguajes las utilidades estándar de URL (por ejemplo encodeURIComponent o equivalentes) para evitar errores y vulnerabilidades.

Preguntas frecuentes

¿Qué es codificar una URL?
Convertir caracteres que no están permitidos o tienen significado especial en una URL (espacios, &, =, ?, etc.) en secuencias %XX, donde XX es el código hexadecimal del carácter. Así la URL sigue siendo válida y no se interpreta mal.
¿Cuándo debo codificar parámetros?
Siempre que un valor de query string contenga espacios, &, =, ?, #, / o caracteres no ASCII. Si no codificas, el navegador o el servidor pueden interpretar mal los parámetros o cortar el valor.
¿Espacio como %20 o +?
En query strings (application/x-www-form-urlencoded) el espacio se suele enviar como +. En el path y en otros contextos se usa %20. Al decodificar, tanto + como %20 se traducen a espacio. Un codificador URL suele ofrecer la opción según el contexto.
¿Codificar toda la URL o solo los parámetros?
Solo las partes que lo necesiten: típicamente los valores de los query parameters y a veces segmentos del path si contienen caracteres especiales. El esquema (https://), host y delimitadores (?, &, =) no se codifican como si fueran texto libre.

¿Te gustó este artículo?

Compártelo con tu red

Artículo anterior

Cómo funcionan los JSON Web Tokens (JWT) con ejemplos

Siguiente artículo

Base64: qué es, para qué sirve y cómo codificar o decodificar

¿Listo para usar nuestras herramientas?

Prueba nuestras herramientas gratuitas sin registro. Formateador JSON, JWT Decoder, generador de contraseñas y más.

Ver todas las herramientas