Codificación de URL Explicada: Qué Es y Cuándo Usarla

La codificación de URL convierte caracteres especiales en un formato seguro para usar en direcciones web. Aprende por qué existe, cómo funciona y cuándo usarla.

Las URLs solo pueden contener un conjunto limitado de caracteres ASCII. Los caracteres especiales como espacios, letras acentuadas, ampersands y signos de interrogación tienen significados especiales en las URLs o simplemente no están permitidos. La codificación de URL soluciona esto reemplazando caracteres no seguros con un % seguido de su código hexadecimal.

Por qué existe la codificación de URL

Una URL tiene una estructura precisa: esquema, host, ruta, cadena de consulta y fragmento. Cada parte usa ciertos caracteres como delimitadores — la barra (/) separa segmentos de ruta, el signo de interrogación (?) inicia la cadena de consulta. Si tus datos contienen estos caracteres, deben codificarse.

Cómo funciona la codificación porcentual

Cada carácter se representa como un signo de porcentaje seguido de dos dígitos hexadecimales. Un espacio se convierte en %20 (o + en cadenas de consulta), la arroba en %40, el hash # en %23. Los navegadores modernos decodifican estos automáticamente al mostrar URLs.

Casos de uso comunes

La codificación es necesaria al construir parámetros de cadena de consulta desde entrada de usuario, al construir URLs de redireccionamiento que contienen otras URLs, al trabajar con caracteres internacionales en URLs (árabe, chino, letras europeas acentuadas) y al construir URLs de solicitudes de API en código.

encodeURI vs encodeURIComponent

JavaScript tiene dos funciones de codificación. encodeURI() codifica una URL completa pero preserva los caracteres estructurales como /, ?, & y #. encodeURIComponent() codifica un valor individual destinado a ser un parámetro — codifica todo incluidos /, ?, & y #.

Nuestra herramienta de codificación y decodificación URL maneja ambas operaciones en tu navegador instantáneamente. Pega una URL codificada para decodificarla a formato legible, o pega texto sin procesar para codificarlo.

→ Codificador de URL