acento.io
Utilitaire texte

Compteur de caractères

Analysez graphèmes, points de code Unicode et taille UTF-8 instantanément — tout se passe dans votre navigateur, rien n'est envoyé.

Par Carlos Suárez , Ingénieur systèmes
Dernière mise à jour:

Ce que fait ce compteur de caractères

Ce compteur de caractères en ligne analyse votre texte en temps réel selon quatre dimensions : graphèmes (caractères perçus par l'utilisateur), caractères hors espaces, points de code Unicode bruts et taille en octets UTF-8. La distinction est loin d'être anecdotique — l'emoji 👨‍👩‍👧 compte pour 1 graphème, mais représente 7 points de code. JavaScript lui-même renvoie string.length en unités UTF-16, ce qui surprend régulièrement les développeurs. Le mot le plus long du français courant, *anticonstitutionnellement* (25 lettres), illustre bien pourquoi compter des « caractères » sans précision mène à des erreurs dans les formulaires ou les bases de données. Cette version française du compteur est conçue pour tous les publics techniques : rédacteurs SEO, développeurs back-end, gestionnaires de campagnes SMS. 100 % dans le navigateur — vos données ne quittent jamais votre machine. Pas d'upload, pas de tracking, pas de logs serveur.

Fonctionnalités

  • Comptage de graphèmes. Compte les caractères tels que l'utilisateur les perçoit, en gérant correctement les séquences emoji et les caractères combinés Unicode. Indispensable pour respecter la limite de 280 graphèmes de Twitter/X.
  • Points de code Unicode. Affiche le nombre brut de points de code — différent du comptage de graphèmes dès qu'un emoji complexe ou un caractère composé est présent. Utile pour valider les champs dont la contrainte est exprimée en codepoints.
  • Taille en octets UTF-8. Calcule la taille réelle du texte encodé en UTF-8. Les colonnes VARCHAR(255) de nombreuses bases de données stockent 255 octets, pas 255 caractères — une confusion fréquente lors des migrations.
  • Caractère le plus fréquent. Identifie en un coup d'œil le caractère dominant du texte, pratique pour détecter des anomalies de formatage ou analyser la densité d'un mot-clé.
  • Temps réel, sans latence. Les métriques se mettent à jour à chaque frappe, sans délai. Aucune touche « Envoyer », aucun rechargement — le comptage s'adapte au flux de saisie naturel.
  • Compatibilité avec le compteur de mots. Si vous avez besoin du nombre de mots en plus des caractères, notre [compteur de mots](/fr/word-counter/) complète cet outil pour une analyse textuelle complète.

Comment utiliser le compteur de caractères

Collez ou saisissez du texte dans la zone de saisie — tous les compteurs se mettent à jour instantanément. Aucune installation requise.

  1. Collez votre texte. Copiez n'importe quel contenu — tweet, méta-description, SMS, requête SQL — et collez-le dans la zone. Les résultats apparaissent immédiatement.
  2. Lisez les quatre métriques. Observez graphèmes, caractères sans espaces, points de code et octets UTF-8. En Python, len(text) renvoie les points de code ; en JavaScript, [...text].length approche les graphèmes via le spread mais reste imparfait pour les séquences ZWJ complexes.
  3. Ajustez selon votre plateforme cible. Twitter limite à 280 graphèmes. Un SMS GSM-7 standard tient en 160 caractères ; au-delà ou en présence d'un emoji, le protocole bascule en UCS-2 (70 caractères par segment), multipliant le coût d'envoi.
  4. Effacez et recommencez. Cliquez sur « Effacer » pour réinitialiser la zone et analyser un nouveau texte. L'historique n'est jamais transmis nulle part.

Cas d'usage courants

  • Rédaction SEO — titres et méta-descriptions. Google tronque les titres au-delà d'environ 60 caractères et les méta-descriptions après 155–160. Vérifiez vos balises avant de déployer pour éviter l'affichage coupé dans les SERP.
  • Campagnes SMS en France et en Belgique. Un message contenant un seul emoji bascule du codage GSM-7 (160 caractères) au codage UCS-2 (70 caractères par segment). Contrôlez la taille en octets pour maîtriser le nombre de segments et le budget d'envoi.
  • Validation de colonnes de base de données. Un champ VARCHAR(255) en MySQL avec utf8mb4 peut stocker jusqu'à 255 caractères ou moins selon les séquences multi-octets. Connaître la taille UTF-8 avant l'insertion évite les erreurs de troncature en production.
  • Réseaux sociaux — limites par plateforme. Twitter/X : 280 graphèmes. Bluesky : 300. LinkedIn : 3 000 pour un post. Ce compteur vous permet de vérifier rapidement avant publication, sans copier-coller dans l'éditeur natif.
  • Développement et tests d'API. Certaines API limitent la taille des payloads JSON en octets, non en caractères. Connaître la taille UTF-8 d'une chaîne permet d'anticiper les rejets 413 sans avoir à envoyer la requête. Le standard ECMA-404 JSON ne fixe pas de limite, mais les implémentations, elles, le font.

Questions fréquentes

Quelle est la différence entre un graphème et un point de code ?

Un graphème est le caractère tel que vous le voyez à l'écran — une lettre, un emoji, un caractère accentué. Un point de code est l'identifiant numérique Unicode attribué à chaque unité de base. L'emoji 👨‍👩‍👧 est un seul graphème, mais il combine 7 points de code reliés par des caractères ZWJ (Zero Width Joiner). Twitter mesure en graphèmes ; JavaScript mesure en unités UTF-16, ce qui diffère encore.

Pourquoi `string.length` en JavaScript donne-t-il un résultat différent ?

JavaScript représente les chaînes en UTF-16. Les caractères en dehors du plan de base (BMP) — la plupart des emoji — occupent deux unités UTF-16 appelées « surrogate pairs ». string.length compte ces unités, pas les graphèmes. Pour une approximation plus juste, utilisez [...text].length, mais cela reste insuffisant pour les séquences ZWJ. En bash, wc -m file.txt compte les points de code selon la locale définie.

Ce compteur envoie-t-il mon texte à un serveur ?

Non. L'intégralité du traitement s'effectue dans votre navigateur via JavaScript. Aucun texte n'est transmis, stocké ou enregistré. Il n'y a pas de serveur impliqué dans l'analyse — ce qui le rend adapté aux contenus confidentiels comme les contrats ou les données personnelles.

Comment Twitter compte-t-il les caractères CJK ?

Twitter applique un comptage pondéré : la plupart des caractères CJK (chinois, japonais, coréen) comptent pour 2 unités dans la limite de 280, et non pour 1. Ce comportement est propre à l'API Twitter et ne correspond ni aux graphèmes ni aux points de code standard. Ce compteur affiche les graphèmes bruts — le résultat peut donc différer légèrement de l'indicateur natif de Twitter pour les textes mixtes.

Quel encodage utiliser pour une base de données MySQL ?

Préférez utf8mb4 plutôt que utf8 en MySQL : le jeu de caractères utf8 de MySQL ne supporte que les points de code jusqu'à U+FFFF, excluant les emoji et de nombreux caractères rares. Avec utf8mb4, un caractère peut occuper jusqu'à 4 octets. Un champ VARCHAR(255) en utf8mb4 peut donc stocker 255 caractères simples, mais moins si des caractères multi-octets sont présents. La taille UTF-8 affichée par cet outil correspond à la taille réelle à anticiper.

Peut-on compter les caractères d'un fichier entier ?

Oui — collez le contenu dans la zone de texte. Pour les très grands fichiers (plusieurs mégaoctets), préférez un outil en ligne de commande comme wc -m file.txt (macOS/Linux). Ce compteur est optimisé pour des volumes courants : textes de réseaux sociaux, descriptions SEO, contenu de formulaires. À titre de repère, un roman anglais moyen compte entre 80 000 et 100 000 mots, soit environ 500 000 à 700 000 caractères. Pour le décompte des mots, notre [compteur de mots](/fr/word-counter/) est adapté.