Passer au contenu
Français
  • Il n'y a aucune suggestion car le champ de recherche est vide.

Quelle est la taille d'un SMS et comment est-elle calculée ?

Un SMS standard contient 160 caractères en encodage GSM-7. Certains caractères spéciaux, comme le signe €, sont pris en charge par le GSM-7 étendu mais comptent pour 2 caractères. Il est également possible d'envoyer des SMS en Unicode, qui offre une compatibilité universelle mais réduit la limite à 70 caractères par segment.

La taille d'un SMS dépend de son encodage. Comprendre ces règles est essentiel pour maîtriser vos coûts d'envoi et rédiger des messages efficaces.

Les deux encodages SMS

Le contenu d'un SMS est encodé selon deux standards, qui déterminent combien de caractères peuvent tenir dans un seul message :

Encodage Caractères supportés SMS simple Segment concaténé
GSM-7 Alphabet latin de base, chiffres, ponctuation courante, table étendue (dont , [, ], {, }…) 160 caractères 153 caractères
Unicode (UCS-2) Tous les caractères : emojis, alphabets non-latins (arabe, cyrillique, chinois…), symboles internationaux 70 caractères 67 caractères

Le signe € : GSM-7 étendu, 2 caractères

Le symbole euro fait partie de la table étendue du GSM-7. Il ne déclenche pas de basculement en Unicode, mais il est encodé sur 2 octets au lieu d'un. Il occupe donc 2 positions dans le comptage de caractères.

  • Message sans 160 caractères disponibles
  • Message avec 1 158 caractères restants
  • Message avec 2 156 caractères restants
Point de vigilance : Dans un SMS long (concaténé), chaque segment GSM-7 dispose de 153 caractères. Un consommant 2 positions, il faut en tenir compte dans le découpage des segments pour éviter de générer un segment supplémentaire involontaire. Vérifiez toujours le compteur de caractères de votre outil d'envoi.

D'autres caractères de la table étendue GSM-7 se comportent de la même façon et comptent pour 2 caractères chacun : [ ] { } \ ^ ~ |.


L'encodage Unicode : un choix délibéré

Il est tout à fait possible d'envoyer des SMS en Unicode, indépendamment de la présence de caractères spéciaux. Ce choix est pertinent dans plusieurs situations :

  • Messages multilingues : arabe, cyrillique, chinois, grec, hébreu, etc.
  • Utilisation d'emojis : tous les emojis nécessitent l'encodage Unicode.
  • Compatibilité internationale : garantir un affichage correct quel que soit le terminal ou l'opérateur.

En contrepartie, la limite par segment est réduite à 70 caractères (67 en cas de concaténation), ce qui augmente mécaniquement le nombre de segments et donc le coût d'envoi.

Bon à savoir : L'encodage Unicode peut être forcé côté API via le paramètre approprié dans vos requêtes smsmode, ou sélectionné dans l'interface de campagne. Consultez la documentation API REST SMS pour les détails d'implémentation.

La concaténation : envoyer des messages longs

Lorsqu'un message dépasse la limite d'un segment, il est automatiquement découpé en plusieurs parties. Un en-tête technique (UDH) est ajouté à chaque segment pour permettre au téléphone destinataire de les réassembler dans l'ordre. Cet en-tête consomme une partie de l'espace disponible, ce qui explique la réduction de 160 à 153 caractères (GSM-7) et de 70 à 67 caractères (Unicode) en mode concaténé.

Chaque segment est facturé comme un SMS distinct. Par exemple, un message de 200 caractères en GSM-7 sera découpé en 2 segments (153 + 47) et facturé 2 SMS.


Impact sur la facturation

Chez smsmode, la facturation est basée sur le nombre de segments réellement envoyés. Les outils smsmode — interface de campagne et API — indiquent en temps réel le nombre de caractères consommés et de segments générés, en tenant compte de l'encodage effectif du message.

Ce canal est donc particulièrement adapté aux messages courts et directs. Pour les contenus plus riches ou plus longs, smsmode propose également des canaux complémentaires comme le SMS enrichi ou le RCS.

Plus d'information sur notre API REST SMS : ici