Aller au contenu principal

Compteur de caractères

Le compteur de caractères mesure votre texte comme le fera chaque destination : groupes de graphèmes pour la plupart des plateformes, longueur pondérée de X — où un idéogramme CJK coûte deux et où chaque URL compte pour 23 — pour X, et arithmétique de segments GSM-7 contre UCS-2 pour les SMS. Compter text.length surestime chaque emoji.

100 % local
Afficher
7 limites dépassées
Texte
161 B5 lignesLig. 1, Col. 1
Caractères
156
Points de code
156
Unités UTF-16
157
Mots
26
Phrases
4
Lignes
5
Octets
161

Limites par plateforme

X (Twitter)

  • Publication146 / 280caractères pondérés
  • Publication (Premium)146 / 25000caractères pondérés
  • Biographie156 / 160caractères
  • Nom d’affichage156 / 50caractères106 de trop

Bluesky

  • Publication156 / 300caractères
  • Biographie156 / 256caractères

Threads

  • Publication156 / 500caractères

Instagram

  • Légende156 / 2200caractères
  • Biographie156 / 150caractères6 de trop

LinkedIn

  • Publication156 / 3000caractères
  • Titre156 / 220caractères

Facebook

  • Publication156 / 63206caractères

TikTok

  • Légende156 / 2200caractères

YouTube

  • Titre156 / 100caractères56 de trop
  • Description156 / 5000caractères
  • Étiquettes156 / 500caractères

Recherche & SEO

  • Meta titre156 / 60caractères96 de trop
  • Méta-description156 / 155caractères1 de trop

Google Ads

  • Titre156 / 30caractères126 de trop
  • Description156 / 90caractères66 de trop

Discord

  • Message156 / 2000caractères

WhatsApp

  • Texte de statut156 / 700caractères

SMS

  • Un message156 / 160points de code

Longueur pondérée X

146 / 280 · 1 lien(s) compté(s) pour 23

Les caractères CJK et les emoji comptent double ; les caractères latins, simple. C’est l’arithmétique de X, pas un décompte de caractères.

SMS

3 messages · UCS-2 · 157/70

Un ou plusieurs caractères ont forcé l’utilisation de UCS-2, ce qui réduit la capacité de moitié à 70.

Ces caractères ont forcé le message à sortir de l’alphabet GSM 7-bit : — 🚀

Comment fonctionne Compteur de caractères ?

Chaque compteur de caractères répond à une question qu’on ne lui a jamais posée avec précision, et la réponse change selon qui demande. Celui-ci refuse de donner un seul chiffre, parce qu’il n’en existe pas.

Trois façons de compter le même texte

"😀".length vaut 2. JavaScript compte des unités de code UTF-16, un fait lié à l’encodage plutôt qu’au texte : un emoji en exige deux. [..."😀"].length vaut 1, car un point de code est plus proche de ce qu’une personne entend par caractère. Et le nombre de graphèmes vaut lui aussi 1, le chiffre qu’utilise réellement chaque limite de plateforme.

Les trois s’écartent bien plus qu’un seul emoji ne le suggère. Un emoji de famille composé de quatre personnes reliées par des caractères de jonction de largeur nulle représente 11 unités de code et un graphème. Un drapeau, deux points de code et un graphème. Une lettre à accent combinant vaut un ou deux points de code selon la façon dont elle a été saisie : même texte visible, deux comptages différents. Les trois chiffres sont affichés, car le maxlength d’un champ de formulaire utilise le premier, la longueur d’une colonne de base de données utilise souvent le second et une limite de plateforme le troisième.

X ne compte pas du tout des caractères

X compte un poids. Un idéogramme CJK coûte deux, une lettre latine un, un emoji deux : 140 caractères japonais et 280 latins occupent ainsi le même espace. X réécrit aussi chaque URL via t.co et la compte pour 23 caractères forfaitaires, quelle que soit sa longueur réelle. Un message contenant un lien de 200 caractères est donc 23 caractères plus court qu’il n’y paraît, et un message japonais qui se lit comme 200 caractères en pèse 400 selon l’arithmétique de X : bien au-delà de la limite. Les plages et la règle des 23 caractères utilisées ici viennent de la configuration publiée par X elle-même, pas d’une estimation.

Le SMS a deux alphabets et deux arithmétiques

Un SMS tient 160 caractères si chacun appartient à l’alphabet GSM 7 bits, et 70 si un seul en sort : une apostrophe typographique, une majuscule accentuée, un emoji. Un caractère peut donc transformer un message en trois. La concaténation change à nouveau les chiffres : 153 et 67, car chaque segment transporte un en-tête. Et huit caractères de l’alphabet — {}[]|^~\ et le signe euro — sont transmis comme deux, si bien qu’un message affiché 160 sur 160 peut quand même être facturé deux.

Texte

Ship faster without shipping secrets. 🚀

Comptages

characters (graphemes)   39
code points              39
UTF-16 code units        40
words                     5
X weighted               40 / 280
SMS                      1 message (UCS-2)

Texte → Comptages

Texte

Ship faster without shipping secrets. 🚀

https://example.com/releases/v9-32

Comptages

characters (graphemes)  75
code points             75
UTF-16 code units       76
words                   10
X weighted              65 / 280
SMS                     2 messages (UCS-2)

Quelles options et quels cas limites Compteur de caractères prend en charge ?

Référence technique et options
ParamètreTypeValeur par défautComportement et cas limites
Graphèmescomptagelimites des plateformesLes caractères tels qu’une personne les perçoit, l’unité dans laquelle s’exprime chaque limite de plateforme. Un emoji, un drapeau et une famille de quatre comptent chacun pour un. Calculé avec Intl.Segmenter, avec repli sur les points de code dans les navigateurs qui en sont dépourvus.
Pondération Xcomptage280L’arithmétique propre à X : les idéogrammes CJK et la plupart des emoji coûtent 2, le latin coûte 1, et chaque URL est réécrite à 23 caractères forfaitaires parce qu’elle passe par t.co. Les plages utilisées ici proviennent de la configuration twitter-text publiée par X.
Points de codecomptage—Ce que la plupart des autres compteurs appellent « caractères », et ce que contient une colonne de base de données mesurée en caractères. Diffère du nombre de graphèmes dès qu’interviennent des marques combinantes ou des caractères de jonction de largeur nulle.
Unités de code UTF-16comptageString.lengthCe que comptent le .length de JavaScript et un attribut maxlength de HTML. Un emoji vaut 2. Bon à savoir : un formulaire qui valide avec .length et une plateforme qui compte les graphèmes ne seront jamais d’accord.
Motscomptage—Des suites de lettres, de chiffres et d’apostrophes : don’t compte pour un mot, et well-known aussi. Compter en découpant aux espaces en rapporte deux pour un double espace.
Encodage SMSdérivéGSM-7 ou UCS-2160 caractères en GSM-7, 70 en UCS-2 — et un seul caractère hors de l’alphabet GSM bascule tout le message. Les segments concaténés tiennent 153 et 67, car chacun transporte un en-tête.
OctetscomptageUTF-8Ce que le texte coûte sur le fil et dans une base de données. Un emoji vaut 4 octets, un idéogramme CJK 3, une lettre ASCII 1 — un message japonais de 280 caractères dépasse donc largement 800 octets.
Vérifiédate2026-10-03Les limites des plateformes changent sans préavis. Celles-ci ont été vérifiées à la date indiquée ; la note à côté de chacune précise si un dépassement tronque le texte ou le refuse carrément, et c’est cela qui compte vraiment.

Questions fréquentes

Pourquoi mon emoji compte-t-il pour deux caractères ?

Parce que quelque chose compte des unités de code UTF-16, ce que font le String.length de JavaScript et un attribut maxlength de HTML. Un emoji hors du plan multilingue de base a besoin de deux unités pour être encodé. Le nombre de graphèmes — celui qu’utilisent un lecteur et chaque limite de plateforme — est de un. Les deux sont affichés ici, pour que vous sachiez lequel un formulaire vous reproche.

Pourquoi mon message sur X dépasse-t-il la limite alors qu’il paraît court ?

X compte un poids, pas des caractères. Un idéogramme CJK coûte deux : un message japonais de 200 caractères pèse 400 selon l’arithmétique de X, bien au-delà de 280. Les emoji coûtent eux aussi deux. Le texte latin compte un pour un, et c’est pourquoi le problème est invisible à quiconque teste en anglais — le compte pondéré est affiché à part précisément pour cette raison.

Un lien compte-t-il vraiment pour 23 caractères ?

Sur X, oui. Chaque URL est réécrite via t.co et comptée pour 23 caractères forfaitaires, quelle que soit sa longueur réelle : une URL de suivi de 200 caractères coûte autant qu’une courte. C’est aussi pourquoi le comptage ici ne se contente pas de mesurer la chaîne : un message de 300 caractères contenant un long lien peut très bien être publié.

Pourquoi mon compte SMS change-t-il quand j’ajoute un caractère ?

Parce qu’un seul caractère hors de l’alphabet GSM 7 bits réencode tout le message en UCS-2, ce qui divise la capacité de 160 à 70. Une apostrophe typographique, une majuscule accentuée ou un emoji suffit. L’outil nomme les caractères exacts qui ont provoqué la bascule : en remplacer un est en général plus simple que de scinder le message.

Qu’est-ce qu’un graphème, en clair ?

Ce sur quoi une personne pointerait en disant « un caractère ». Un drapeau, un emoji avec modificateur de teinte de peau, une lettre accentuée saisie en deux points de code : chacun est un seul graphème. Intl.Segmenter le calcule correctement ; là où un navigateur en manque, le compte retombe sur les points de code — proche, mais une marque combinante y passe pour un caractère à part.

Mon texte est-il envoyé quelque part ?

Non. Compter, c’est de l’arithmétique sur une chaîne dans cet onglet, et le panneau Réseau n’affiche aucune requête quand vous tapez. Cela compte ici, car le texte que les gens mesurent avant de publier est souvent une annonce pas encore dévoilée ou un message privé.