Conçu sur une IA avancée exécutée sur votre appareil et l'accélération matérielle, pour des performances professionnelles sans compromis sur la confidentialité.IA sur votre appareil : performant et privé.
Compresseur minificateur JSON
Compressez JSON en une sortie compacte sur une ligne, mesurez la réduction de taille, et corrigez vite les erreurs de syntaxe avec le parser.
- Sans perte, octet pour octet
- Gain brut et gzip
- Rien n'est envoyé
Déposez un fichier JSON ici
.json .jsonc .ndjson .jsonl .geojson .har .map .webmanifest .txt · jusqu'à 25.0 MB · un fichier à la fois
Sortie minifiée
Rien de minifié pour l'instant.
Strict suit la spécification JSON. Souple accepte en plus les commentaires et une virgule finale, et les supprime.
Pour les fichiers .ndjson et .jsonl. Chaque ligne est minifiée séparément et la structure en lignes est conservée.
Écrit directement les caractères échappés lorsque c'est sûr. Même sens, moins d'octets — gain maximal sur le texte CJK et les emojis.
La taille compressée est celle qui atteint le réseau. Désactivez pour éviter deux passes de compression sur les très gros fichiers.
Gratuit : jusqu'à 25.0 MB par fichier, 1 fichier à la fois. Tous les modes et options inclus.
Comment minifier du JSON
- 1
Collez ou importez du JSON
Collez votre JSON dans la zone de texte ou glissez un fichier sur la zone de dépôt. Le JSON formaté comme le JSON déjà minifié fonctionnent, ainsi que les fichiers .jsonc, .ndjson, .geojson, .har, .map et .webmanifest.
- 2
Choisissez un dialecte si nécessaire
Le JSON strict est le mode par défaut. Passez en Souple pour les fichiers avec commentaires ou virgules finales, et cochez JSON Lines pour les fichiers contenant un document par ligne. Si la passe stricte échoue, l'outil teste les autres modes et vous propose celui qui fonctionne vraiment.
- 3
Minifiez
Appuyez sur Minifier. Le fichier est analysé hors du fil principal : la page reste réactive et vous pouvez annuler. Vous voyez la taille avant, la taille après, le pourcentage gagné et — parce que c'est le chiffre qui atteint le réseau — la taille gzip avant et après.
- 4
Téléchargez ou copiez
Téléchargez le résultat sous le nom fichier.min.json, ou copiez-le dans le presse-papiers. Avec plusieurs fichiers minifiés, un bouton les rassemble tous dans une seule archive ZIP.
Ce que propose ce minificateur JSON
Ce minificateur JSON gratuit supprime les espaces entre les jetons pour réduire votre JSON à une seule ligne compacte, et il le fait sans toucher à vos données. Collez ou déposez un fichier, appuyez sur Minifier, et vous obtenez la taille avant, la taille après, le pourcentage gagné et la taille gzip des deux côtés — ce dernier chiffre étant celui qui atteint réellement le réseau. Une entrée invalide reçoit une ligne, une colonne et un curseur sous le caractère fautif, plus le mode qui aurait fonctionné si le fichier est en réalité du JSONC ou du JSON Lines. Tout s'exécute sur votre appareil ; rien n'est envoyé.
- Sortie sans perte — Les grands nombres, les zéros finaux, l'ordre des clés et les clés répétées survivent, parce qu'aucune valeur n'est jamais construite. Seuls les espaces entre jetons sont retirés.
- Deux histoires de taille — Octets bruts gagnés et octets gzip gagnés, côte à côte. La minification gagne souvent 45 % en brut et 4 % une fois compressé, et il vaut mieux savoir lequel vous achetez.
- Des erreurs exploitables — Ligne, colonne, la ligne fautive avec un curseur, et une description de ce qui était attendu — pas un message de parser contenant un décalage de caractères.
- Les dialectes que les gens ont vraiment — JSON strict, JSONC avec commentaires et virgules finales, et JSON Lines avec un document par ligne. L'outil les teste pour vous quand la passe stricte échoue.
- Coller ou fichiers — Saisissez ou collez dans la zone, ou déposez des fichiers .json, .jsonc, .ndjson, .jsonl, .geojson, .har, .map, .webmanifest et .txt. UTF-8 et UTF-16 sont lus, avec ou sans marque d'ordre des octets.
- Lots en Pro — Jusqu'à 20 fichiers en une passe, chacun nommé fichier.min.json, rassemblés dans une seule archive ZIP.
Minification sans perte, et pourquoi la plupart ne le sont pas
Presque tous les minificateurs JSON — y compris celui qui se trouvait sur cette page — fonctionnent en analysant votre document en valeurs puis en les réimprimant. C'est un ré-sérialiseur, pas un minificateur, et cela modifie vos données de sept façons qui paraissent toutes parfaites dans la sortie. Le tableau ci-dessous est mesuré, pas hypothétique : c'est ce que produisait l'ancienne implémentation de cette page.
| Vous avez écrit | Un minificateur ré-sérialiseur renvoie | Ce qui a été perdu |
|---|---|---|
| {"id": 9123372036854000123} | {"id":9123372036854000000} | Les chiffres au-delà de la limite des flottants sur 53 bits sont arrondis. C'est le cas qui casse les identifiants de base de données et les identifiants de type snowflake. |
| {"v": 1e400} | {"v":null} | Un nombre trop grand pour un double devient Infinity, et Infinity n'a pas de représentation JSON : il est donc écrit null. La valeur est détruite. |
| {"v": 123456789012345678901234567890} | {"v":1.2345678901234568e+29} | Un entier de trente chiffres revient sous forme de dix-sept chiffres significatifs en notation exponentielle. |
| {"v": 1.50} | {"v":1.5} | Un zéro final est significatif dans un prix, un numéro de version ou une mesure à précision fixe. |
| {"2":"b","1":"a"} | {"1":"a","2":"b"} | Le modèle objet de JavaScript lui-même déplace en tête, dans l'ordre numérique, les clés qui ressemblent à des indices de tableau. |
| {"a":1,"a":2} | {"a":2} | Les clés répétées sont du JSON valide et sont silencieusement réduites à la dernière. |
| {"v":-0} | {"v":0} | Le zéro négatif perd son signe. |
Cet outil prend l'autre chemin. Il parcourt les octets de votre fichier et recopie chaque jeton — chaque chaîne, chaque littéral numérique, chaque true, false et null — jusqu'à la sortie sans y toucher, n'émettant que la ponctuation structurelle entre eux. Un nombre n'est jamais interprété, il ne peut donc pas être réécrit. Un membre n'est jamais stocké dans un objet, il ne peut donc pas être réordonné ni dédupliqué. Une séquence d'échappement n'est jamais décodée, elle ne peut donc pas changer de forme. Les seuls octets qui disparaissent sont les espaces entre jetons, ce qui est la définition même du mot minifier.
Ce qui est supprimé et ce qui est conservé
JSON possède exactement quatre caractères d'espacement — espace, tabulation, retour chariot et saut de ligne — et ils ne sont insignifiants que lorsqu'ils se trouvent entre des jetons. À l'intérieur d'une chaîne, ce sont des données.
- Supprimé — L'indentation, le saut de ligne après chaque virgule, l'espace après un deux-points, et toute ligne vide autour du document. En mode souple, les commentaires et une virgule finale disparaissent aussi.
- Conservé exactement — Chaque caractère à l'intérieur d'une chaîne, y compris les espaces de "Jean Dupont" et toute séquence d'échappement écrite là. Chaque chiffre de chaque nombre. L'ordre de chaque membre. Chaque clé répétée.
- Jamais ajouté — Aucune clé n'est réécrite avec d'autres guillemets, aucun nombre n'est reformaté, aucune séquence d'échappement n'est introduite. Si votre fichier était déjà minifié, la sortie est identique octet pour octet à l'entrée et l'outil annonce 0 % de réduction plutôt que de prétendre le contraire.
Le gain brut et le gain gzip sont deux chiffres différents
Un minificateur qui ne vous montre que le gain brut vous montre le chiffre flatteur. L'indentation est le contenu le plus compressible qui soit — de longues suites d'espaces identiques — si bien que gzip et brotli en ont déjà éliminé presque tout avant que vos octets n'atteignent le réseau. Cela ne rend pas la minification inutile ; cela fait de la mesure compressée la mesure honnête.
- Là où minifier rapporte beaucoup — Tout ce qui n'est pas servi par un transport qui compresse : un fichier de configuration lu sur disque, un payload intégré dans un bundle, un document stocké dans une colonne de base de données, un corps de requête envoyé par un appareil qui ne compresse pas.
- Là où cela rapporte peu — Une réponse HTTP compressée en gzip ou brotli. Attendez-vous à quelques pour cent en plus de ce que la compression a déjà fait, ce qui reste souvent utile mais n'est pas les 45 % promis par le chiffre brut.
- Là où cela rapporte en temps d'analyse — Moins de texte non compressé, c'est moins de travail pour le parser, sur chaque client et à chaque requête — un coût qui ne disparaît pas parce que les octets se compressent bien.
- Comment lire les deux lignes — La carte sous chaque fichier affiche la taille brute avant, après et le pourcentage, puis les trois mêmes chiffres pour les tailles gzip. Si la seconde ligne bouge à peine, la minification n'est pas le levier qu'il vous faut pour ce fichier.
JSON strict, JSONC et les fichiers que les gens ont vraiment
La spécification JSON n'a ni commentaires ni virgules finales. Les fichiers sur votre disque en ont très souvent, parce que le format a débordé sa spécification dès que les outils s'en sont servis pour la configuration. Le mode strict est le mode par défaut ici parce qu'une réponse stricte est celle qui sert quand vous vérifiez qu'un payload est valide ; le mode souple existe parce que refuser tsconfig.json n'est pas une position de principe, juste un manque d'aide.
- Strict — RFC 8259 exactement. Pas de commentaires, pas de virgules finales, pas de clés sans guillemets, pas d'apostrophes, pas de plus initial, pas de .5 ni 5., pas de zéros initiaux, pas de caractère de contrôle brut dans une chaîne, ni Infinity ni NaN.
- Souple — Ajoute les commentaires de ligne //, les commentaires de bloc /* */ et une virgule finale avant une accolade ou un crochet fermant. Les deux sont retirés de la sortie : le mode souple transforme donc un fichier JSONC en JSON strict comme effet de bord.
- Ce n'est pas JSON5 — Le mode souple, c'est JSONC, pas JSON5. Les clés sans guillemets, les chaînes entre apostrophes, les littéraux hexadécimaux, Infinity et NaN restent refusés, et .json5 est délibérément absent de la liste des fichiers acceptés plutôt que d'être à moitié pris en charge.
- Vérifié, pas deviné — L'outil ne change jamais de dialecte en silence. Si la passe stricte échoue, il essaie les autres en arrière-plan et vous propose sous forme de bouton celui qui a réussi — une suggestion est donc toujours quelque chose dont on a prouvé que cela fonctionne sur votre fichier, pas une supposition tirée du code d'erreur.
JSON Lines et NDJSON
Un fichier JSON Lines n'est pas un document JSON : c'en est plusieurs, un par ligne, et c'est pourquoi un parser normal s'arrête à la fin du premier et se plaint de contenu excédentaire. Activez JSON Lines et chaque ligne est minifiée comme son propre document, la structure en lignes étant conservée : le résultat reste donc un fichier JSON Lines.
- Pourquoi découper aux sauts de ligne est exact ici — Un saut de ligne brut à l'intérieur d'une chaîne JSON est un caractère de contrôle, que la spécification interdit. Aucun enregistrement ne peut en contenir : un saut de ligne est donc toujours une fin d'enregistrement. C'est une garantie, pas une heuristique.
- Lignes vides — Supprimées. Elles ne portent aucun enregistrement, et les conserver dans un minificateur reviendrait à préserver exactement les octets que l'outil existe pour retirer.
- Les erreurs pointent vers le fichier — Un échec dans le quatre-millième enregistrement est signalé avec le numéro de ligne dans le fichier entier, pas un décalage à l'intérieur de cet enregistrement, ainsi que le numéro de l'enregistrement.
- L'extension suit — Une passe JSON Lines se télécharge en .min.ndjson, jamais en .min.json, parce qu'un document par ligne n'est pas une valeur JSON unique et que l'appeler .json vous donnerait un fichier qu'aucun parser n'accepte.
Séquences Unicode et la façon optionnelle de les raccourcir
Beaucoup de générateurs JSON échappent par précaution chaque caractère non ASCII, si bien que "你好" arrive sous la forme "\u4f60\u597d" — douze octets là où six suffiraient. Comme les deux formes signifient exactement la même chaîne pour tout parser, les convertir est un gain sûr, mais cela change les octets : l'option est donc désactivée par défaut et clairement étiquetée.
- Ce qu'elle convertit — Toute séquence \uXXXX dont le caractère peut s'écrire directement : six octets deviennent un, deux ou trois, et une paire de substitution de douze octets pour un emoji devient quatre.
- Ce qu'elle refuse — \u0022 et \u005c, parce qu'un guillemet ou une barre oblique inverse bruts termineraient ou relanceraient le jeton. Tout ce qui est en dessous de \u0020, parce qu'un caractère de contrôle brut dans une chaîne est du JSON invalide. Et un substitut isolé, qui n'a aucune forme UTF-8.
- Les substituts isolés passent tels quels — Un échappement de substitut isolé — \u suivi d'un code de D800 à DFFF, sans paire — est accepté et recopié sans changement, exactement comme le parser du navigateur l'accepte. Ce sont six caractères ASCII dans la source et les six mêmes dans la sortie : rien n'est perdu à le laisser tranquille.
- Désactivé par défaut — Parce que sans cette option la sortie est identique octet pour octet à l'entrée, jeton par jeton, et cette garantie vaut plus que les octets pour la plupart des gens.
Lire une erreur de parser
Une erreur d'analyse n'est utile que si elle vous dit où placer le curseur. « Unexpected token } in JSON at position 4172 » ne vous donne ni la ligne ni la colonne, et aucun éditeur ne vous montre la position 4172. Chaque échec est ici signalé avec les trois éléments qui permettent de le corriger.
- Ligne et colonne — La colonne compte des caractères, pas des octets : le nombre correspond donc à ce que montre votre éditeur, même sur une ligne contenant des emojis ou du texte CJK.
- La ligne, avec un curseur — La ligne fautive est affichée, rognée si elle est très longue, avec un curseur sous le caractère exact. Les lignes longues défilent à l'intérieur de la carte au lieu d'étirer la page.
- Ce qui était attendu — Des messages distincts pour une virgule finale, un commentaire en mode strict, un zéro initial, un guillemet isolé, une chaîne non fermée, un caractère de contrôle brut, une séquence d'échappement invalide, un chiffre hexadécimal incorrect, de l'UTF-8 invalide et un document qui se termine trop tôt.
- Une virgule finale est nommée comme telle — C'est de loin l'erreur la plus fréquente dans du JSON écrit à la main, et la différence entre « } inattendu » et « retirez la virgule avant } » représente l'essentiel de la valeur d'un message d'erreur.
Quels fichiers cet outil ouvre
La liste acceptée est fermée et elle est appliquée dès la boîte de dialogue de fichiers : vous ne choisirez jamais un fichier pour voir qu'il ne se passe rien. Tout ce qui figure sur la liste est du JSON ; tout ce qui n'y est pas et que nous pouvons traiter est un lien vers l'outil concerné.
- Acceptés — .json, .jsonc, .ndjson, .jsonl, .geojson, .har, .map, .webmanifest et .txt. Une source map, un export réseau du navigateur, une collection d'entités GeoJSON et un manifeste d'application web sont tous des documents JSON, et aucun ne pouvait être sélectionné auparavant.
- Encodages — UTF-8 est attendu. Une marque d'ordre des octets UTF-8 est retirée au lieu d'être signalée comme une erreur de syntaxe au caractère 0, et les fichiers UTF-16 sont convertis, avec ou sans marque. L'UTF-8 invalide est signalé avec sa position au lieu d'être recopié dans la sortie.
- Redirigés, pas refusés — Un CSV va vers CSV vers JSON, un XML vers XML vers JSON, un YAML vers YAML vers JSON, un tableur vers Excel vers JSON. Chacun est un outil gratuit de ce site et le lien y mène directement.
- Non acceptés — .js et .json5. Un fichier JavaScript est un programme, pas un document, et JSON5 exige une syntaxe que ce moteur n'implémente pas : lister l'un ou l'autre promettrait quelque chose que l'outil ne sait pas faire.
Minifier plusieurs fichiers à la fois
La version gratuite minifie un fichier à la fois, jusqu'à 25 Mo, avec tous les modes et toutes les options. Pro ajoute les lots : jusqu'à 20 fichiers en file, chacun avec ses propres chiffres avant et après, et un bouton qui rassemble les résultats dans une seule archive ZIP.
- Une archive, pas vingt téléchargements — Un lot de vingt fichiers sans archive unique, c'est vingt boîtes de dialogue d'enregistrement, ce qui n'est pas une fonctionnalité que quiconque paierait.
- Les noms survivent — Chaque résultat porte le nom de sa source — api-response.json devient api-response.min.json — au lieu de vingt fichiers tous appelés minified.json. Deux entrées portant le même nom reçoivent un suffixe pour qu'aucune ne soit perdue dans l'archive.
- Compressée, parce que c'est du texte — L'archive compresse ses entrées. Le JSON minifié est du texte et se compresse à environ un cinquième, ce qui compte pour quelqu'un venu précisément pour réduire la taille.
- La limite de taille — 25 Mo par fichier en gratuit. En Pro, le plafond correspond à ce que votre appareil peut réellement gérer, mesuré à partir de l'appareil plutôt que relevé à un autre chiffre fixe.
Pourquoi minifier du JSON ?
Le JSON minifié consomme moins de bande passante et moins de temps d'analyse dans les APIs, les configurations et les bundles front-end. Supprimer les espaces ne change pas les données — seulement la représentation — c'est donc sûr en production, à condition que l'outil qui le fait ne supprime réellement que des espaces. Cet outil vous donne la comparaison brute et la comparaison compressée pour que vous voyiez ce que vous gagnez vraiment. Si votre JSON est déjà minifié, vous ne verrez aucune réduction ; la sortie reste valide et prête à copier ou télécharger.
- Des payloads plus petits — Moins de données sur le réseau pour les APIs et les clients mobiles, et moins de texte à parcourir pour le parser de chaque client.
- La même sémantique, et ici les mêmes octets — Les valeurs analysées sont identiques, et comme aucune valeur n'est reconstruite, les jetons eux-mêmes le sont aussi.
- Configurations et bundles — Les fichiers lus sur disque ou intégrés dans un bundle ne sont généralement pas servis par un transport qui compresse, et c'est là que minifier rapporte le plus.
- Rien n'est envoyé — Toute l'analyse se fait sur votre appareil, pas sur nos serveurs, même pour un payload d'API privé ou un fichier HAR contenant des identifiants.
Comment fonctionne le minificateur
Le moteur est un analyseur lexical avec validation qui émet des plages. Il parcourt les octets du fichier une seule fois et, chaque fois qu'il reconnaît un jeton complet, il recopie les octets de ce jeton dans un tampon de sortie alloué à la taille de l'entrée — la sortie d'un minificateur ne peut jamais être plus longue que son entrée, si bien que le tampon n'est jamais agrandi.
- Hors du fil principal — L'analyse s'exécute dans un worker : un fichier de 25 Mo ne fige pas la page, la progression est un vrai décompte d'octets plutôt qu'une animation, et Annuler arrête le travail immédiatement.
- Une passe, pas d'arbre de valeurs — Comme aucun objet ni tableau n'est construit, la mémoire reste à environ un cinquième de la taille du fichier au lieu du double, et les grands nombres conservent tous leurs chiffres.
- Des plages, pas des caractères — Les suites de texte ordinaire sont recopiées en une seule opération plutôt que caractère par caractère, ce qui fait la différence entre environ 200 Mo par seconde et environ 77.
- Le même code dans les deux cas — Si un worker ne peut pas démarrer, les mêmes fonctions s'exécutent sur le fil principal. C'est une seule implémentation avec deux endroits où l'exécuter : le chemin de repli ne peut donc pas produire d'octets différents.
L'analyseur lit environ 200 Mo de JSON par seconde et ne garde en mémoire qu'environ un cinquième du fichier pendant le travail, parce qu'il recopie des plages de jetons au lieu de construire un arbre de valeurs.
Questions fréquentes
Comment fonctionne la minification JSON ?
Le minificateur lit votre JSON jeton par jeton et recopie chaque jeton tel quel, en ne supprimant que les espaces entre les jetons. Les espaces, tabulations, sauts de ligne et l'indentation situés entre une clé et sa valeur ou entre les éléments d'un tableau sont retirés ; tout ce qui se trouve à l'intérieur d'une chaîne est laissé intact, car c'est de la donnée et non de la mise en forme. L'outil indique la taille d'entrée, la taille de sortie et le pourcentage gagné.
Mes données JSON sont-elles en sécurité ?
Oui. Chaque espace, saut de ligne et indentation est supprimé tandis que les données elles-mêmes restent équivalentes octet pour octet. Rien ne quitte votre appareil : vous pouvez minifier en toute sécurité des payloads d'API privés, des fichiers de configuration ou des données sensibles sans aucune requête réseau. L'outil fonctionne aussi hors ligne une fois la page chargée.
La minification modifie-t-elle mes données ?
Non. Seuls les espaces et sauts de ligne insignifiants sont retirés — les clés, les valeurs, l'imbrication et les types analysés restent équivalents octet pour octet. Un parser lisant la sortie minifiée produit exactement le même objet que l'original. Les espaces à l'intérieur des chaînes sont conservés parce qu'ils sont des données significatives, pas de la mise en forme.
Un identifiant numérique long survit-il à la minification ?
Oui, exactement tel que vous l'avez écrit. La plupart des minificateurs en ligne analysent votre JSON en valeurs JavaScript puis les réimpriment, ce qui arrondit tout entier supérieur à 9 007 199 254 740 991 : un identifiant comme 9123372036854000123 revient sous la forme 9123372036854000000, et 1e400 revient sous la forme null. Cet outil ne transforme jamais un nombre en valeur ; il recopie les chiffres que vous avez écrits, donc 1.50 reste 1.50 et un nombre à trente chiffres conserve ses trente chiffres.
L'ordre des clés et les clés répétées sont-ils préservés ?
Les deux. Repasser par un objet JavaScript supprime silencieusement toutes les clés répétées sauf la dernière et déplace en tête, dans l'ordre numérique, les clés qui ressemblent à des indices de tableau : {"2":"b","1":"a"} revient réordonné. Comme ce minificateur ne construit jamais d'objet, vos membres restent dans l'ordre où vous les avez écrits et les clés répétées sont toujours là.
De combien mon JSON va-t-il rétrécir ?
Cela dépend de la quantité d'espaces dans la source. Du JSON indenté perd souvent 20 à 60 %, et l'outil affiche la taille exacte d'entrée, la taille de sortie en octets ou en Ko et le pourcentage gagné. Si l'entrée est déjà minifiée, vous verrez 0 % de réduction car il ne reste plus d'espaces à retirer.
Pourquoi le gain gzip paraît-il beaucoup plus faible ?
Parce que gzip est déjà très efficace sur les espaces répétés. L'indentation se compresse presque à néant : un fichier qui perd 45 % de ses octets bruts à la minification n'en perd souvent que quelques pour cent une fois compressé — et c'est la taille compressée qui traverse réellement le réseau. L'outil affiche les deux chiffres pour que vous décidiez si la minification en vaut la peine dans votre cas, au lieu de ne vous montrer que le chiffre flatteur.
Que se passe-t-il si mon JSON est invalide ?
Vous obtenez la ligne et la colonne, la ligne fautive avec un curseur sous le caractère exact, et une description simple de ce qui était attendu à cet endroit. Si le fichier est valide dans un autre dialecte, l'outil les essaie pour vous et propose celui qui fonctionne : un fichier avec commentaires ou virgule finale proposera Souple, et un journal contenant un objet par ligne proposera JSON Lines. Des liens vers le Formateur et le Validateur JSON sont là pour tout ce qui demande une vraie modification.
Gère-t-il les fichiers avec commentaires, ou un objet par ligne ?
Oui. Le mode souple accepte les commentaires // et /* */ ainsi qu'une virgule finale avant une accolade ou un crochet fermant, ce qui couvre tsconfig.json, les réglages de VS Code et la plupart des configurations écrites à la main ; les commentaires sont supprimés dans le cadre de la minification. Le mode JSON Lines traite chaque ligne comme son propre document et conserve la structure en lignes, ce dont ont besoin les exports de journaux et les jeux de données d'apprentissage automatique.
Est-ce gratuit, et cela fonctionne-t-il sur mobile ?
Oui. Tous les modes, toutes les options et le rapport d'erreurs sont gratuits pour des fichiers jusqu'à 25 Mo. Pro ajoute la minification par lots — jusqu'à 20 fichiers à la fois, livrés en une seule archive ZIP — et lève la limite de taille jusqu'à ce que votre appareil peut gérer. L'outil fonctionne sur navigateurs de bureau et mobiles et continue de fonctionner hors ligne après le chargement de la page.
sur 95 notes
Notez cet outil
Touchez une étoile — c’est rapide