Codificador / Decodificador URL

    Codifica caracteres especiales en URLs (percent-encoding) o decodifica cadenas percent-encoded de vuelta a texto legible.

    Qué es un codificador / decodificador URL

    Un codificador y decodificador URL es una utilidad para desarrolladores que convierte texto con caracteres especiales al formato seguro para incluirse en una URL (percent-encoding), y a la inversa decodifica cadenas percent-encoded de vuelta a su forma original legible. Las URLs están gobernadas por una especificación estricta (RFC 3986) que solo permite un conjunto limitado de caracteres sin modificar: letras, dígitos, guiones, guiones bajos, puntos y tildes. Cualquier otro carácter debe representarse con percent-encoding: el carácter se reemplaza por un signo de porcentaje seguido de su código hexadecimal ASCII de dos dígitos.

    Por qué importa la codificación URL

    La web depende de las URLs como sistema universal de direccionamiento de recursos. Cuando esas URLs contienen texto generado por usuarios, parámetros de consulta o datos de fuentes externas, los caracteres especiales pueden corromper silenciosamente la estructura de la URL, rompiendo enlaces, causando errores en el servidor y produciendo vulnerabilidades de seguridad.

    • Seguridad en query strings: caracteres como &, =, ? y # tienen significado especial en las query strings de URL. Sin codificación, una consulta de búsqueda con cualquiera de estos caracteres se interpretaría como sintaxis URL en lugar de datos.
    • Construcción de peticiones API: al construir peticiones HTTP programáticamente, los valores pasados como parámetros URL deben codificarse para garantizar su correcta transmisión.
    • Internacionalización: los caracteres no ASCII (letras acentuadas, caracteres chinos, árabes, emojis, etc.) no pueden aparecer en URLs sin codificar. La codificación URL hace la web accesible en todos los idiomas humanos.
    • Seguridad e inyección: la codificación URL correcta previene ciertas clases de ataques de inyección donde caracteres maliciosos en una URL podrían alterar la estructura de la petición.

    Cómo funciona la codificación URL

    La codificación URL sigue una regla simple definida en RFC 3986. Cuando un carácter no pertenece al conjunto de "caracteres no reservados" (A–Z, a–z, 0–9, guion, guion bajo, punto, tilde), debe codificarse con percent-encoding:

    • El carácter se convierte a su secuencia de bytes UTF-8.
    • Cada byte se escribe como un número hexadecimal de dos dígitos en mayúsculas precedido de un signo de porcentaje.
    • Por ejemplo, un espacio (ASCII 32, hex 20) se convierte en %20. El ampersand (ASCII 38, hex 26) se convierte en %26. El símbolo de copyright (©) se convierte en %C2%A9 con su codificación UTF-8 de dos bytes.

    Esta herramienta usa la función encodeURIComponent() de JavaScript para codificar, que maneja correctamente todos los caracteres Unicode. Para decodificar usa decodeURIComponent(), que invierte el proceso para todas las secuencias percent-encoded válidas.

    encodeURIComponent vs encodeURI: diferencias clave

    encodeURIComponent se usa para codificar componentes individuales de URL: nombres y valores de parámetros de consulta, segmentos de ruta o cualquier texto que se insertará dentro de una estructura URL existente. Codifica caracteres reservados como /, ?, #, & y =, porque tienen significado estructural en las URLs y no deben aparecer sin codificar dentro del valor de un parámetro.

    encodeURI se usa para codificar una URL completa. No codifica los caracteres reservados porque se asume que forman parte de la estructura URL intencional. Usar encodeURI en el valor de un parámetro puede dejar & y = sin codificar, corrompiendo la estructura del parámetro.

    Esta herramienta usa encodeURIComponent, que es la elección correcta y más segura para codificar valores proporcionados por el usuario, parámetros de API y cualquier texto que se incrustará dentro de una URL.

    Errores comunes a evitar

    Doble codificación: si el texto ya está URL-encoded y lo codificas de nuevo, los signos de porcentaje se codifican también, convirtiendo %20 en %2520. Verifica siempre si tu entrada ya está codificada antes de codificarla de nuevo.

    Signos + en datos de formulario: los formularios HTML enviados por GET a veces codifican los espacios como + en lugar de %20. La función estándar decodeURIComponent no convierte + de vuelta a espacios. Si tu cadena usa signos + para espacios, reemplázalos por %20 antes de decodificar.

    Codificar URLs completas: si tienes una URL completa y solo necesitas codificar los valores de sus parámetros de consulta, copia solo los valores (no toda la URL) en el codificador. Codificar una URL completa también codificará las barras, los dos puntos y los signos de interrogación que forman parte de la estructura URL, rompiéndola.

    Preguntas frecuentes

    ¿Qué caracteres necesitan codificarse en URL?

    Cualquier carácter que no esté en el conjunto no reservado (A–Z, a–z, 0–9, guion, guion bajo, punto, tilde) debe codificarse cuando se usa como dato dentro de un componente URL. Esto incluye espacios, signos de puntuación y todos los caracteres no ASCII.

    ¿Por qué un espacio aparece a veces como %20 y otras como +?

    La codificación %20 está definida por RFC 3986 y es la codificación correcta para espacios en todos los componentes URL. La codificación + es una convención heredada de la especificación de envío de formularios HTML y solo es válida en query strings en ese contexto específico. Esta herramienta siempre produce %20, que es universalmente correcto.

    ¿Es lo mismo que la codificación HTML?

    No. La codificación URL (percent-encoding) reemplaza caracteres con secuencias %XX para transmisión segura en URLs. La codificación HTML reemplaza caracteres con entidades HTML como &, < o " para inserción segura en documentos HTML. Ambas sirven para hacer seguros los caracteres especiales en un contexto específico, pero usan sintaxis completamente diferente y no son intercambiables.

    ¿La herramienta maneja caracteres Unicode?

    Sí. encodeURIComponent codifica correctamente todos los caracteres Unicode, incluyendo letras acentuadas, chino, japonés, coreano, árabe, cirílico, emojis y cualquier punto de código Unicode, en su secuencia de bytes UTF-8 representada como secuencias percent-encoded.

    ¿La codificación URL es segura?

    La codificación URL no es un mecanismo de cifrado o seguridad: es una convención de escape de caracteres para transmisión URL segura. No oculta ni protege el contenido que codifica; cualquiera puede decodificar trivialmente una cadena percent-encoded. Para transmisión segura de datos sensibles, usa HTTPS y cifrado apropiado.

    Quick answer

    Quick answer: The URL Encoder/Decoder converts special characters into URL-safe escape sequences and decodes encoded URLs back into readable text.

    Best for

    • Encoding query parameters
    • Debugging redirect URLs
    • Reading encoded tracking links
    • Preparing safe URL values

    Related use cases

    • If you are preparing campaign links, use the UTM Builder to create structured tracking URLs. UTM Builder

    Frequently asked questions

    Qué es URL encoding?

    URL encoding replaces characters that may be unsafe in a URL with percent-encoded values such as %20 for a space.

    When should I decode a URL?

    Decode a URL when you need to read its parameters, debug redirects or inspect tracking values.

    Is URL encoding the same as encryption?

    No. URL encoding is a reversible formatting method, not a security measure.