La decodificación de URL (decodificación por porcentaje) es el proceso inverso de la codificación de URL: convierte las secuencias codificadas por porcentaje de vuelta a sus caracteres originales. Cada ocurrencia de un signo de porcentaje seguido de dos dígitos hexadecimales (%XX) se reemplaza por el byte que XX representa. Los bytes codificados consecutivos múltiples se recombinan para reconstruir el carácter UTF-8 original.
La decodificación de URL es una tarea cotidiana para los desarrolladores que trabajan con APIs, web scraping, análisis de registros y flujos de autenticación. Las URLs codificadas son legibles para las máquinas pero opacas para los humanos — decodificarlas revela instantáneamente las rutas reales, consultas de búsqueda, destinos de redirección y valores de parámetros que de otro modo requerirían conversión mental de hex a carácter.
¿Por qué usar esta herramienta?
Entienda rápidamente cualquier URL o cadena de consulta codificada por porcentaje — sin necesidad de consola del navegador, nada se envía a un servidor.
⚡
Decodificación instantánea
Pegue cualquier URL o parámetro codificado y vea la versión legible por humanos de inmediato. Ideal para depurar solicitudes API y archivos de registro.
🛡️
Recuperación de errores
Recurre al legacy unescape() para entradas que contienen caracteres Latin-1 codificados por porcentaje de estilo antiguo que fallarían con decodeURIComponent.
🔒
Solo en el cliente
Toda la decodificación se ejecuta localmente en su navegador. Los tokens, contraseñas y parámetros de consulta privados nunca abandonan su dispositivo.
🔁
Soporte de URL completa
Decodifique URLs completas o valores de parámetros individuales. La herramienta maneja tanto espacios %20 estándar como preserva los signos + como caracteres más literales.
Cómo usar este decodificador de URL en línea
Sin cuenta, sin instalación. Pega tu cadena codificada en porcentaje en el campo de entrada y el resultado decodificado aparece al instante. Todo se ejecuta en tu navegador — tus datos nunca salen de tu dispositivo.
1
Pega tu URL codificada o cadena
Copia cualquier cadena codificada en porcentaje — una URL de la barra de direcciones, un parámetro de consulta de los registros del servidor, una respuesta de API o un destino de redirección — y pégala en el campo de entrada.
2
Detección automática del formato
El decodificador maneja automáticamente tanto la codificación porcentual %XX como el signo + como espacio (application/x-www-form-urlencoded). No es necesario especificar el formato de codificación manualmente.
3
Inspecciona la salida decodificada
El texto legible aparece al instante. Si la entrada contenía codificación anidada (cadenas doblemente codificadas), el decodificador resuelve una capa a la vez. Aparece un error para secuencias %XX malformadas.
4
Copiar o volver a codificar
Haz clic en Copiar para obtener la cadena decodificada. ¿Necesitas codificarla de nuevo con diferentes ajustes? Cambia a la herramienta Codificador de URL con un solo clic.
Cómo funciona la decodificación
El decodificador escanea la entrada en busca de secuencias %, convierte cada grupo de dos dígitos hexadecimales a un valor de byte, agrupa secuencias de bytes consecutivos y los interpreta como UTF-8 para producir los caracteres Unicode finales.
Referencia de caracteres codificados por porcentaje
Una referencia rápida para las secuencias codificadas por porcentaje más frecuentes:
Codificado
Car.
Dónde lo verá
%20
space
path segments, query values
%2B
+
literal plus (not a space in query)
%2F
/
slash inside a path component
%3F
?
literal question mark in a value
%23
#
literal hash in a value
%26
&
literal ampersand in a value
%3D
=
literal equals sign in a value
%40
@
at sign in username / password
%3A
:
colon inside a path segment
%25
%
literal percent sign
%2C
,
comma in path or query
%5B
[
opening bracket
%5D
]
closing bracket
%7B
{
curly brace in template literals
%7D
}
curly brace in template literals
Casos de uso comunes
Depuración de solicitudes API
Copie una URL de los registros de red de las DevTools del navegador y decodifíquela para ver los valores reales de los parámetros de consulta — especialmente útil cuando las herramientas automatizadas o bibliotecas han codificado por porcentaje los parámetros.
Lectura de archivos de registro
Los registros de acceso de servidores web y los registros de aplicaciones almacenan URLs en su forma codificada. Decodifíquelos para encontrar las rutas solicitadas reales, términos de búsqueda y valores de parámetros.
Inspección de redirecciones
Las devoluciones de llamada OAuth, los redireccionamientos SSO y las URLs de seguimiento de enlaces a menudo llevan parámetros redirect_uri o next muy codificados. Decodifique la URL para rastrear el destino previsto.
Análisis de cargas útiles de webhook
Los cuerpos de webhook enviados como application/x-www-form-urlencoded (Stripe, Twilio, GitHub) llegan como cadenas codificadas por porcentaje. Decodifíquelos para leer los valores de campo reales.
Extracción de consultas de búsqueda
Las URLs de análisis y los encabezados referrer contienen la consulta de búsqueda original del usuario codificada por porcentaje en el parámetro q=. Decodifique para mostrar o analizar los términos de búsqueda reales.
Ingeniería inversa de URLs
Al integrarse con APIs de terceros o hacer scraping, las URLs encontradas a menudo contienen segmentos de ruta y parámetros codificados. Decodifíquelos para entender la estructura de URL y reproducir solicitudes.
Problemas comunes
Estos son los errores más frecuentes al decodificar cadenas codificadas por porcentaje:
✕
Confundir + con %20
En datos application/x-www-form-urlencoded (envíos de formularios HTML), + representa un espacio. Pero en una ruta de URL sin procesar o un valor codificado con encodeURIComponent, + es un signo más literal. decodeURIComponent no convierte + a espacio — use URLSearchParams o unquote_plus para datos de formulario.
✕
Cadenas doblemente codificadas
Si una cadena fue codificada dos veces, decodificarla una vez aún deja signos de porcentaje: %2520 se decodifica como %20, no como espacio. Decodifique una segunda vez para obtener el valor original. Esté atento a esto en registros, proxies y middleware que recodifican datos ya codificados.
✕
Secuencias de porcentaje malformadas
Un % solo o seguido de caracteres no hexadecimales (p. ej. %GG o % 2) es inválido y lanzará un URIError. Siempre valide la entrada o envuelva la decodificación en un try/catch.
✕
Discrepancia de codificación (Latin-1 vs UTF-8)
Los sistemas antiguos (urlencode de PHP, ASP clásico) codificaban caracteres como bytes Latin-1. Una cadena codificada como Latin-1 puede decodificarse incorrectamente con un decodificador UTF-8. Si ve caracteres ilegibles, pruebe el método legacy unescape() o determine la codificación original.
Ejemplos de código
Cómo decodificar cadenas URL en lenguajes y entornos populares:
JavaScript (browser / Node.js)
// Decode a percent-encoded component
decodeURIComponent('hello%20world%20%26%20more') // → "hello world & more"
// Decode a full URL (leaves structure characters encoded)
decodeURI('https://example.com/path?q=hello%20world') // → "https://example.com/path?q=hello world"
// Parse a query string (handles + as space automatically)
const params = new URLSearchParams('q=hello+world&lang=en')
params.get('q') // → "hello world"
const url = new URL('https://example.com/search?q=hello%20world%20%26%20more')
url.searchParams.get('q') // → "hello world & more"
url.pathname // → "/search"
CLI (bash)
# Decode with Python one-liner
python3 -c "from urllib.parse import unquote; print(unquote('hello%20world'))"
# Decode with Node.js
node -e "console.log(decodeURIComponent('hello%20world%20%26'))"
Decodificador de URL vs. alternativas
Varias herramientas pueden decodificar cadenas codificadas en porcentaje, pero difieren en claridad, privacidad y conveniencia.
Esta herramienta
Basada en navegador, instantánea y privada. Maneja codificación %XX, + como espacio, Unicode y secuencias malformadas. No se envían datos a ningún servidor.
Barra de direcciones del navegador
Los navegadores decodifican las URLs para mostrarlas, pero no siempre de forma completa — algunos caracteres codificados siguen siendo visibles en la barra de direcciones. No es útil para inspeccionar valores de parámetros individuales.
DevTools / curl -v
Los DevTools del navegador y curl muestran URLs en bruto y decodificadas en las solicitudes de red. Útil para depurar, pero requiere cambiar de herramientas y saber dónde buscar.
Preguntas frecuentes
¿Cuál es la diferencia entre decodeURIComponent y decodeURI?
decodeURIComponent decodifica todas las secuencias codificadas por porcentaje incluyendo caracteres reservados (%2F → /, %3F → ?, etc.). decodeURI solo decodifica secuencias que no producirían un carácter con significado especial en una URL — deja %2F, %3F, %23 y otros caracteres estructurales codificados. Use decodeURIComponent para valores de parámetros; use decodeURI solo cuando tenga una URL completa y desee preservar su estructura.
¿Por qué veo URIError: URI malformada?
Este error de decodeURIComponent ocurre cuando la entrada contiene un % no seguido de dos dígitos hexadecimales válidos, o cuando una secuencia UTF-8 multibyte está incompleta (p. ej. %E2 sin el siguiente %82%AC). Elimine o escape los signos de porcentaje sueltos antes de decodificar.
¿La decodificación maneja + como espacio?
No — decodeURIComponent trata + como un signo más literal, no como espacio. La convención + → espacio solo se aplica a datos application/x-www-form-urlencoded (envíos de formularios HTML). Para decodificar datos codificados en formulario, use URLSearchParams (navegador/Node) o urllib.parse.unquote_plus (Python).
¿Es seguro realizar la decodificación de URL en el lado del cliente?
Sí — la decodificación de URL es una transformación pura sin solicitudes de red. Todos los navegadores modernos incluyen decodeURIComponent y decodeURI como funciones nativas. Esta herramienta realiza la decodificación completamente en su navegador; no se envían datos a ningún lugar.
¿Cómo decodifico una URL que fue codificada múltiples veces?
Decodifíquela múltiples veces hasta que la salida se estabilice (no se resuelven más secuencias %). Esto ocurre cuando una URL ya codificada pasa por otro codificador. Cada paso de decodificación elimina una capa de codificación.
¿Qué representa %XX?
Los dos caracteres después de % son dígitos hexadecimales que representan un valor de byte único (00–FF). Para caracteres ASCII, este byte es el código ASCII del carácter: %41 = 65 = 'A'. Para caracteres no ASCII, múltiples secuencias %XX representan la secuencia de bytes UTF-8 del carácter: el signo del euro es %E2%82%AC (tres bytes: 0xE2, 0x82, 0xAC).
¿Qué codificación utiliza el navegador al enviar formularios HTML?
Los formularios HTML con method=GET añaden los campos a la URL usando la codificación application/x-www-form-urlencoded, que reemplaza los espacios con + en lugar de %20 y codifica en porcentaje otros caracteres especiales. La opción + → espacio de la herramienta URL Decode gestiona este formato. Los formularios con method=POST y enctype=application/x-www-form-urlencoded usan el mismo esquema en el cuerpo de la solicitud.
¿Hay un límite de tamaño para la decodificación?
Sin límite del lado del servidor — la herramienta se ejecuta completamente en tu navegador. Los límites prácticos dependen de la memoria de tu navegador. Para cadenas codificadas muy largas o procesamiento por lotes, usa decodeURIComponent en un script.