¿Qué es la codificación URL? Guía sobre la percent-encoding
La codificación URL (percent-codificación) es el mecanismo que garantiza que las direcciones web viajen de forma segura por internet convirtiendo los caracteres especiales en un formato universalmente transmisible. Todo desarrollador web se encuentra con ella a diario.
Por qué existe la codificación URL
Las URL fueron diseñadas originalmente para contener solo un conjunto limitado de caracteres del repertorio ASCII. Sin embargo, la web moderna necesita transmitir datos que incluyen espacios, caracteres acentuados, emojis y símbolos que no tienen cabida en una URL sin procesar. La codificación URL resuelve este problema reemplazando los caracteres no seguros con un % seguido de dos dígitos hexadecimales.
Cómo funciona la percent-codificación
Cada carácter que necesita codificación se convierte a su valor en bytes (en UTF-8 para la mayoría de los sistemas modernos) y se representa como %XX, donde XX es el valor hexadecimal. Por ejemplo:
- Un espacio se convierte en
%20 - Una ampersand
&se convierte en%26 - El signo euro
€se convierte en%E2%82%AC(tres bytes en UTF-8) - Una barra
/se convierte en%2F
Algunos caracteres son siempre seguros y nunca necesitan codificación: letras (A-Z, a-z), dígitos (0-9) y algunos caracteres especiales como -, _, . y ~.
Caracteres reservados y no reservados
La RFC 3986 define dos categorías:
- Caracteres no reservados: Letras, dígitos,
-,_,.,~— nunca necesitan codificación. - Caracteres reservados:
:,/,?,#,[,],@,!,$,&,',(,),*,+,,,;,=— tienen significado estructural en las URL y deben codificarse cuando se usan como datos en vez de delimitadores.
Cuándo debes codificar URLs
Escenarios comunes que requieren codificación URL:
- Parámetros de consulta: Los valores en pares
?clave=valordeben codificarse para manejar espacios y caracteres especiales. - Segmentos de ruta: Los nombres de archivo o slugs con caracteres no-ASCII necesitan codificación.
- Envío de formularios: Los formularios HTML con
application/x-www-form-urlencodedusan una codificación ligeramente diferente donde los espacios se convierten en+. - Redirecciones: Las redirecciones del servidor con contenido generado por el usuario en la URL.
Errores comunes
- Doble codificación: Codificar una URL ya codificada produce secuencias
%25que corrompen los datos originales. - Codificar la URL completa: Se deben codificar componentes individuales (ruta, valores de consulta), no la URL entera con
://y?. - Confusión con el signo más: En las cadenas de consulta,
+representa un espacio enapplication/x-www-form-urlencoded, pero un+literal en la ruta de la URL.
Preguntas frecuentes
¿Cuál es la diferencia entre codificación URL y codificación HTML?
La codificación URL convierte caracteres para transmisión segura en direcciones web usando notación de porcentaje (%XX). La codificación HTML convierte caracteres para visualización segura en HTML usando entidades como & y <.
¿Debo codificar la URL completa o solo partes?
Codifica componentes individuales — los segmentos de ruta y los valores de parámetros de consulta — no la URL completa. El protocolo, el host y los caracteres estructurales como ? y & deben permanecer sin codificar.
¿Por qué un espacio se convierte en %20 en algunos casos y en + en otros?
En percent-codificación (RFC 3986), un espacio es %20. En codificación de formularios (application/x-www-form-urlencoded), un espacio se representa como +. Ambos son válidos pero se usan en contextos diferentes.
Guías relacionadas
- ¿Qué es la codificación Base64? Cómo funciona y cuándo usarla
- ¿Qué es JSON? Guía completa sobre la notación de objetos de JavaScript
- ¿Qué es un UUID? Entendiendo los identificadores universalmente únicos
- ¿Qué es una función hash? Entendiendo MD5, SHA y el hashing criptográfico
- ¿Qué es XML? Guía completa del lenguaje de marcado extensible
Probar la herramienta
Usa nuestra herramienta gratuita para empezar al instante.
Codificador y Decodificador de URLs →Última actualización el 2026-09-27