IA sur votre appareil : performant et privé.

Escape Unescape de Chaines JSON

Transformez du texte en littéral JSON, ou décodez-en un.

  • Rien n'est envoyé
  • Couches imbriquées retirées
  • Aller-retour exact
  • Erreurs avec ligne et colonne

Déposez un fichier texte ici

.json · .txt · .log · .ndjson · .jsonl et plus · jusqu'à 10.0 MB en gratuit

Sens
Essayez un exemple :
Réglages

Les quatre produisent du JSON valide. Activez-en une quand la destination du littéral s'en soucie.

Sortie
Pro

Gratuit : 1 fichier jusqu'à 10.0 MB. Pro : 1 fichiers, selon votre appareil.

Ce que fait cet outil d'échappement et de déséchappement JSON

Échapper transforme n'importe quel texte en chaîne JSON valide : entre guillemets doubles, avec guillemets, sauts de ligne, tabulations, antislashs et caractères de contrôle échappés. Déséchapper fait l'inverse : collez une chaîne JSON et récupérez le texte brut. Collez-le, choisissez un fichier ou déposez-en un. Si Déséchapper ne peut pas lire l'entrée, l'outil nomme la règle enfreinte et vous montre où.

  • Échapper — Entoure votre texte de guillemets doubles et échappe guillemets, sauts de ligne, tabulations, antislashs et caractères de contrôle, pour que le résultat soit un littéral JSON valide accepté par tout analyseur.
  • Déséchapper — Analyse une chaîne JSON telle que "a\nb" et rend la chaîne d'origine. Un corps nu sans guillemets fonctionne aussi — c'est ce que l'on obtient en copiant une valeur depuis un fichier JSON.
  • Coller, importer ou déposer — Collez depuis le presse-papiers, utilisez le sélecteur de fichiers ou faites glisser un fichier. Les fichiers UTF-8 et UTF-16 sont reconnus à leur marque d'ordre des octets, si bien qu'un fichier exporté depuis PowerShell se lit correctement au lieu d'arriver illisible.
  • Permuter et recommencer — Permuter renvoie le résultat en entrée et inverse le sens : un aller-retour tient en une pression. Recommencer vide la liste, le résultat et le sélecteur de fichiers d'un coup.

Échapper ou déséchapper : lequel vous faut-il

Quand vous insérez du texte multiligne ou une saisie utilisateur dans du JSON ou du code source, il faut l'échapper correctement, sinon un guillemet ou un saut de ligne casse la syntaxe autour. Échapper vous donne le littéral exact à coller. Quand vous avez déjà une chaîne échappée — réponse d'API, agrégateur de journaux, fichier de configuration — et que vous voulez lire le vrai texte, Déséchapper l'inverse. Les deux sens sont instantanés et continuent de fonctionner sans connexion une fois la page chargée.

  • Écrire une configuration ou une fixture — Vous avez un certificat, une requête SQL ou un gabarit sur plusieurs lignes à mettre dans une seule valeur JSON. Échappez-le et les sauts de ligne deviennent \n au lieu de casser le fichier.
  • Lire une ligne de journal — La journalisation structurée sérialise le message, et souvent l'événement entier une deuxième fois. Déséchappez-le et la trace redevient des lignes lisibles au lieu d'une rangée de \n et de \".
  • Déboguer une réponse d'API — Un champ qui arrive comme une chaîne contenant du JSON est une charge doublement encodée. Déséchappez-la une fois pour obtenir le document intérieur, puis envoyez-le au Formateur JSON.
  • Coller dans du code source — Un littéral destiné à JavaScript, Python ou Go doit avoir ses guillemets et ses antislashs échappés. Échappez sans les guillemets extérieurs et collez le corps entre ceux que vous avez déjà.

Tous les caractères que JSON échappe

La grammaire JSON exige d'échapper exactement deux caractères dans une chaîne — le guillemet double et l'antislash — plus tous les caractères de contrôle sous U+0020. Sept ont une forme courte à deux caractères ; les autres utilisent une séquence \u00XX. Voici la liste complète, et l'outil produit exactement cela.

CaractèreÉchappé enRemarques
Guillemet double "\"Obligatoire. Sinon il termine la chaîne.
Antislash \\\Obligatoire. Sinon il ouvre un échappement.
Saut de ligne U+000A\nObligatoire. Un vrai saut est illégal dans une chaîne JSON.
Retour chariot U+000D\rObligatoire.
Tabulation U+0009\tObligatoire.
Retour arrière U+0008\bObligatoire.
Saut de page U+000C\fObligatoire.
Autres contrôles U+0000 à U+001F\u0000 à \u001fObligatoire. Aucune forme courte n'existe.
Demi-codet isolé U+D800 à U+DFFF\u + D800 à DFFFToujours échappé ici. Sans encodage UTF-8, le laisser brut perd le caractère à l'enregistrement.
Barre oblique /\/Facultatif. Activez-le quand le littéral va dans un bloc de script HTML.
Non-ASCII au-dessus de U+007F\u00e9, et 😀 comme la paire D83D DE00Facultatif. Activez-le pour un transport uniquement ASCII. Les caractères hors du plan de base deviennent une paire d'échappements.
Séparateurs de ligne U+2028, U+2029\u2028, \u2029Facultatif. Légaux non échappés en JSON, erreur de syntaxe en JavaScript avant ES2019.
Suppression U+007Fnon échappéJSON ne l'exige pas, il reste tel quel. Activer l'échappement du non-ASCII n'y change rien : c'est un caractère ASCII.

Une conséquence mérite d'être dite : échapper et déséchapper sont des inverses exacts. Quelle que soit la combinaison d'options, déséchapper le résultat rend le texte de départ caractère pour caractère, espaces des extrémités compris.

Chaînes imbriquées et doublement échappées

La raison la plus courante pour laquelle un déséchappement semble ne rien faire est que la valeur a été échappée plus d'une fois. Chaque sérialisation double les antislashs : un message parti d'un saut de ligne devient \n, puis \\n, puis \\\\n. Une passe retire une couche, et ce qui reste ressemble encore à de l'échappé.

  • Laissez la profondeur sur Automatique — L'outil continue tant que le résultat est une chaîne JSON entre guillemets, jusqu'à dix couches, puis s'arrête. Il indique combien de couches ont été retirées, donc vous savez toujours ce qui s'est passé.
  • Fixez une profondeur pour vous arrêter en route — Choisissez 1, 2 ou n'importe quel nombre jusqu'à 10 pour retirer exactement ce nombre de couches. Utile quand la valeur intérieure est un document à confier au Formateur JSON plutôt qu'à décoder davantage.
  • Le test de retrait est volontairement strict — Une couche n'est retirée que si ce qui reste est vraiment une chaîne JSON entre guillemets qui s'analyse. Un texte ordinaire mentionnant \n n'est jamais retiré, donc l'outil ne peut pas abîmer du texte qui a toujours été brut.
  • Regardez le nombre de couches — S'il annonce moins de couches que prévu et que le résultat contient encore des échappements, ceux qui restent n'ont jamais été valides — en général une ligne de journal éditée à la main avec un antislash orphelin. Lancez Échapper sur le résultat pour voir exactement où cela cesse d'avoir un sens.

Les options en un coup d'œil

  • Entourer le résultat de guillemets — Activé par défaut. Le résultat est un littéral de chaîne JSON complet, prêt à coller comme valeur. Désactivez-le pour n'obtenir que le corps échappé, à coller entre des guillemets déjà présents dans votre code.
  • Échapper le non-ASCII en \uXXXX — Désactivé par défaut. Tout caractère au-dessus de U+007F devient \uXXXX, donc le littéral est purement ASCII. Les émojis et les autres caractères hors du plan de base deviennent deux échappements, ce qu'attend un analyseur.
  • Échapper les barres obliques — Désactivé par défaut. Écrit / en \/, ce qui reste du JSON valide et empêche une balise de fermeture à l'intérieur d'une chaîne de terminer trop tôt un bloc de script HTML.
  • Échapper les séparateurs de ligne — Désactivé par défaut, et indisponible tant que l'échappement du non-ASCII est actif puisqu'il les couvre déjà. Écrit U+2028 et U+2029 en échappements pour que le littéral se colle sans danger dans du code JavaScript.
  • Profondeur de déséchappement — Automatique par défaut. Détermine combien de couches d'imbrication sont retirées. Voir la section ci-dessus.
  • Compteurs et rapport — Chaque résultat affiche les caractères en entrée et en sortie, les octets en entrée et en sortie, et le rapport de croissance — le nombre qui compte quand la valeur doit tenir dans une colonne ou une limite de charge utile.

Ce que signifie chaque message d'erreur

Quand Déséchapper refuse, il nomme la règle enfreinte et donne la ligne et la colonne, calculées par nous à partir de la position dans votre texte plutôt que lues dans le message anglais d'un analyseur. C'est pourquoi le message est dans votre langue et la position indiquée est juste dans toutes les langues.

MessageQuand cela arriveQue faire
La chaîne n'est jamais ferméeLe texte a un guillemet ouvrant sans fermant — souvent une valeur tronquée par une limite de journal ou une copie incomplète.Ajoutez le guillemet fermant, ou collez la valeur entière.
Séquence d'échappement inconnueUn antislash est suivi d'un caractère que JSON ne définit pas, comme \q ou un chemin Windows collé sans doubler ses séparateurs.Doublez les antislashs, ou lancez Échapper sur le texte d'origine pour produire un littéral correct.
Échappement \u incompletUn \u n'est pas suivi d'exactement quatre chiffres hexadécimaux.Complétez les quatre chiffres. \u12 n'est pas valide ; \u0012 l'est.
Caractère de contrôle brutUn vrai saut de ligne ou une vraie tabulation figure dans la chaîne au lieu de \n ou \t. C'est l'échec le plus courant quand une valeur est collée depuis un terminal.Lancez plutôt Échapper sur le texte : c'est exactement à cela qu'il sert.
Contenu en trop après la chaîneDeux chaînes se suivent, comme "a" "b", ou quelque chose suit le guillemet fermant.Convertissez une valeur à la fois, ou joignez-les d'abord en une seule chaîne.
C'est un document JSON, pas une chaîneL'entrée est un objet ou un tableau. Déséchapper travaille sur une seule valeur de type chaîne.Envoyez-le au Formateur JSON ou au Validateur JSON — les deux sont liés dans le message.

Limites, vitesse et confidentialité

Tout se passe sur votre propre appareil. Pas d'étape d'envoi, pas de file d'attente sur un serveur, pas de copie de votre texte ailleurs que dans l'onglet ouvert devant vous. C'est aussi pour cela que c'est rapide : rien n'a à voyager.

  • Gratuit — Un fichier à la fois, jusqu'à 10 Mo, avec toutes les options et toutes les profondeurs. Le collage passe par la même vérification, il n'y a donc rien à contourner.
  • Pro — Aucune limite de taille fixe — jusqu'à ce que votre appareil peut faire — plus 20 fichiers à la fois et tous les résultats dans une seule archive.
  • Vitesse — Un document de 10 Mo s'échappe en environ 22 millisecondes et se déséchappe en environ 21. La conversion tourne hors du fil principal, avec une progression et un bouton Annuler qui arrête vraiment le travail au lieu de le masquer.
  • Ce qui n'est jamais envoyé — Votre texte, vos noms de fichiers et vos résultats. L'outil continue de fonctionner après le chargement de la page même réseau coupé, ce qui est la façon la plus simple de le vérifier vous-même.
  • Formats acceptés — .json, .txt, .log, .ndjson, .jsonl, .md, .csv, .tsv, .xml, .yaml, .yml, .sql, .env et .ini. Tout le reste est refusé au sélecteur de fichiers, avec un lien vers l'outil qui l'ouvre : un tableur va vers Excel vers JSON, un document vers Word vers texte.

Un document de 10 Mo s'échappe en environ 22 millisecondes sur un portable milieu de gamme, hors du fil principal, de sorte que la page ne se fige jamais.

Questions fréquentes

Comment fonctionne l'outil d'échappement JSON ?

Choisissez Échapper ou Déséchapper, puis collez votre texte ou chargez un fichier. Échapper entoure le texte de guillemets doubles et échappe guillemets, antislashs, sauts de ligne, tabulations et caractères de contrôle pour produire un littéral de chaîne JSON valide. Déséchapper fait l'inverse et restitue le texte brut. Le résultat s'affiche à côté de la source avec les compteurs, et vous pouvez le copier, le télécharger ou le renvoyer en entrée.

Mes données sont-elles en sécurité ?

Votre texte n'est envoyé nulle part. L'échappement et le déséchappement s'exécutent sur votre propre appareil : rien n'est téléversé, rien n'est stocké, rien n'est journalisé — et une fois la page chargée, l'outil continue de fonctionner sans aucune connexion. Les fichiers déposés sont lus localement et libérés quand vous videz la liste.

Quelle est la différence entre échapper et déséchapper ?

Échapper convertit du texte brut en littéral de chaîne JSON : il ajoute des guillemets doubles et échappe les caractères spéciaux pour que la valeur soit sûre dans du JSON ou du code. Déséchapper fait l'inverse : il prend une chaîne JSON et rend le texte d'origine, en décodant \n, \t et \" en vrais caractères.

Quels caractères sont échappés ?

Ceux que JSON exige : les guillemets doubles deviennent \", les antislashs \\, les sauts de ligne \n, les retours chariot \r, les tabulations \t, le retour arrière \b, le saut de page \f, et tout autre caractère sous U+0020 devient \u00XX. Les demi-codets isolés sont toujours échappés aussi, car ils n'ont pas d'encodage UTF-8 valide et seraient perdus à l'enregistrement. Trois options ajoutent \uXXXX pour le non-ASCII, \/ pour les barres obliques et \u2028 / \u2029 pour les deux séparateurs de ligne Unicode.

Qu'attend Déséchapper, et que faire en cas d'échec ?

Il accepte une chaîne JSON avec ses guillemets, comme "bonjour\nmonde", et aussi un corps échappé sans eux, comme bonjour\nmonde — ce que l'on obtient en copiant une valeur depuis un fichier JSON. Les espaces autour sont ignorés pour une chaîne entre guillemets et conservés pour un corps nu. Si l'entrée n'est pas une chaîne valide, l'outil nomme la règle enfreinte, donne la ligne et la colonne et montre le texte environnant, avec des liens vers le Formateur et le Validateur JSON.

Gère-t-il les chaînes doublement échappées ou imbriquées ?

Oui. Une ligne de journal sérialisée deux ou trois fois contient encore \\n et \\\" après une seule passe. Laissez la profondeur sur Automatique et l'outil continue tant que le résultat reste une chaîne JSON entre guillemets, jusqu'à dix couches, puis vous dit combien il en a retiré. Fixez une profondeur exacte pour vous arrêter en cours de route et inspecter une couche intermédiaire.

Pourquoi échapper le non-ASCII ou les barres obliques ?

Échappez le non-ASCII en \uXXXX quand la valeur doit traverser quelque chose qui n'est pas fiablement 8 bits, ou quand vous voulez un littéral purement ASCII dans le dépôt. Échappez les barres obliques quand la chaîne va dans un bloc de script HTML, où une balise de fermeture à l'intérieur d'une chaîne terminerait la balise trop tôt. Les deux formes sont du JSON valide : les options existent parce que la destination, elle, s'en soucie parfois.

Que sont U+2028 et U+2029, et pourquoi une option pour eux ?

Ce sont le séparateur de ligne et le séparateur de paragraphe Unicode. Ils sont parfaitement légaux non échappés dans une chaîne JSON et, jusqu'à ES2019, ils étaient illégaux dans un littéral de chaîne JavaScript — une chaîne JSON collée dans du code JavaScript pouvait donc être une erreur de syntaxe pointant un caractère invisible. L'option les échappe pour que le littéral se colle partout.

Quelle taille de fichier, et est-ce que ça marche sur mobile ?

La version gratuite accepte un fichier jusqu'à 10 Mo. Pro supprime la limite fixe et va jusqu'à ce que votre appareil peut faire, prend jusqu'à 20 fichiers à la fois et livre tous les résultats dans une seule archive. Le collage n'a pas de limite séparée : il passe par la même vérification. L'outil fonctionne dans tout navigateur moderne sur ordinateur, tablette et téléphone, et les gros documents sont traités hors du fil principal pour que la page reste réactive.

4.8sur 5

sur 65 notes

Notez cet outil

Touchez une étoile — c’est rapide