Analizador de URL
Descompón cualquier URL en protocolo, host, ruta, parámetros de consulta y hash
URL
Componentes
¿Qué es el Analizador de URL?
Pega una URL y la herramienta la divide en las partes que de verdad te importan — protocolo, host, puerto, ruta, parámetros de consulta, hash. La salida es JSON, así que puedes copiarla directamente a un fixture de pruebas, un log de depuración, o donde necesites los componentes en formato estructurado. El parser sigue el estándar URL de WHATWG, que es el que usa internamente cualquier navegador moderno.
Por qué un parser? Porque leer una URL larga con cinco parámetros de consulta codificados en porcentaje y un fragmento de hash es doloroso. El navegador ya sabe hacer esto a través de la API URL, pero no tienes una superficie rápida de pegar-y-ver para ello. Esto es eso. Los parámetros de consulta también se decodifican — %20 se convierte en un espacio, %5B en [, las claves repetidas se vuelven un array — el mismo comportamiento que URLSearchParams.
Todo se ejecuta en tu navegador. Sin subidas, sin servidor, sin logs. Parsear URLs es determinista — no hay IA, no hay adivinanzas, solo el mismo algoritmo que el RFC 3986 definió y la especificación WHATWG refinó.
Cómo usar el Analizador de URL
Tres pasos. Cada uno corresponde a un botón de esta página.
Pega una URL o carga el ejemplo
Suelta una URL en el panel izquierdo. Pulsa Ejemplo para cargar un caso realista con codificación porcentual, claves de consulta repetidas y un fragmento de hash. URL de ejemplo:
https://api.shop.example.com/v1/orders?customer=Ava%20Chen&status=active&total%5Bgte%5D=49.99&page=2#summaryFunciona cualquier cosa que el constructor URL acepte — incluyendo <code>file://</code>, <code>mailto:</code>, esquemas personalizados, hosts IPv6 y userinfo (<code>user:pass@host</code>).
Lee los componentes
El panel derecho muestra la URL parseada como JSON: protocol, host, port, pathname, pathSegments (la ruta partida en un array), searchParams (pares clave-valor decodificados, con arrays para las claves repetidas) y hash. Se actualiza según escribes.
Copia o descarga
Pulsa Copiar para mandar el JSON al portapapeles, o Descargar para guardarlo como archivo .json. Minificar compacta el JSON en una sola línea si lo necesitas para una línea de log. Usa Limpiar en el panel de entrada para empezar de nuevo.
Cuándo lo usarías de verdad
Depurar redirecciones y URLs de analítica
Una URL con doce parámetros de consulta de una redirección de tracking publicitario es ilegible en la barra de direcciones. Pégala aquí para ver los parámetros uno por línea, decodificados, con el parámetro de destino url totalmente desenvuelto. Combina bien con el stripping de trackers en nuestro Limpiador de URL (cuando esté disponible).
Inspeccionar URLs de webhooks y callbacks de OAuth
Los callbacks de OAuth y los payloads de webhooks meten estado en la query string. Separarlos hace obvio si falta el token state, si el code se cortó, o si el redirect_uri está codificado dos veces. El RFC 6749 exige esos parámetros y esto los muestra todos a la vez.
Construir fixtures de pruebas
Cuando escribes tests contra una URL, normalmente la quieres como objeto estructurado, no como string. Pega la URL, copia el JSON, mételo en tu archivo de fixtures. Te ahorra escribir protocol: 'https:' a mano por quinta vez en el día.
Sanity-check de tickets de soporte
"Se rompió cuando hice clic en este enlace" — el enlace tiene 400 caracteres con barras codificadas dos veces. El parser te muestra exactamente lo que vería el navegador, incluyendo si %252F significa un %2F literal o un separador de ruta que se codificó dos veces al pasar por un proxy.
Preguntas frecuentes
¿Funciona con URLs relativas?
No — el constructor URL necesita una URL absoluta (con un protocolo como https:// o file://). Para URLs relativas, antepón una base como https://example.com primero, y luego quítala del resultado. La especificación WHATWG describe la forma de dos argumentos (new URL(relative, base)) que usan los navegadores internamente.
¿Cómo maneja las claves de consulta repetidas?
Las claves repetidas se colapsan en un array. Así que ?tag=red&tag=blue se convierte en "tag": ["red", "blue"] en la salida. Coincide con cómo parsean las query strings la mayoría de frameworks de servidor (Express, FastAPI, ASP.NET).
¿Y la notación de array con corchetes como ?items[]=1&items[]=2?
El parser trata los corchetes como parte de la clave — verás "items[]": ["1", "2"]. Es honesto con los bytes que viajan por el cable. Si necesitas un decodificador específico de framework (PHP, Rails, qs.js), haz el postprocesado sobre la salida parseada.
¿Es seguro pegar credenciales en URLs (user:pass@host) aquí?
El parseo ocurre completamente en tu navegador — la URL nunca sale de tu máquina. Dicho esto, meter credenciales en una URL está generalmente desaconsejado (el RFC 3986 §3.2.1 nota los riesgos de seguridad), y la mayoría de navegadores las quitan silenciosamente. Si pegas una, los campos username y password aparecerán en la salida.
¿Maneja nombres de dominio internacionalizados (IDN)?
El constructor URL del navegador maneja dominios IDN, pero la salida puede mostrar la forma Punycode (xn--...) en lugar de la forma Unicode. Así es como la URL se enviaría realmente por el cable. Si necesitas convertir entre las dos, una herramienta dedicada de Punycode aterrizará en esta sección pronto.
¿Por qué la salida se llama "Componentes" en vez de "JSON"?
Es JSON — pero el encuadre importa. La salida son las partes de la URL, estructuradas. Si tratas la página como "Conversor de URL → JSON", te pierdes el punto: el valor está en el desglose, no en el formato.
Otras herramientas de URL y JSON
Parsear es una operación. Esto es lo que combina bien con ello: