← Todas las herramientas Dev Tools

Codificador / Decodificador URL

Codifica o decodifica URLs y cadenas de consulta para transmisión segura.

Modo

encodeURIComponent()

0 car.
Caracteres codificados comunes
space%20
!%21
#%23
$%24
&%26
'%27
(%28
)%29
+%2B
/%2F
:%3A
=%3D
?%3F
@%40
[%5B
]%5D

100% del lado del cliente

Toda la codificación se realiza en tu navegador. Tus datos nunca se envían a ningún servidor.

Por qué las URLs necesitan codificación

Una URL solo puede contener un conjunto limitado de caracteres ASCII. Los espacios, caracteres acentuados (é, ü, ñ), scripts no latinos (árabe, chino, japonés) y puntuación reservada están prohibidos en las URLs tal cual. La codificación porcentual convierte caracteres inseguros: cada carácter se reemplaza por `%` seguido de dos dígitos hexadecimales.

Sin codificación, una URL como `https://example.com/buscar?q=café con leche` se rompería. Correctamente codificada: `https://example.com/buscar?q=caf%C3%A9%20con%20leche`.

encodeURI vs encodeURIComponent

`encodeURI()` codifica una URL completa, preservando los caracteres con significado estructural en una URL. Úsalo cuando tienes una URL completa y solo quieres hacerla segura para transmisión.

`encodeURIComponent()` es más agresivo — codifica todo excepto letras, dígitos y algunos caracteres especiales. Úsalo para valores individuales de parámetros de consulta o segmentos de ruta.

Errores comunes de codificación

Doble codificación: codificar una cadena ya codificada produce `%2520` en lugar de `%20`. Siempre decodifica primero, luego vuelve a codificar si es necesario. Más vs espacio: en cadenas de consulta, `+` a veces representa un espacio. En rutas URL, los espacios siempre deben ser `%20`.

FAQ

¿Qué es la codificación porcentual?

La codificación porcentual (URL encoding) reemplaza cada carácter inseguro con `%` seguido de dos dígitos hexadecimales: el valor de byte UTF-8 de ese carácter. Un espacio se convierte en `%20`, `é` en `%C3%A9`.

¿Cuándo usar encodeURI vs encodeURIComponent?

Usa encodeURI() para una URL completa que quieres hacer segura mientras preservas su estructura. Usa encodeURIComponent() para valores individuales que se colocarán dentro de una URL.

¿Por qué mi URL codificada contiene %20 en lugar de + para espacios?

%20 es la codificación porcentual estándar RFC 3986 para un espacio, válida en toda la URL. El signo `+` representa un espacio solo en contenido `application/x-www-form-urlencoded`.

¿Qué ocurre si codifico una URL ya codificada?

Ocurre doble codificación. El carácter `%` en `%20` se codifica como `%25`, produciendo `%2520`. Siempre decodifica primero antes de volver a codificar.

¿El decodificador maneja correctamente los caracteres internacionales?

Sí. El decodificador maneja correctamente las secuencias UTF-8 multi-byte, por lo que el árabe, chino, japonés y todos los scripts Unicode se decodifican correctamente.

Herramientas relacionadas