§

Collez du JSON

§

Sortie minifiée

text
§

Économisé %

  • Taille d'origine
  • Taille minifiée
  • Économisé
  • Économisé %

Minifier le JSON a un impact concret dans l'écosystème français : BNP Paribas et Crédit Agricole signent des charges utiles JWS conformes à la DSP2 dont chaque kilo-octet pèse sur les SLA des agrégateurs ; OVHcloud facture l'egress de son CDN à la consommation, ce qui pousse les éditeurs à raboter les réponses des passerelles BlaBlaCar et Doctolib avant la mise en cache. Le portail data.gouv.fr distribue des exports JSON volumineux téléchargés sur des liaisons régionales hétérogènes, et le guide d'hygiène informatique de l'ANSSI recommande explicitement de limiter la taille des réponses pour réduire la surface d'attaque côté périmètre.

Qu'est-ce que la minification JSON ?

JSON (JavaScript Object Notation) est un format léger d'échange de données fondé sur le texte, défini par la RFC 8259 et ECMA-404. La minification supprime chaque espace, tabulation et saut de ligne qui se trouve en dehors d'un littéral de chaîne — les valeurs sont conservées octet pour octet, seul l'espace blanc cosmétique est retiré. La sortie s'analyse exactement à la même valeur que l'entrée.

Comment fonctionne la minification JSON ?

Votre saisie est traitée entièrement dans votre navigateur à l'aide des fonctions intégrées JSON.parse et JSON.stringify. Les étapes principales sont :

  1. Votre saisie est lue depuis la zone de texte telle quelle — chaque octet collé est conservé en mémoire localement.
  2. Le navigateur l'analyse avec JSON.parse. Si l'entrée n'est pas du JSON valide, l'analyseur lève une SyntaxError qui est interceptée et affichée telle quelle — votre texte ne quitte jamais la page.
  3. Lorsque l'analyse réussit, la valeur analysée est ré-émise avec JSON.stringify(value) — sans argument d'indentation — produisant la forme valide la plus courte de la même valeur.
  4. La longueur en octets du texte original et du texte minifié est calculée avec new TextEncoder().encode(...).byteLength — exactement le même nombre d'octets UTF-8 qu'un serveur HTTP verrait sur le réseau.
  5. La sortie est écrite dans la zone de texte en lecture seule, la bande de métriques indique les différences en octets avec un pourcentage économisé, et le bouton Télécharger emballe le résultat sous forme de fichier .min.json que vous pouvez expédier.

Pourquoi minifier du JSON avec cet outil ?

  • Confidentialité : chaque analyse, minification et calcul de métrique se passe dans votre navigateur. Le JSON n'atteint jamais nos serveurs — pas d'envoi, pas de télémétrie, pas de compte.
  • Chiffres réels en octets : taille d'origine, taille minifiée et économies sont calculées avec TextEncoder, vous voyez donc les différences exactes en octets UTF-8 qu'un CDN ou un API gateway vous facturera.
  • Aucune perte de données : la minification est purement cosmétique — chaque valeur s'analyse vers le même arbre JSON, c'est donc sûr pour des charges utiles de production, des manifestes et des fixtures embarquées.
  • Rapide : JSON.parse + JSON.stringify natifs traitent instantanément les charges utiles habituelles du presse-papiers, sans aucune bibliothèque externe à charger.

Quelles sont les applications courantes de la minification JSON ?

Supprimer l'espace blanc insignifiant du JSON se retrouve dans le développement web, l'ingénierie de données et les systèmes embarqués :

  • Réduction des charges utiles d'API : rétrécir les corps de requête et de réponse avant qu'ils ne traversent une passerelle d'API facturée, un lien d'egress payant ou une liaison satellite.
  • Intégration dans HTML : insérer un blob JSON dans un attribut data-* ou une balise <script type="application/json"> sans laisser fuiter l'espace blanc du pretty-printer dans la page rendue.
  • localStorage plus léger : réduire l'usage du quota localStorage / IndexedDB en écrivant du JSON minifié plutôt que du JSON joliment formaté, particulièrement précieux sur les navigateurs mobiles avec des limites de stockage strictes par origine.

À quoi ressemble un exemple de minification JSON ?

Coller un fichier de configuration joliment formaté de 1,2 Ko (environ 1 225 octets avec une indentation de deux espaces) et appuyer sur Minifier le ramène généralement sous 0,4 Ko — soit 66 % d'économie — chaque clé et chaque valeur étant préservée exactement. Le fichier téléchargeable output.min.json est octet pour octet identique à ce qu'un serveur HTTP émettrait avec Content-Type: application/json et sans aucun middleware de formatage.

Cela s'exécute-t-il dans mon navigateur ?

Oui. La chaîne de minification est JSON.parse + JSON.stringify purs exécutés à l'intérieur de l'onglet du navigateur. Rien n'est envoyé, aucun service worker ne fait office de proxy pour votre saisie et la page ne lance aucune requête réseau pour l'étape de minification elle-même. Le seul trafic sortant correspond aux ressources standard de chargement de page (CSS, polices, analytique) — votre JSON n'atteint jamais Ultim8Soft.

Pourquoi minifier du JSON ?

Le JSON minifié s'analyse exactement à la même valeur que la source formatée mais est plus petit sur le réseau et en stockage. Des charges utiles plus petites signifient une facture d'egress CDN moindre, des téléchargements mobiles plus rapides, moins de pression mémoire dans les service workers et un meilleur ajustement dans des enveloppes de taille fixe comme les charges utiles JWT, les attributs data-* embarqués dans HTML et les quotas de localStorage. Pour les APIs à fort volume, les économies en octets s'accumulent — une réduction de 30 % sur un point de terminaison à 1 Go/jour économise environ 9 Go par mois.

La minification perd-elle des données ?

Non. La minification JSON ne supprime que l'espace blanc qui se trouve hors des littéraux de chaîne — espaces, tabulations et sauts de ligne que la spécification classe déjà comme insignifiants. Chaque clé, valeur, nombre, séquence d'échappement et caractère de chaîne est préservé octet pour octet. La sortie s'analyse vers une valeur deepEqual à l'entrée. L'indentation cosmétique est la seule chose qui disparaît.

Quelle est la différence entre le formateur et le minificateur ?

Le Formateur JSON compagnon fait l'inverse : il ajoute des espaces afin que les humains puissent lire des structures imbriquées. Le Minificateur retire ces espaces pour le transport et le stockage. Les deux outils sont inverses — faire passer un document JSON par Formateur → Minificateur produit la même chaîne d'octets avec laquelle vous avez commencé le minificateur, car les deux opèrent sur la valeur analysée, pas sur le balisage cosmétique.

Ce minificateur JSON utilise le même analyseur que celui de votre runtime Node.js, Deno ou navigateur et produit une sortie octet pour octet identique à ce qu'un serveur HTTP sans fioritures émettrait. Collez n'importe quel JSON ci-dessus, copiez la sortie ou téléchargez-la sous forme de .min.json.