Comment compter les caractères d'un texte ?
Collez ou tapez votre texte : le total se met à jour à chaque frappe, et chaque jauge indique la place restante pour un usage précis. Rien n'est envoyé : tout se calcule dans votre navigateur.
Avec espaces, chaque caractère compte, y compris les espaces, la ponctuation et les retours à la ligne. Sans espaces, on retire les espaces, les tabulations et les retours à la ligne. L'écart entre les deux vaut à peu près le nombre de mots, puisqu'une espace sépare deux mots. Quand une consigne parle de caractères sans préciser, le compte espaces comprises est le plus prudent.
Un caractère, ici, est ce que l'œil voit comme tel, ce que la norme Unicode appelle un graphème (annexe UAX #29). Un « é » compte pour 1, qu'il soit saisi d'un bloc ou comme un e suivi d'un accent combinant, et un emoji composé, comme une famille ou un drapeau, compte aussi pour 1. En mémoire, c'est autre chose : le drapeau français occupe 2 points de code et 4 unités de code UTF-16, l'emoji famille 👨👩👧 en occupe 8. C'est pourquoi un programme qui mesure la longueur d'une chaîne (length en JavaScript) trouve parfois plus que vous : l'outil affiche ces valeurs quand elles diffèrent du compte visible.
Combien de caractères dans un SMS ?
Un SMS transporte au plus 140 octets de texte. Avec l'alphabet GSM 7 bits, où chaque caractère tient sur 7 bits, cela fait 160 caractères. Dès qu'un seul caractère absent de cet alphabet apparaît, tout le message passe en UCS-2, sur 16 bits par caractère, et la limite tombe à 70. Un message plus long est découpé en SMS concaténés : chaque morceau perd quelques octets pour l'en-tête qui permet de les réassembler, d'où 153 caractères par SMS en GSM 7 bits et 67 en Unicode. Ces valeurs viennent des spécifications 3GPP TS 23.038 et TS 23.040, publiées par l'ETSI.
Le piège, en français : l'alphabet GSM contient é, è, à, ù, É et Ç, mais pas ê, â, î, ô, û, ë, ï, le ç minuscule, œ, l'apostrophe courbe ’ ni les guillemets « ». Un seul « fête », ou un « c’est » écrit avec l'apostrophe typographique, fait passer le message entier en Unicode. Les caractères € [ ] { } ^ ~ \ | appartiennent à l'alphabet par une table d'extension : chacun compte double. La jauge suit la norme ; un téléphone ou un service d'envoi peut appliquer ses propres substitutions.
Exemple : « Rendez-vous samedi à 10 h devant la mairie pour la sortie du quartier. Prévoyez un pique-nique ! » fait 96 caractères et tient dans 1 SMS en GSM 7 bits, avec 64 caractères de marge. Remplacez « sortie » par « fête » : le texte raccourcit à 94 caractères, mais le ê le fait passer en Unicode, et il part en 2 SMS concaténés de 67 caractères au plus.
| Longueur du message | Encodage | Nombre de SMS |
|---|---|---|
| 160 caractères | GSM 7 bits | 1 |
| 161 caractères | GSM 7 bits | 2 (153 + 8) |
| 306 caractères | GSM 7 bits | 2 (153 + 153) |
| 70 caractères, dont un ê | Unicode | 1 |
| 71 caractères, dont un ê | Unicode | 2 (67 + 4) |
| 300 caractères, dont un ê | Unicode | 5 |
Quelles limites pour X, Instagram, LinkedIn, title et meta description ?
Sur X, un post compte au plus 280 caractères, mais selon un comptage pondéré que décrit la documentation de X. Les lettres latines, accentuées ou non, et la ponctuation courante valent 1 ; un emoji vaut 2, quel que soit le nombre de points de code qui le composent ; les caractères chinois, japonais et coréens valent 2 ; toute adresse web vaut 23, car elle est raccourcie. D'après le fichier de configuration publié par X, d'autres symboles valent aussi 2, comme € ou les points de suspension tapés en un seul caractère (…). La jauge applique ces règles, mais ne repère que les adresses qui commencent par http ou www.
La bio Instagram est limitée à 150 caractères et un post LinkedIn à 3 000, d'après leurs pages d'aide consultées en octobre 2026. Ces pages ne précisent pas comment sont comptés les emoji : gardez quelques caractères de marge si vous en utilisez.
Pour la balise title et la meta description, Google ne fixe aucune limite de longueur. Sa documentation indique que le titre et l'extrait sont tronqués si besoin, généralement pour tenir dans la largeur de l'appareil. La coupe se fait donc en pixels et non en caractères : un titre plein de « m » et de « W » est coupé plus tôt qu'un titre plein de « i » et de « l ». Les jauges utilisent des repères courants du métier, 60 caractères pour le title et 155 pour la description, qui ne sont pas des règles de Google.
| Usage | Limite | Ce qui est compté |
|---|---|---|
| SMS | 160 ou 70 ; 153 ou 67 par SMS concaténé | Septets GSM ou unités UTF-16 |
| Post X | 280 | Comptage pondéré : emoji = 2, adresse web = 23 |
| Bio Instagram | 150 | Non précisé par la plateforme |
| Post LinkedIn | 3 000 | Non précisé par la plateforme |
| Balise title | Aucune limite fixée, coupe en pixels | Repère : environ 60 caractères |
| Meta description | Aucune limite fixée, coupe en pixels | Repère : environ 155 caractères |
Pourquoi les comptes diffèrent-ils d'un outil à l'autre ?
Exemple : « Noël 🎄 » fait 6 caractères visibles. JavaScript lui trouve une longueur de 7, car le sapin occupe deux unités de code UTF-16, et X le compte 7 aussi, car l'emoji y vaut 2. Aucun de ces chiffres n'est faux : chacun mesure autre chose. Avant de couper un texte, vérifiez donc ce que compte l'outil qui fixe la limite.
- Un retour à la ligne compte pour un caractère avec espaces : une ligne vide en fin de texte en ajoute un.
- L'apostrophe courbe ’ et les guillemets « » qu'un traitement de texte insère automatiquement font passer un SMS en Unicode ; l'apostrophe droite ' et les guillemets droits n'ont pas cet effet.
- Une espace insécable est invisible mais compte comme une espace.
- Une base de données ou un champ technique peut compter en octets : en UTF-8, « é » occupe 2 octets et un emoji simple 4.
- Pour une balise title, la vraie limite est la largeur affichée : utilisez un aperçu en pixels pour les titres proches du repère.
Sources
- ETSI TS 123 038 (3GPP TS 23.038 version 19), alphabets et alphabet GSM 7 bits, octobre 2025
- ETSI TS 123 040 (3GPP TS 23.040 version 19), SMS concaténés, clause 9.2.3.24.1, octobre 2025
- Documentation X : Counting characters
- X, bibliothèque twitter-text : fichier de configuration v3 (poids des caractères)
- Aide Instagram : Ajouter une bio à votre profil Instagram
- Aide LinkedIn : Post and share updates
- Google Search Central : liens de titre dans les résultats de recherche
- Google Search Central : extraits et meta description
- Unicode, annexe UAX #29 : segmentation du texte (graphèmes)