Codificar y decodificar URL
Codifica o decodifica URL y texto en codificación porcentual: ámbito de componente o de URI completa, espacios + o %20 y un desglose de la cadena de consulta.
Abrir la herramienta →La herramienta interactiva se abre en inglés.
Un codificador y decodificador de URL en el navegador para la codificación porcentual: pega texto o una URL y codifícalo o decodifícalo al instante, sin enviar nada a un servidor. Tiene dos ámbitos, y equivocarse aquí es el error habitual: Componente (encodeURIComponent) escapa los delimitadores reservados & = ? / # : y sirve para un único valor de consulta o segmento de ruta; URI completa (encodeURI) los conserva para que una URL entera siga siendo válida. El tratamiento de los espacios es explícito: alterna entre %20 (codificación porcentual estándar, segura en cualquier parte) y + (el estilo de consulta application/x-www-form-urlencoded). Un desglose de la cadena de consulta convierte cualquier URL pegada en una tabla clave/valor legible y editable con sus parámetros decodificados: edita los valores y reconstruye la URL. Relevancia para la seguridad: la codificación de URL (y la doble codificación) es la forma en que las cargas de inyección, XSS, SSRF y redirección abierta se cuelan por filtros ingenuos, así que leer a qué se decodifica de verdad una cadena codificada es una habilidad básica de revisión. Referencia: RFC 3986 (sintaxis de URI) y las especificaciones WHATWG URL / application/x-www-form-urlencoded. La codificación y decodificación usan las funciones nativas del navegador y nada de lo que introduces sale de él. Es una herramienta Pro: con una cuenta gratuita tienes 3 usos de herramientas Pro en total y después necesitas Pro.
- Pega el texto o la URL y elige codificar o decodificar.
- Elige el ámbito: Componente (encodeURIComponent) para un solo valor o segmento, o URI completa (encodeURI) para una URL entera.
- Alterna los espacios entre %20 y +, según el destino.
- Usa el desglose de la cadena de consulta para leer y editar los parámetros decodificados y reconstruir la URL.
Preguntas frecuentes
¿Qué es la codificación de URL?
La codificación de URL, también llamada codificación porcentual, es el mecanismo definido en el RFC 3986 para representar en una URL los caracteres que son reservados (tienen un significado estructural, como & ? / # =) o no seguros (espacios, letras no ASCII, caracteres de control). Cada uno de esos bytes se sustituye por un signo de porcentaje seguido de su valor hexadecimal de dos dígitos: un espacio pasa a ser %20, un ampersand pasa a ser %26 y la é de «café» pasa a ser sus bytes UTF-8 %C3%A9. Los caracteres no reservados (A–Z, a–z, 0–9 y - _ . ~) nunca se codifican. La codificación te permite meter datos arbitrarios en una URL sin romper su estructura, y la decodificación lo revierte.
¿Qué diferencia hay entre encodeURIComponent y encodeURI?
encodeURIComponent codifica un único componente (un valor de parámetro de consulta, un segmento de ruta o un fragmento), así que también escapa los delimitadores reservados & = ? / # : @ + $ ,. encodeURI es para una URL entera ya estructurada, así que conserva deliberadamente esos delimitadores reservados y solo escapa los espacios y otros caracteres no seguros, para que la URL siga siendo válida. El error clásico es usar encodeURI sobre un valor que contiene a su vez un & o un = (por ejemplo, un término de búsqueda): los delimitadores sobreviven sin escapar y corrompen la cadena de consulta que los rodea. Regla práctica: construye tú la estructura de la URL y pasa después cada valor individual por encodeURIComponent.
¿Cuándo uso + y cuándo %20 para un espacio?
Ambos se decodifican como un espacio, pero proceden de especificaciones distintas. %20 es la codificación porcentual de un espacio según el RFC 3986 y es válida en cualquier parte de una URL: ruta, consulta o fragmento. La convención + procede solo del formato application/x-www-form-urlencoded que se usa en los envíos de formularios HTML y en las cadenas de consulta, donde un + literal significa un espacio. Usar + dentro de un segmento de ruta es incorrecto (un + en la ruta sigue siendo un +), y un servidor que no decodifica como formulario te mostrará un + literal en lugar de un espacio. Ante la duda, usa %20; usa + solo en cadenas de consulta que sabes que se analizan como datos de formulario. Esta herramienta te permite alternar entre ambos.
¿Por qué importa la codificación de URL para la seguridad?
La codificación es una técnica de evasión habitual. Los atacantes codifican en URL (o doblemente, por ejemplo %253C para <) las cargas de XSS, inyección SQL, path traversal (..%2F), SSRF y redirección abierta para que un filtro de entrada ingenuo que busca caracteres literales nunca las vea, mientras el servidor o el navegador las decodifica de vuelta a su forma peligrosa antes de usarlas. Por eso, revisar una petición o una línea de log sospechosa implica decodificar cada capa para ver a qué se resuelve de verdad; y cuando construyes defensas, canonicalizas (decodificas por completo) la entrada antes de validarla, nunca después. Esta herramienta decodifica capa a capa para que puedas leer qué es realmente una cadena codificada.
¿Es gratis?
No, es una herramienta Pro. Con una cuenta gratuita tienes 3 usos de prueba de herramientas Pro en total; después necesitas Pro.