Saltar al contenido principal
FreeOnlineTools Go
Español
Explicación

¿Qué es la codificación URL? Una explicación completa de la codificación porcentual

Por FreeOnlineTools Team · Actualizado 2026-09-02

Respuesta rápida

La codificación URL (codificación porcentual) reemplaza los caracteres no seguros en un URL con % seguido de dos dígitos hexadecimales. Por ejemplo, el espacio se convierte en %20 y & se convierte en %26. Garantiza que URLs se pueda transmitir sin ambigüedad. Utilice nuestro codificador y decodificador URL gratuito para realizar conversiones en su navegador.

Introducción

La codificación URL, también llamada codificación porcentual, es un mecanismo para codificar caracteres especiales en un URL para que puedan transmitirse de forma segura a través de Internet. URLs solo puede contener un conjunto limitado de caracteres ASCII: letras, dígitos y algunos caracteres reservados. Cualquier otro carácter (espacios, comillas, letras que no sean ASCII) debe codificarse como un signo de porcentaje (%) seguido de dos dígitos hexadecimales que representan el valor del byte del carácter. La codificación URL está definida por RFC 3986.

Paso a paso

  1. Comprender qué caracteres necesitan codificación

    Los caracteres no reservados (A-Z, a-z, 0-9, -, _, ., ~) no necesitan codificación. Los caracteres reservados (:, /, ?, #, [, ], @, !, $, &, ', (, ), *, +, ,, ;, =) tienen un significado especial en URLs y deben codificarse cuando se utilizan como datos. Todos los demás caracteres (espacios, comillas, no ASCII) deben estar codificados.

  2. Aprenda el mecanismo de codificación

    Cada carácter que necesita codificación se convierte a su secuencia de bytes UTF-8, luego cada byte se representa como %XX, donde XX es el valor hexadecimal. Espacio (0x20) → %20. El carácter no ASCII 'é' (UTF-8: 0xC3 0xA9) → %C3%A9.

  3. Distinguir encodeURI vs encodeURIComponent

    encodeURI() codifica un URL completo pero conserva los caracteres reservados (:/?&=) que forman parte de la estructura URL. encodeURIComponent() codifica todo excepto los caracteres no reservados; utilícelo para valores de parámetros de consulta donde los caracteres reservados son datos, no estructura.

  4. Decodificar porcentaje codificado URLs

    La decodificación invierte la codificación: %20 → espacio, %C3%A9 → é. Utilice decodeURI() para URLs completo y decodeURIComponent() para valores de parámetros de consulta. Las secuencias de escape no válidas (como %ZZ) arrojan errores.

Ejemplos

codificar un espacio

Aporte: hello world

Producción: hello%20world

Codificar texto no ASCII

Aporte: café

Producción: caf%C3%A9

Codificar un valor de parámetro de consulta

Aporte: name=John Doe & Co.

Producción: name%3DJohn%20Doe%20%26%20Co.

Problemas comunes

  • Codificar todo el URL cuando solo es necesario codificar los valores: codificar los valores de los parámetros de consulta, no la estructura URL (://?&=).
  • Codificación doble: si un URL ya está codificado, la codificación nuevamente produce %2520 en lugar de %20. Decodifica primero si no estás seguro de si ya está codificado.
  • Uso incorrecto de encodeURI frente a encodeURIComponent: encodeURI conserva URL caracteres de estructura; encodeURIComponent los codifica. Utilice este último para consultar valores de parámetros.
  • Secuencias de escape no válidas: %ZZ o un solo % al final no son válidas y arrojarán errores cuando se decodifiquen.

Consejos

  • Codifique siempre los valores de los parámetros de consulta que puedan contener espacios, caracteres especiales o entradas del usuario para evitar la inyección de URL.
  • Utilice encodeURIComponent() para consultar valores de parámetros y encodeURI() para URLs completo que solo necesita caracteres no seguros codificados.
  • La codificación URL no es codificación; cualquiera puede decodificarla. Nunca lo utilices para ocultar datos confidenciales.
  • Utilice nuestro codificador y decodificador URL para una conversión privada e instantánea en su navegador.

Herramientas relacionadas

Guías relacionadas

Referencias