Utilia

Supprimer les caractères invisibles

Détectez et supprimez les caractères invisibles d'un texte en ligne. Espaces de largeur nulle, espaces insécables, traits d'union conditionnels, contrôles bidi.

Caractères à supprimer

Comment supprimer les caractères invisibles

  1. Collez votre texte dans la zone de saisie. Il est analysé dès le collage.
  2. Lisez le résultat : un tableau liste chaque caractère caché trouvé, avec son point de code, son abréviation, son nom Unicode, son type et son nombre d’occurrences. Le Texte d’origine surligné montre où chacun se trouve, sous forme de petite pastille colorée comme ZWSP ou NBSP.
  3. Sous Caractères à supprimer, laissez cochés les types à effacer. Le bouton Tout cocher / décocher les bascule tous d’un coup.
  4. Laissez Remplacer les espaces insécables et spéciales par une espace normale coché : « 10 000 » garde alors son espace au lieu de devenir « 10000 ».
  5. Copiez le texte nettoyé dans la zone de résultat. Le bouton Supprimer les caractères invisibles rafraîchit le résultat.

Ce que l’outil détecte

Type Caractères Provenance habituelle
Largeur nulle ZWSP U+200B, ZWNJ U+200C, ZWJ U+200D, WJ U+2060, BOM U+FEFF Pages web, traitements de texte, copies depuis un PDF ou une messagerie, fichiers enregistrés avec une marque d’ordre des octets
Espaces insécables et spéciales NBSP U+00A0, fine insécable U+202F, espaces fine, cadratin, demi-cadratin, de chiffre et idéographique, séparateurs de ligne et de paragraphe   en HTML, typographie française, Word, Alt+Espace ou Option+Espace
Traits d’union conditionnels SHY U+00AD Indications de césure des traitements de texte et des sites web
Contrôles bidirectionnels LRM, RLM, ALM, LRE à RLO (U+202A à U+202E), LRI à PDI (U+2066 à U+2069) Textes mêlant arabe, hébreu et alphabet latin, code malveillant
Caractères de contrôle NUL, ESC, saut de page, DEL, contrôles C1 Sorties de terminal, vieux fichiers, encodages abîmés
Autres caractères de format Étiquettes Unicode, opérateurs mathématiques invisibles, caractères de remplissage hangeul, braille vide, tout autre caractère de catégorie « Cf » Filigranes cachés, pseudonymes « vides », sources diverses
Sélecteurs de variante VS1 à VS256 Styles d’émojis, variantes d’idéogrammes, et astuce de stéganographie qui cache des données derrière un émoji

Les tabulations, retours à la ligne et retours chariot sont des caractères ordinaires : ils ne sont jamais touchés. Les sélecteurs de variante ne sont pas cochés par défaut, car ils sont presque toujours légitimes.

Pourquoi ces caractères posent problème

On ne les voit pas, mais l’ordinateur, lui, les voit. Une espace de largeur nulle au milieu d’un mot perturbe la recherche et le correcteur orthographique ; une marque d’ordre des octets au début d’un fichier CSV fausse le nom de la première colonne ; une espace insécable fait échouer une RECHERCHEV dans un tableur ou la saisie d’un mot de passe ; un trait d’union conditionnel peut couper une URL. Un code source qui contient un U+FEFF ou un U+00A0 égaré peut refuser de compiler avec une erreur incompréhensible.

Les caractères invisibles sont parfois volontaires : certains servent à marquer un texte copié pour retrouver l’origine d’une fuite.

Trojan Source et contrôles bidirectionnels

Les contrôles bidirectionnels demandent au moteur d’affichage de présenter une partie de la ligne de droite à gauche. Dans du code source, ils peuvent faire apparaître un code différent de celui que le compilateur exécute réellement : c’est l’attaque « Trojan Source », publiée en 2021 (CVE-2021-42574). Quand l’outil en trouve, il affiche un avertissement. Un texte arabe ou hébreu légitime peut contenir des marques LRM et RLM, mais des contrôles d’enchâssement, de forçage ou d’isolement dans du code ou un fichier de configuration doivent vous alerter.

Garder ce qui est utile

  • Garder les liaisons et sélecteurs dans les émojis protège les liants sans chasse et les sélecteurs de variante qui composent des émojis comme 👨‍👩‍👧 ou ❤️. Décochez l’option pour les supprimer aussi : l’émoji famille devient alors trois personnages séparés.
  • Le persan, le hindi et d’autres écritures utilisent ZWNJ et ZWJ pour gérer la liaison des lettres. Pour ces textes, décochez Caractères de largeur nulle (ZWSP, ZWNJ, ZWJ, WJ, BOM).
  • La typographie française place une espace fine insécable devant « ; ! ? », une espace insécable devant « : » et à l’intérieur des guillemets. Décochez le type des espaces pour les conserver.

Questions fréquentes

Comment savoir si mon texte contient des espaces de largeur nulle ?

Collez-le ici. Si le tableau reste vide et que le message indique « Aucun caractère invisible détecté. », il n’y en a pas.

Supprimer les espaces insécables va-t-il coller mes mots ?

Pas avec le réglage par défaut : les espaces insécables et spéciales sont remplacées par une espace normale. Décochez cette option seulement si vous voulez les effacer.

L'outil supprime-t-il les espaces, tabulations ou sauts de ligne normaux ?

Non. Seuls les types de caractères listés ci-dessus sont concernés.

Puis-je coller un texte confidentiel ?

Oui. L’analyse et le nettoyage se font dans votre navigateur ; rien n’est envoyé ni enregistré.

Pourquoi mon fichier nettoyé affiche-t-il encore un caractère bizarre au début ?

Si le fichier a été enregistré dans un autre encodage que l’UTF-8, le problème vient de l’encodage et non d’un caractère invisible. Enregistrez le fichier en UTF-8, puis analysez-le à nouveau.