Saltar al contenido

Codificar y decodificar URL

Prepara cadenas para URL o recupera su texto original.

Usar Codificar y decodificar URL

Codificar y decodificar URL

Prepara cadenas para URL o recupera su texto original.

Resultado

Codifica una cadena para usarla en una URL.

Escribe o pega contenido para ver aquí el resultado.

Longitud

0

Qué puedes resolver con esta herramienta

  • Codifica espacios, tildes, eñes y símbolos reservados (&, ?, =, /).
  • Descodifica enlaces largos para ver qué parámetros llevan.
  • Avisa si la URL tiene una secuencia % mal formada.

Antes de empezar

Los cambios se procesan al momento para que puedas probar distintas entradas y copiar solo el resultado que te interesa.

Qué hace Codificar y decodificar URL

Codifica texto para usarlo dentro de una URL (por ejemplo, «café con leche» → «caf%C3%A9%20con%20leche») o descodifica una URL para leerla. Usa la codificación de componentes de URL de JavaScript.

Casos de uso habituales

  • Montar enlaces con parámetros de búsqueda o UTM que llevan espacios o tildes.
  • Leer una URL de seguimiento larga llena de %20 y %3D.
  • Preparar valores para una petición GET a una API.
Guía editorial Calcliq

Guía técnica de codificación de URLs: Percent-Encoding (RFC 3986), encodeURI vs encodeURIComponent

Aprende las diferencias críticas entre codificar una dirección web completa y un parámetro de consulta, el significado de los caracteres reservados y la prevención de excepciones de decodificación.

Fundamentos del estándar RFC 3986 y la necesidad del Percent-Encoding

El estándar RFC 3986 del IETF define la sintaxis universal de los localizadores uniformes de recursos (URI/URL). Por razones históricas de compatibilidad entre pasarelas de telecomunicaciones y servidores de red, una URL solo puede contener un conjunto restringido de caracteres del repertorio ASCII de 7 bits clasificados como 'no reservados' (letras A-Z, a-z, números 0-9 y los signos '-', '_', '.', '~'). Por el contrario, los caracteres clasificados como 'reservados' (como ':', '/', '?', '#', '[', ']', '@', '&', '=', '+', '$', ',') desempeñan una función sintáctica predefinida como delimitadores de componentes estructurales de la propia URL (separar el protocolo de red, segmentar las carpetas de la ruta, iniciar la cadena de consulta mediante '?' o encadenar variables con '&'). Cuando los datos de un usuario o los valores de una consulta contienen caracteres reservados o signos de alfabetos no latinos (como tildes, eñes, símbolos de moneda o espacios), estos deben codificarse mediante el mecanismo de escape por porcentaje (Percent-Encoding). En este esquema, cada byte del carácter en codificación UTF-8 se representa mediante un signo de porcentaje seguido de dos dígitos hexadecimales en mayúscula (por ejemplo, el espacio en blanco se traduce en '%20' y la letra 'á' en '%C3%A1').
Comportamiento de codificación de caracteres especiales según función de JavaScript
Carácter de origenPercent-Encoded (Hexadecimal)Comportamiento en encodeURI()Comportamiento en encodeURIComponent()Función sintáctica en URLs
Espacio en blanco ( )%20 (o '+' en formularios)Codificado a %20Codificado a %20Inválido en URLs; requiere escape obligatorio
Barra inclinada (/)%2FPreservado como /Codificado a %2FDelimitador de jerarquía de rutas y directorios
Interrogación (?)%3FPreservado como ?Codificado a %3FDelimitador de inicio de parámetros de consulta (query)
Et comercial (&)%26Preservado como &Codificado a %26Separador entre pares clave-valor de consulta
Signo de igual (=)%3DPreservado como =Codificado a %3DOperador de asignación de valor a una clave en query
Vocal acentuada (á / é)%C3%A1 / %C3%A9Codificado (secuencia UTF-8)Codificado (secuencia UTF-8)Caracteres no ASCII; escape obligatorio

Diferencia crucial entre encodeURI() y encodeURIComponent()

Comprender qué función de escape utilizar en cada contexto es fundamental para evitar enlaces rotos o parámetros descompuestos en el servidor de destino:
Construcción segura de URLs con parámetros y decodificación inversa
Fórmula matemática
Dirección completa con parámetros: URL_final = Base_URL + '?' + Param_clave + '=' + encodeURIComponent(Valor_param)
Regla de escape por porcentaje: Carácter_Unicode → Bytes_UTF8 (b_1, b_2) → '%' + Hex(b_1) + '%' + Hex(b_2)
Decodificación segura: Texto_original = decodeURIComponent(Cadena_escapada)

encodeURI() está concebido para codificar una dirección web completa que ya contiene estructura válida (preservando '://', '/', '?' y '&'), mientras que encodeURIComponent() debe aplicarse individualmente sobre cada valor que se concatene como parámetro para que signos como '&' no fragmenten la variable en el servidor.

Ejemplo práctico: Construcción de una URL de campaña de marketing con parámetros UTM complejos

Al diseñar campañas publicitarias o compartir enlaces en boletines de correo electrónico, se añaden parámetros UTM de analítica web que a menudo contienen términos con espacios y acentos.
Montaje de enlace analítico hacia la calculadora de sueldo neto con términos en español
Ejemplo práctico

Situación: Se desea compartir en redes sociales la herramienta de sueldo neto con una campaña denominada «otoño-2026» y un término de búsqueda que incluye símbolos: «nómina & IRPF».

Paso 1: Dirección base de la herramienta: «https://calcliq.com/calculadora-de-sueldo-neto».
Paso 2: Codificación individual de cada valor de parámetro con encodeURIComponent:
- utm_source: «boletin» → «boletin»
- utm_campaign: «otoño-2026» → «oto%C3%B1o-2026» ('ñ' pasa a %C3%B1)
- utm_term: «nómina & IRPF» → «n%C3%B3mina%20%26%20IRPF» ('ó' a %C3%B3, espacio a %20 y '&' a %26).
Paso 3: Concatenación final de la URL con los delimitadores '?' y '&'.

Resultado final: La URL resultante es «https://calcliq.com/calculadora-de-sueldo-neto?utm_source=boletin&utm_campaign=oto%C3%B1o-2026&utm_term=n%C3%B3mina%20%26%20IRPF», 100 % conforme a RFC 3986 y leída correctamente por Google Analytics sin corromper el término de búsqueda.

Qué debes tener en cuenta

Estas notas ayudan a interpretar el resultado con prudencia y a evitar usos poco fiables.

Codifica también «/», «?» y «&», porque está pensada para un valor de parámetro, no para una URL completa.

Herramientas relacionadas

Preguntas frecuentes sobre Codificar y decodificar URL

¿Por qué los espacios salen como %20?

Porque una URL no puede llevar espacios. %20 es el código del espacio. En formularios a veces se usa «+» con el mismo sentido.

¿Codifico la URL entera o solo el valor?

Solo los valores de los parámetros. Si codificas la URL entera, «https://» se convierte en «https%3A%2F%2F» y el enlace deja de funcionar.

¿Qué hago si da error al descodificar?

La URL tiene un % que no va seguido de dos caracteres hexadecimales válidos. Revisa si se ha cortado al copiarla.