Ir al contenido
UtiliaTools

Codificación de URLs explicada: Todo lo que necesitas saber

Aprende cómo funciona la codificación de URLs, por qué importa en desarrollo web, y codifica/decodifica URLs al instante con nuestra herramienta.

Codificación de URLs explicada: Todo lo que necesitas saber

Cada vez que buscas en Google, compartes un enlace con parámetros de consulta o construyes una API REST, la codificación de URLs trabaja entre bastidores. Sin embargo, muchos desarrolladores la tratan como un misterio — o peor, la ignoran hasta que algo se rompe.

Esta guía explica la codificación de URLs (también llamada percent-encoding) desde cero: qué es, por qué existe, cómo funciona y cómo manejarla correctamente en tus proyectos.

¿Qué es la codificación de URLs?

La codificación de URLs es un mecanismo que reemplaza ciertos caracteres con un signo % seguido de dos dígitos hexadecimales. Garantiza que las URLs contengan solo caracteres del conjunto ASCII seguro, haciéndolas válidas y transmisibles por Internet.

Por ejemplo, un espacio se convierte en %20, y una ampersand se convierte en %26.

La especificación formal está definida en la RFC 3986, que establece qué caracteres están permitidos en las URLs y cuáles deben codificarse.

¿Por qué es necesaria la codificación de URLs?

Las URLs solo pueden contener un conjunto limitado de caracteres:

  • Letras: A–Z, a–z
  • Dígitos: 0–9
  • Caracteres no reservados: -, _, ., ~

Todo lo demás — espacios, caracteres acentuados, símbolos como &, =, ?, # — debe codificarse si aparece en una URL. Sin codificación, el servidor no puede distinguir de forma fiable entre los datos reales y los caracteres estructurales de la URL.

Considera esta URL:

https://example.com/search?q=hola mundo&lang=es

El espacio en «hola mundo» crea ambigüedad. ¿Es parte de la consulta, o señala algo más? La codificación de URLs elimina esa ambigüedad:

https://example.com/search?q=hola%20mundo&lang=es

¿Cómo funciona la codificación de URLs?

El proceso de codificación es sencillo:

  1. Tomar un carácter que no está en el conjunto seguro.
  2. Convertirlo a su valor en bytes (en UTF-8 para caracteres no-ASCII).
  3. Representar cada byte como % seguido de dos dígitos hexadecimales.

Ejemplos

Carácter Bytes UTF-8 Codificado
Espacio 0x20 %20
& 0x26 %26
á 0xC3 0xA1 %C3%A1
ñ 0xC3 0xB1 %C3%B1
中 0xE4 0xB8 0xAD %E4%B8%AD

Observa que los caracteres no-ASCII como á producen múltiples bytes codificados porque UTF-8 usa secuencias multi-byte para caracteres fuera del rango ASCII básico.

Codificación de URLs vs. codificación de formularios

Hay una distinción importante entre la codificación de URLs (percent-encoding según RFC 3986) y la codificación de formularios (application/x-www-form-urlencoded):

Aspecto Codificación URL Codificación formulario
Espacio → %20 +
Estándar RFC 3986 Especificación HTML
Usado en Path, query string Envío de formularios

En la codificación de formularios, los espacios se convierten en + en lugar de %20. Esta es una fuente común de errores cuando los desarrolladores confunden los dos formatos.

¿Cuándo necesitas codificar URLs?

Necesitas codificación de URLs en varios escenarios comunes:

  • Parámetros de consulta: Los valores con caracteres especiales (&, =, ?, espacios) deben codificarse.
  • Rutas de URL con espacios o Unicode: Nombres de archivo como mi archivo.pdf o café.md necesitan codificación.
  • Construcción dinámica de URLs: Al concatenar entrada de usuario en URLs, siempre codifica la entrada.
  • URLs de redirección: Parámetros como ?redirect=https://otra.com/pagina?a=1&b=2 necesitan que la URL interna esté codificada.

Cómo codificar URLs en código

JavaScript

// encodeURI: codifica una URL completa (preserva ://, ?, &, =)
encodeURI("https://example.com/hola mundo");
// → "https://example.com/hola%20mundo"

// encodeURIComponent: codifica un valor individual (codifica todo lo especial)
encodeURIComponent("hola mundo&mas");
// → "hola%20mundo%26mas"

Python

from urllib.parse import quote, quote_plus

quote("hola mundo")      # → "hola%20mundo"
quote_plus("hola mundo") # → "hola+mundo"

PHP

urlencode("hola mundo");    // → "hola+mundo"
rawurlencode("hola mundo"); // → "hola%20mundo"

Errores comunes en la codificación de URLs

  1. Doble codificación: Codificar una cadena que ya está codificada produce %2520 en lugar de %20. Siempre verifica si tu framework ya codifica los valores.
  2. Usar la función incorrecta: En JavaScript, encodeURI y encodeURIComponent se comportan de forma diferente. Usa encodeURIComponent para valores de parámetros de consulta.
  3. Olvidar decodificar en el servidor: Si codificas en el cliente, el framework del servidor normalmente decodifica automáticamente — pero no siempre. Verifica que tu backend lo maneje.
  4. Codificar la URL completa: Usar encodeURIComponent en una URL completa codificará los caracteres ://, ? y &, rompiendo la estructura de la URL.

Prueba nuestro codificador/decodificador de URLs gratuito

Nuestro Codificador/Decodificador de URLs hace que la codificación de URLs sea instantánea y sin complicaciones. Simplemente pega tu texto o URL, elige codificar o decodificar, y obtén el resultado inmediatamente.

Características:

  • Codificación y decodificación instantáneas con un clic
  • Soporta caracteres Unicode de cualquier idioma
  • Funciona en tu navegador — ningún dato se envía a ningún servidor
  • Muestra ambos formatos — percent-encoding y codificación de formularios

Ya sea que estés depurando una URL rota, construyendo query strings o probando endpoints de API, tener una herramienta de codificación de URLs fiable ahorra tiempo y previene errores frustrantes.

Decodificar URLs

La decodificación es el proceso inverso: reemplazar secuencias %XX con sus caracteres originales. La mayoría de los frameworks web manejan esto automáticamente para las solicitudes entrantes, pero podrías necesitar decodificar manualmente cuando:

  • Analizas URLs de logs o bases de datos
  • Trabajas con solicitudes HTTP sin procesar
  • Procesas URLs enviadas por usuarios

Conclusión

La codificación de URLs es una pieza pequeña pero crítica de la infraestructura web. Entender cuándo y cómo codificar (y decodificar) URLs previene errores, mejora la seguridad y garantiza que tus aplicaciones manejen correctamente los caracteres internacionales.

Guarda nuestro Codificador/Decodificador de URLs en favoritos para tareas rápidas de codificación y decodificación — es gratis, rápido y funciona completamente en tu navegador.

Última actualización el 2026-09-27