Skip to content

¿Qué es la codificación de URL (y por qué los espacios se convierten en %20)?

6 min de lectura 13 de junio de 2026
codificación de urlcodificación porcentualwebdev

La codificación de URL reemplaza los caracteres inseguros o reservados de una dirección web por un signo de porcentaje y su valor hexadecimal, por eso un espacio se convierte en %20. Es totalmente reversible y no es cifrado.

¿Qué es la codificación de URL (y por qué los espacios se convierten en %20)? — Hivly

Ves una dirección web con %20 repartidos por todas partes, o un enlace de búsqueda donde cada espacio se convirtió en un signo de porcentaje y dos dígitos, y parece que la URL se rompió. No es así. Eso es la codificación de URL haciendo su trabajo, y en cuanto conoces la regla que hay detrás, esa dirección de aspecto críptico se lee tan claramente como las palabras que escribiste. Esto importa porque un solo carácter sin codificar puede mandar un enlace al lugar equivocado sin que te des cuenta.

Resumen: la codificación de URL, también llamada codificación porcentual, reemplaza los caracteres inseguros o con un significado especial en una dirección web por un signo de porcentaje y el valor hexadecimal de su byte. Por eso un espacio se vuelve %20 y un ampersand dentro de un valor se vuelve %26. Es totalmente reversible y no es cifrado, así que cualquiera puede decodificarla.

Por qué las URL solo admiten un conjunto limitado de caracteres

Una URL se diseñó para que fuera segura de imprimir, escribir y pasar entre sistemas muy distintos, así que solo puede usar de forma fiable un pequeño conjunto de caracteres. El conjunto seguro son las letras de la A a la Z y de la a a la z, los dígitos del 0 al 9 y unos pocos signos como el guion, el punto, el guion bajo y la virgulilla. Todo lo demás corre el riesgo de interpretarse mal por el camino.

El problema es que el texto que quieres meter en una URL rara vez se queda dentro de ese conjunto. Los términos de búsqueda tienen espacios. Los nombres llevan acentos. Los valores cargan con signos de puntuación. Un espacio, en concreto, no tiene cabida ninguna en una URL, y si se cuela tal cual, unos sistemas lo recortan, otros rompen el enlace y otros parten la dirección en dos. En vez de confiar en que todos los sistemas traten los caracteres raros de la misma manera, la codificación de URL convierte los problemáticos en una forma que todos los sistemas ya entienden.

Cómo la codificación porcentual convierte un espacio en %20

La codificación porcentual sigue una sola regla. Toma el carácter inseguro, busca el valor hexadecimal de su byte y escribe un signo de porcentaje seguido de esos dos dígitos hexadecimales. El signo de porcentaje es la señal que dice “viene un carácter codificado”, y los dos dígitos son el valor. Un espacio es el byte 32, que en hexadecimal es 20, así que un espacio se convierte en %20. Un ampersand es %26. Una almohadilla es %23.

Como la regla es mecánica y fija, funciona en ambas direcciones. La codificación recorre el texto y cambia cada carácter inseguro por su código porcentual. La decodificación detecta cada signo de porcentaje, lee los dos dígitos siguientes y vuelve a poner el carácter original. No hay nada que adivinar ni clave alguna, por eso un codificador y decodificador de URL en dev.hivly.net puede convertir una cadena en cualquiera de los dos sentidos en un solo paso y devolverte una copia exacta del original.

Caracteres reservados frente a caracteres que solo hay que escapar

Aquí está la parte que confunde a la gente: algunos caracteres no están prohibidos, están reservados, lo que significa que tienen un significado estructural en una URL. El signo de interrogación inicia la cadena de consulta. El ampersand separa un parámetro del siguiente. El signo igual une un nombre con su valor. La barra divide la ruta, y la almohadilla marca un fragmento. Estos caracteres están permitidos precisamente porque la URL los necesita para delimitar sus propias partes.

Así que un carácter puede estar en una URL por dos razones distintas, y eso cambia si lo codificas o no. Cuando una barra separa carpetas en la ruta, sigue siendo una barra. Cuando un ampersand separa dos parámetros de consulta, sigue siendo un ampersand. Solo codificas estos caracteres reservados cuando aparecen dentro de un valor y quieres que se traten como texto corriente en lugar de como estructura. Todo lo que queda fuera del conjunto seguro, como los espacios y los acentos, siempre se codifica, esté donde esté.

Por qué codificas los valores pero no los delimitadores

Piensa en una URL como un formulario con casillas etiquetadas, y en los caracteres reservados como las etiquetas. La estructura de una cadena de consulta es ?name=value&name=value, donde el signo de interrogación, los signos igual y los ampersands sostienen la forma. Esos delimitadores tienen que quedarse en crudo, porque son lo que le dice al sistema receptor dónde termina una pieza y empieza la siguiente. Si los codificas, borras la estructura.

Los datos que metes en cada casilla son otra historia. Supón que un valor de búsqueda es tom & jerry. Si lo pegas en crudo, el ampersand se lee como un separador y el sistema cree que enviaste dos parámetros, partiendo tu valor por la mitad. Codifica ese ampersand interno como %26 y se queda como parte del valor, un ampersand literal en lugar de un divisor. Lo mismo pasa con un signo igual o una barra que pertenecen al interior del valor. La regla en la práctica: deja en paz los delimitadores que construyen la URL, y codifica el contenido que viertes dentro de ellos.

La peculiaridad del signo más en la codificación de formularios

Hay dos tradiciones ligeramente distintas para manejar un espacio, y la diferencia entre ellas causa confusión de verdad. La codificación porcentual estándar siempre usa %20 para un espacio, en cualquier parte de la URL. Pero una convención más antigua, usada cuando los navegadores envían formularios HTML, codifica un espacio en la cadena de consulta como un signo más. Así que verás tanto a%20b como a+b queriendo decir lo mismo, según cómo se haya construido la URL.

Esto importa cuando un signo más es un dato real. En el estilo de codificación de formularios, un signo más de verdad que quieras conservar debe escribirse como %2B, porque un signo más a secas se leería como un espacio y se perdería. La mayoría de las herramientas y bibliotecas modernas manejan los dos estilos correctamente por su cuenta, así que rara vez tienes que elegir a mano. Lo que hay que recordar es sencillo: un signo más en una cadena de consulta podría ser un espacio disfrazado, y un signo más literal tiene que codificarse para sobrevivir.

La codificación de URL es reversible, no es cifrado

La codificación de URL parece técnica, así que a veces la gente supone que los códigos porcentuales ocultan algo. No es así. La correspondencia es un estándar publicado, idéntico para todos, sin ninguna clave ni secreto. Cualquiera que lea %26 sabe que es un ampersand, y cualquier decodificador convierte toda la cadena de vuelta a texto plano en una sola pasada.

Eso hace que la codificación de URL sea un formato de transporte, de la misma familia que Base64: una manera de llevar texto con seguridad por un canal con reglas estrictas, no una manera de mantenerlo privado. Si una URL lleva algo sensible, codificarlo no cambia nada sobre quién puede leerlo, porque decodificar es gratis e instantáneo. Trata los códigos porcentuales como otra forma de escribir las mismas palabras, legible por cualquiera, y los usarás bien. Hacen que tu enlace sobreviva al viaje; nunca fueron un candado sobre el contenido.

Try the developer & network toolsFormat, validate, encode and generate — JSON, Base64, JWT, regex, UUID, hashes — plus subnet/IPv6 calculators, live DNS, MX and reverse lookups, and SPF/DKIM/DMARC records.

Preguntas frecuentes

¿Por qué un espacio se convierte en %20 dentro de una URL?
Un espacio no está permitido en una URL, así que se reemplaza por un signo de porcentaje y el valor hexadecimal de su byte, que es 20. El signo de porcentaje indica que hay un carácter escapado, y 20 es el código hexadecimal del espacio. Decodificar invierte el cambio y restaura el espacio original.
¿La codificación de URL es una forma de cifrado?
No. La codificación de URL usa una regla fija y pública que cambia los caracteres inseguros por un signo de porcentaje y un valor hexadecimal. No hay clave ni secreto, así que cualquiera puede decodificarla al instante. Existe para que el texto viaje con seguridad por una URL, no para ocultar el contenido a quien lo lea.
¿Cuál es la diferencia entre %20 y un signo más?
Ambos pueden significar un espacio, pero vienen de reglas distintas. La codificación porcentual usa %20 para un espacio en cualquier parte de una URL. El estilo más antiguo de codificación de formularios usa un signo más para los espacios en las cadenas de consulta. Un signo más literal que quieras conservar como tal debe codificarse como %2B para que no se lea como un espacio.
¿Qué caracteres necesitan codificarse en una URL?
Cualquier carácter fuera del conjunto seguro, que son las letras, los dígitos y algunos signos como el guion, el punto, el guion bajo y la virgulilla. Los espacios, la mayoría de los signos de puntuación y las letras no inglesas se codifican. Los caracteres reservados como el signo de interrogación, el ampersand, el signo igual, la barra y la almohadilla solo se codifican cuando aparecen dentro de un valor en lugar de como estructura.

Sigue leyendo

¿Algo más ambicioso?

Hivly está hecho por CodingEagles, un estudio de software que publica aplicaciones web de producción. Si tienes un proyecto real, escríbenos.

Mira lo que hace CodingEagles →