URL a JSON
Convierte cualquier URL en un objeto JSON estructurado — listo para pegar en una configuración, fixture o test
URL
JSON
¿Qué hace URL a JSON?
Pegas una URL a la izquierda y a la derecha aparece un objeto JSON con cada parte de la URL nombrada — protocol, host, pathname, searchParams, hash, todo. La idea no es mirarlo una vez y olvidarlo, sino copiar ese JSON a un sitio donde se quede: un archivo de configuración, un fixture de Jest, un entorno de Postman, un manifiesto YAML, un mock de petición para tus tests. Las URLs como cadena son fáciles de escribir pero difíciles de comprobar; los objetos estructurados son justo lo contrario.
Por dentro usa el mismo algoritmo que cualquier navegador a través de la URL API, que implementa el WHATWG URL Standard. Los parámetros de consulta se decodifican por el camino — %20 pasa a ser un espacio, %5B pasa a ser [, las claves repetidas se agrupan en un array JSON — el mismo comportamiento que da URLSearchParams. La salida luego se formatea con las mismas reglas de JSON.stringify que usa cualquier otra herramienta JSON de este sitio.
Si solo quieres ver las partes de una URL en pantalla — depurar una redirección, repasar una cadena de trackers — la página Analizador de URL te viene mejor. Las dos páginas hacen la misma conversión; esta está pensada para el caso en que el JSON en sí es el artefacto que quieres conservar. Todo es local en tu navegador, sin subir nada, sin logs. La conversión sigue RFC 3986 para la sintaxis y RFC 8259 para la salida JSON.
Cómo convertir una URL a JSON
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 de la izquierda. Pulsa Ejemplo para cargar una URL realista de comercio electrónico con codificación porcentual, claves de consulta repetidas y un fragmento. Ejemplo:
https://api.shop.example.com/v1/orders?customer=Ava%20Chen&status=active&total%5Bgte%5D=49.99&page=2#summaryCualquier cosa que el constructor URL acepte funciona — <code>http://</code>, <code>https://</code>, <code>file://</code>, <code>mailto:</code>, hosts IPv6 y userinfo.
Lee la salida JSON
El panel derecho se actualiza mientras escribes. Verás protocol, host, port, pathname, pathSegments (la ruta dividida en un array), searchParams (pares clave-valor decodificados, con arrays para las claves repetidas) y hash. El campo href contiene la forma canónica y normalizada de la URL — útil cuando necesitas comprobar que dos URLs son equivalentes aunque una tuviera un puerto por defecto o una barra final.
Copia, descarga o minifica para tu fixture
Pulsa Copiar para mandar el JSON al portapapeles, Descargar para guardarlo como url.json, o Minificar para compactarlo en una sola línea para un log o un parámetro de consulta. Limpiar en el panel de entrada resetea ambos editores.
Cuándo lo usarías de verdad
Construir fixtures de peticiones HTTP
Cuando tus tests comprueban una URL, hacerlo contra una cadena es frágil — mayúsculas, puertos por defecto, barras finales y orden de parámetros pueden hacerte la puñeta. Convierte la URL a JSON, mete el objeto en tu fixture y comprueba campo a campo. Encaja bien con librerías como Mock Service Worker o Nock, que matchean por la forma de la URL.
Inicializar clientes de API en archivos de configuración
Una configuración YAML o JSON que guarda una URL base como una sola cadena obliga a cada consumidor a parsearla otra vez. Guardarla ya descompuesta (host, port, basePath, defaultParams) hace la configuración autodocumentada y elimina toda una clase de bugs del tipo "¿se nos olvidó la barra final?". Útil para generadores de SDK y herramientas de OpenAPI.
Documentación de callbacks de OAuth y webhooks
Cuando escribes documentación que enseña "tu URL de callback será así", incluir un desglose en JSON junto a la URL cruda es mucho más amable para quien la lee. Estándares como RFC 6749 piden parámetros de consulta concretos; una forma estructurada hace que un "aquí deberías ver state" se vea de un vistazo.
Exportaciones de entornos de Postman / Bruno / HTTPie
La mayoría de clientes de API guardan las URLs descompuestas internamente. Si estás importando URLs viejas a una colección nueva — por ejemplo, migrando desde una página de docs que lista endpoints como cadenas planas — convertirlas a JSON primero te deja scriptear la importación en vez de hacer clic 200 veces a mano.
Preguntas habituales
¿En qué se diferencia esto del Analizador de URL?
Mismo motor, distinto enfoque. Analizador de URL es para inspeccionar — pegas una URL larga, miras las partes, decides qué está mal y cierras la pestaña. URL a JSON es para coger el resultado y usarlo en otro sitio: un archivo de fixture, una configuración, un entorno de Postman. La salida JSON es idéntica; lo que cambia es el texto y los casos de uso, ajustados al flujo de "quiero esto en un archivo".
¿Por qué la salida es JSON en vez de YAML o un literal de objeto JS?
JSON es el mínimo común denominador — todos los lenguajes, todos los sistemas de configuración y todos los frameworks de tests lo leen. Si necesitas YAML, pasa el JSON por nuestra herramienta JSON a YAML. Si necesitas un literal de objeto JS, JSON ya es JS válido — solo pégalo en tu archivo .ts. La conversión sigue RFC 8259, así que la salida vale donde se acepte JSON.
¿Cómo se representan las claves de consulta repetidas?
Las claves repetidas se agrupan en un array. ?tag=red&tag=blue pasa a ser "tag": ["red", "blue"]. Es la misma forma en que Express, FastAPI, ASP.NET, Spring y la mayoría de frameworks parsean query strings — y es lo que devuelve URLSearchParams.getAll().
¿Y los arrays con notación de corchetes como ?items[]=1&items[]=2?
Los corchetes se conservan como parte de la clave — verás "items[]": ["1", "2"] en la salida. Es la representación fiel de los bytes que viajan por la red. Si tu framework (PHP, Rails, qs.js) necesita quitar los corchetes o expandirlos en un objeto anidado, hazlo en un paso de postproceso sobre el JSON.
¿El JSON incluye la contraseña si mi URL tiene user:pass@host?
Sí — los campos username y password aparecerán en la salida si tu URL los lleva. La conversión se ejecuta entera en tu navegador, así que las credenciales nunca salen de tu máquina. Dicho esto, meter credenciales en URLs suele ser mala idea (ver RFC 3986 §3.2.1), y casi seguro querrás quitarlas antes de subir el JSON a un repo.
¿Puedo convertir varias URLs a la vez?
En esta página no — cada sesión convierte una URL. Si tienes cien URLs que procesar, lo más fácil es pegar la estructura de salida de esta página en un script pequeño y hacer un bucle. O usar nuestro Formateador JSON después de scriptear el batch tú mismo. La conversión por lotes como funcionalidad de la UI está en el roadmap, pero todavía no está disponible.
Otras herramientas de URL y JSON
Convertir es solo una operación. Esto es lo que combina bien con ella: