fixmint
ES

Codificación porcentual en URL: qué significan realmente %20, + y %2F

Por · · actualizado el 8 de noviembre de 2026 · 5 min de lectura

La codificación porcentual escribe un carácter que una URL no puede transportar de forma segura como un signo de porcentaje seguido de su valor en bytes en hexadecimal. Un espacio se convierte en %20, un ampersand en %26 y una barra en %2F. La codificación protege la estructura de un enlace, porque caracteres como & y = separan las partes de una cadena de consulta.

Codificar y decodificar URLLa URL tiene muchos códigos %20Úsalo gratis

Qué caracteres pueden quedarse como están

El estándar URI (RFC 3986), en el que se basan las URL, deja sin codificar algunos caracteres: las letras de la A a la Z y de la a a la z, los dígitos y los cuatro signos - _ . ~. Estos nunca necesitan codificarse. Otros caracteres tienen una función en una URL. Los dos puntos separan el esquema del resto, la barra separa las partes de la ruta, el signo de interrogación inicia la consulta, la almohadilla inicia el fragmento, y & y = dividen la consulta en nombres y valores. Un carácter con función debe codificarse cuando lo quieres como dato y no como estructura.

Por eso el mismo carácter puede codificarse en un sitio y no en otro. En el valor de una consulta, el ampersand tiene que ser %26, o el enlace se parte en el lugar equivocado. En la ruta de un enlace, es solo un carácter más.

Letras que no son del inglés básico

Las letras fuera del inglés básico se codifican como sus bytes UTF-8, y cada byte se escribe como un código de porcentaje. La é de café son los dos bytes C3 y A9, así que se convierte en %C3%A9, y la palabra completa queda caf%C3%A9.

Un ejemplo sencillo concreta las reglas. El texto a b&c=d/é, codificado como componente, se convierte en a%20b%26c%3Dd%2F%C3%A9. Se codifica cada carácter que no es una letra, dígito o signo seguro: el espacio, el ampersand, el signo igual, la barra y la letra acentuada.

Componente o URL completa

Hay dos tipos de codificación por un motivo. La codificación de componente trata cada carácter reservado como dato. Úsala para un solo valor, como un término de búsqueda o un nombre de archivo dentro de un enlace. Codificar "rock & roll" como término de búsqueda da rock%20%26%20roll, así que el ampersand se queda dentro del valor.

La codificación de URL completa conserva la estructura. Codificar https://example.com/a b da https://example.com/a%20b, dejando intactas las barras y los dos puntos. Úsala para una dirección completa que necesite hacerse válida, no para un valor que va dentro de un enlace.

La herramienta Codificar y decodificar URL tiene por esta razón los ajustes Componente y URL completa. La decodificación de URL completa también conserva los caracteres de estructura escapados, como %26 y %3D, de modo que el enlace sigue funcionando después de decodificarlo.

Signos más y datos de formularios

Los formularios web usan otra convención. Cuando un formulario se envía como datos de formulario, un espacio se escribe como + en lugar de %20. Un signo más literal se escribe entonces como %2B. Así, la frase C++ tips se convierte en C%2B%2B+tips en datos de formulario, y en C%2B%2B%20tips en una codificación de componente normal.

La decodificación tiene la misma diferencia. En una cadena de consulta, + suele significar un espacio. En la ruta de un enlace, + es un signo más. La herramienta lee + como espacio solo cuando está marcada la opción Usar + para los espacios (datos de formulario), así que déjala desmarcada para rutas y para valores en los que el signo más es real.

Leer una cadena de consulta larga

Un enlace suele llevar sus ajustes después del signo de interrogación. Mira este ejemplo:

https://shop.example/search?q=red%20shirt&size=M&tag=summer%2Bsale

Decodificado, dice que la búsqueda es de red shirt, la talla es M y la etiqueta es summer+sale. El %2B sigue siendo un signo más porque estaba codificado. Pega el enlace en la herramienta Codificar y decodificar URL y te mostrará cada nombre y valor decodificados, lo que facilita leer un enlace largo. Si solo quieres la dirección más corta, sin ajustes de seguimiento, limpia el enlace primero.

Doble codificación

El error más común es codificar un valor dos veces. Codificar de nuevo el texto %20 da %2520, porque el propio signo de porcentaje se codifica como %25. La página entonces busca un %20 literal en el valor, y la búsqueda o la página no coinciden. Decodifica el enlace una vez, revisa el resultado y codifica un valor solo cuando lo necesites.

Escapes rotos

Un signo de porcentaje debe ir seguido de dos dígitos hexadecimales, y los dígitos deben formar UTF-8 válido para las letras acentuadas. Un enlace cortado, o un signo de porcentaje suelto escrito en un texto, puede dejar un escape roto como %E0%A4%A. La herramienta decodifica lo que puede, deja los bytes rotos exactamente como están y te indica cuántos no pudo decodificar. No se detiene en el primer error.

Casos límite

  • Espacios en un enlace escrito a mano. La barra de direcciones del navegador codifica los espacios por ti, pero un enlace copiado en un documento puede seguir teniendo espacios sin codificar. Codifícalos antes de enviar el enlace.
  • Nombres de dominio no latinos. Usan un sistema aparte, punycode, y codificar la ruta o la consulta no cambia el nombre del host.
  • Medio emoji. Una copia defectuosa puede dejar una sola mitad de un par sustituto, que no se puede codificar. La herramienta la sustituye por el símbolo de reemplazo y te avisa de que lo ha hecho.
  • Base64 en enlaces. Un valor Base64 en un enlace sigue sus propias reglas, con - y _ en lugar de + y /. Consulta Base64 explicado.

Cómo hacerlo con fixmint

  1. Pega el texto o el enlace en Texto o URL.
  2. Elige Codificar o Decodificar, y después Componente para un solo valor, o URL completa para una dirección entera.
  3. Marca Usar + para los espacios (datos de formulario) en enlaces copiados de un formulario web.
  4. En un enlace, lee Parámetros de consulta, decodificados para ver cada nombre y valor.
  5. Copia el resultado.

Respuestas rápidas

¿Qué significa %20?

Un espacio. Su valor en bytes es 20 en hexadecimal.

¿Por qué hay un + en mi enlace en lugar de %20?

Es probable que el enlace venga de un formulario, donde + representa un espacio. La opción "Usar + para los espacios (datos de formulario)" lo decodifica.

¿Por qué veo %2520 en mi enlace?

El valor se codificó dos veces. El signo de porcentaje de %20 se volvió a codificar como %25. Decodifica una vez para volver a %20, y otra más para obtener el espacio.

Traducido del Original en inglés con ayuda de IA.

Comentarios

    Aún no hay comentarios. Sé el primero.

    Tu valoración (opcional)

    Tu correo nunca se muestra ni se guarda.

    Portada de How to Remain Valuable When Intelligence Becomes CheapHow to Remain Valuable When Intelligence Becomes Cheap

    224 páginas sobre las ventajas humanas, económicas y estratégicas que seguirán siendo escasas cuando la IA pueda hacer la mayor parte del trabajo cognitivo.

    $3.84Consíguelo en GumroadEn inglés