Qué hace esta herramienta
Un objeto JSON plano pasa a ser la parte de la URL que sigue al ?.
{ "q": "café au lait", "page": 2 }
q=caf%C3%A9+au+lait&page=2
El ? no va incluido: normalmente pegas esto detrás de uno que ya tienes.
Los arrays pasan a claves repetidas
{ "tag": ["news", "draft"] }
tag=news&tag=draft
Ninguna norma dice cómo cabe un array en una query string: tag[]=, tag[0]=, una lista separada por comas y las claves repetidas se usan todas en algún sitio. Las claves repetidas son lo que URLSearchParams y la mayoría de los marcos de servidor releen sin configurar nada, y lo que la herramienta inversa de este sitio devuelve como array.
El anidamiento detiene la conversión
{ "filter": { "status": "open" } }
se rechaza, y el mensaje nombra filter. Aplanarlo a filter.status=open o filter[status]=open sería inventar una convención; el receptor tiene que aceptarla, y nada en el JSON dice cuál espera.
Los tipos no sobreviven, y el null menos que ninguno
Todo, en una query string, es texto. 2 y "2" salen idénticos, true sale en cuatro letras, y todos vuelven como cadenas.
null pasa a valor vacío:
{ "ref": null }
ref=
que se relee como "", no como null. La clave se conserva y su vacío también, pero la distinción entre nada y texto vacío ha desaparecido: una query string no tiene manera de escribirla. Se dice aquí porque es el tipo de pérdida que, si no, se descubre en producción.
Privado por diseño
Todo se ejecuta localmente en tu navegador con JavaScript. Tus datos nunca se suben a un servidor, lo que hace que la herramienta sea segura para contenido sensible y funcione sin conexión.