Ce que fait cet outil
Un objet JSON plat devient la partie d’URL qui suit le ?.
{ "q": "café au lait", "page": 2 }
q=caf%C3%A9+au+lait&page=2
Le ? lui-même n’est pas inclus : vous collez généralement ceci derrière un ? que vous avez déjà.
Les tableaux deviennent des clés répétées
{ "tag": ["news", "draft"] }
tag=news&tag=draft
Aucune norme ne dit comment un tableau se loge dans une query string : tag[]=, tag[0]=, une liste séparée par des virgules et les clés répétées sont toutes en usage quelque part. Les clés répétées sont ce que URLSearchParams et la plupart des cadres serveur relisent sans configuration, et ce que l’outil inverse de ce site rend sous forme de tableau.
L’imbrication arrête la conversion
{ "filter": { "status": "open" } }
est refusé, et le message nomme filter. L’aplatir en filter.status=open ou filter[status]=open reviendrait à inventer une convention ; le destinataire doit y consentir, et rien dans le JSON ne dit laquelle il attend.
Les types ne survivent pas, et le null moins que tout
Tout, dans une query string, est du texte. 2 et "2" partent identiques, true part en quatre lettres, et tous reviennent en chaînes.
null devient une valeur vide :
{ "ref": null }
ref=
qui se relit en "", pas en null. La clé est conservée, sa vacuité aussi, mais la distinction entre rien et texte vide a disparu — une query string n’a aucun moyen de l’écrire. C’est dit ici parce que c’est le genre de perte qu’on découvre autrement en production.
Confidentiel par conception
Tout s’exécute localement dans votre navigateur en JavaScript. Vos données ne sont jamais envoyées sur un serveur, ce qui rend l’outil sûr pour des contenus sensibles, et il fonctionne hors ligne.