URL Encoding explicado: Codificación porcentual, UTF-8 y caracteres especiales

5 min de lectura

La codificación URL (codificación porcentual) convierte caracteres especiales en un formato que puede transmitirse por internet. Los espacios se convierten en %20, los ampersands en %26 y los caracteres no ASCII se codifican como secuencias de bytes UTF-8.

Por qué las URLs necesitan codificación

Las URLs solo pueden contener un conjunto limitado de caracteres (RFC 3986): letras, dígitos y algunos caracteres especiales (-._~). Todo lo demás debe codificarse con porcentaje.

Codificaciones comunes

CarácterCodificado
Espacio%20 (o + en query strings)
&%26
=%3D
?%3F
#%23
/%2F
@%40

Unicode en URLs

Los caracteres no ASCII (como café) primero se codifican como UTF-8, luego cada byte se codifica con porcentaje: caf%C3%A9.

En JavaScript

encodeURIComponent("hello world & café")
// "hello%20world%20%26%20caf%C3%A9"

decodeURIComponent("hello%20world")
// "hello world"

Genera URLs limpias

Evita problemas de codificación usando slugs limpios. Nuestro generador de slugs de URL crea slugs seguros automáticamente.