glossary

Comment fonctionne la limite de caractères Bluesky en graphèmes

Taras Shynkarenko
Taras Shynkarenko
•Updated: •7 lecture min.
Comment fonctionne la limite de caractères Bluesky en graphèmesComment fonctionne la limite de caractères Bluesky en graphèmes

TL;DR

7 lecture min.

Le lexique propre de l'AT Protocol pour un post Bluesky, app.bsky.feed.post, fixe la limite de caractères Bluesky à 300 clusters de graphèmes et 3000 octets UTF-8 par post. Un lien complet ou un @handle complet compte pour cette limite sans aucun raccourcissement, car le protocole stocke mentions et liens comme des positions dans ce même texte plutôt que comme des objets séparés. Un nom d'affichage est plafonné à 64 graphèmes et une description de profil à 256 graphèmes, et un fil se construit en enchaînant des posts distincts via un champ reply, plutôt qu'en étendant la limite d'un seul post.

Quelle est la limite de caractères Bluesky?

La limite de caractères Bluesky est exactement de 300 clusters de graphèmes par post, une borne fixe que le lexique propre de l'AT Protocol pour app.bsky.feed.post fixe directement, aux côtés d'un plafond distinct de 3000 octets mesurés en UTF-8, vérifié le 9 septembre 2026. Les deux chiffres s'appliquent au même champ à la fois, un post doit donc tenir dans la limite qu'il atteint en premier, même si le plafond de 300 graphèmes est celui que presque tout post atteint avant que le plafond d'octets ne devienne pertinent. Tout post créé via l'application officielle de Bluesky ou via un client bâti sur l'AT Protocol doit satisfaire les deux chiffres, car le lexique définit le format de l'enregistrement lui-même plutôt qu'une règle qu'un client choisirait d'appliquer.

Un gros plan d'un écran de téléphone en train de taper un émoji, illustrant comment un seul caractère visible peut compter différemment des unités de code brutes.

Quelle limite est atteinte en premier
Limite de 300 graphèmes
  • Atteinte en premier par presque tous les posts
  • Compte de la façon dont un lecteur voit réellement le texte
Limite de 3000 octets
  • Rarement atteinte, car la plupart des caractères utilisent moins de dix octets
  • Ne devient pertinente qu'avec un contenu fortement multioctet
Les deux limites s'appliquent au même champ app.bsky.feed.post, mais la limite de graphèmes est celle que presque chaque post atteint en premier.

Qu'est-ce qu'un graphème, et pourquoi Bluesky compte-t-il ainsi?

Un graphème est une unité de texte unique telle qu'un lecteur la perçoit, ce qui ne correspond pas toujours à un seul caractère dans la façon dont un ordinateur stocke ce texte. La documentation propre de la bibliothèque cliente de l'AT Protocol, publiée dans le paquet @atproto/api sur GitHub, donne l'exemple d'un emoji de famille, "👨‍👩‍👧‍👧", qu'une vérification JavaScript via .length compte comme 25 unités distinctes, mais que la méthode .graphemeLength de la bibliothèque compte comme exactement 1, ce qui correspond à ce qu'une personne voit réellement à l'écran. Bluesky compte la limite de 300 selon cette seconde méthode, tournée vers l'humain, plutôt que selon le nombre brut d'unités de code qu'un langage de programmation utilise en interne, ce qui explique pourquoi un post chargé d'emojis peut paraître court tout en consommant sensiblement plus de la limite qu'un texte brut de même longueur visible.

TexteLongueur JavaScript (unités UTF-16)Longueur en graphèmes
Hello55
👨‍👩‍👧‍👧251

Les liens et les mentions comptent-ils dans la limite?

Oui, un lien complet ou un @handle complet compte dans la limite de 300 graphèmes sous sa forme complète et visible, sans aucun raccourcissement automatique. La documentation propre de @atproto/api de l'AT Protocol décrit mentions et liens comme des facets, des métadonnées qui marquent une plage d'octets à l'intérieur du texte même du post plutôt qu'un champ séparé qui remplacerait ce texte, si bien que les caractères de l'URL ou du handle font partie de ce qui est compté, et non quelque chose ajouté par-dessus. Un post qui doit renvoyer quelque part doit budgétiser de l'espace en graphèmes pour l'URL complète elle-même, contrairement à une plateforme qui échange un lien long contre un code court de longueur fixe avant de compter.

Quelles sont les limites de nom de profil et de bio sur Bluesky?

Un nom d'affichage Bluesky est plafonné à 64 graphèmes et 640 octets, et une description de profil, le champ bio, est plafonnée à 256 graphèmes et 2560 octets, les deux fixés directement dans le lexique de l'AT Protocol pour app.bsky.actor.profile, vérifié le 9 septembre 2026. Les deux limites suivent la même structure graphèmes plus octets qu'un post, si bien que le même comportement des emojis qui touche un post de 300 caractères s'applique aussi à un nom d'affichage ou à une bio écrits avec des emojis. Un profil qui veut la plus longue bio possible en texte brut dispose de presque dix fois plus de place qu'un seul post n'en permet.

ChampLimite en graphèmesLimite en octets (UTF-8)
Texte du post3003000
Nom d'affichage64640
Description de profil (bio)2562560

Une personne écrivant sur plusieurs pages d'un carnet, illustrant comment une pensée longue se divise en une chaîne de posts reliés entre eux.

Comment les fils contournent-ils la limite de caractères?

Un fil se construit en publiant plusieurs posts distincts et en reliant chacun au précédent via un champ reply, plutôt qu'en étendant un seul post au-delà de 300 graphèmes, selon ce même lexique app.bsky.feed.post. Ce champ reply exige à la fois une référence root, qui pointe vers le premier post du fil, et une référence parent, qui pointe vers le post auquel on répond, si bien que chaque post d'un fil porte sa propre adresse complète jusqu'au début du fil. Écrire au-delà de la limite signifie diviser le texte en plusieurs posts et les publier en réponse les uns aux autres dans l'ordre, le même mécanisme que celui utilisé pour n'importe quelle chaîne de réponses ordinaire.

Enchaîner des posts en un fil
Le post un est écrit et publié normalement, plafonné à 300 graphèmes
Le post deux fixe reply.parent sur le post un et reply.root sur le post un
Le post trois fixe reply.parent sur le post deux et reply.root de nouveau sur le post un
Les clients affichent la chaîne comme un seul fil grâce à ces références root et parent
Structure selon le lexique app.bsky.feed.post de l'AT Protocol, vérifié le 9 septembre 2026.

Que se passe-t-il si un post dépasse la limite?

Un post qui dépasse 300 graphèmes ou 3000 octets n'est pas créé comme un enregistrement app.bsky.feed.post, car les deux chiffres sont des contraintes que le lexique impose lui-même à ce type d'enregistrement, plutôt qu'un avertissement qu'un client afficherait après coup. L'application propre de Bluesky et tout client de l'AT Protocol qui suit le lexique bloquent l'envoi à cette limite, ce qui explique pourquoi le contournement pratique est toujours un fil, en enchaînant des posts supplémentaires via le champ reply, plutôt qu'un quelconque réglage qui relèverait la limite. Écrire délibérément en visant la limite, plutôt que de la découvrir en plein milieu d'un post, fait la différence entre un fil propre et un post coupé maladroitement à la frontière.

Bluesky est l'une des cinq plateformes que RedReplier surveille pour les mentions de marque et les conversations à intention d'achat, aux côtés de Reddit, X, Facebook et Hacker News, et la même limite de 300 graphèmes s'applique à chaque post que RedReplier remonte depuis la recherche Bluesky. La syntaxe exacte de requête pour trouver ces posts en premier lieu est couverte dans les opérateurs de recherche Bluesky, et l'identifiant qui garde une recherche enregistrée en phase avec un compte même après qu'il change de handle est expliqué dans les DID de l'AT Protocol. Un outil qui publie en votre nom via l'API se heurte à la même limite de 300 graphèmes de l'enregistrement, et la façon de le connecter en toute sécurité est couverte dans les mots de passe d'application Bluesky.

Questions fréquentes

La limite de caractères Bluesky est-elle de 300 caractères ou de 300 graphèmes?

C'est 300 graphèmes, et non 300 caractères bruts tels qu'un langage de programmation les compte par défaut. Un seul emoji visible peut occuper bien plus d'une unité selon un comptage de caractères brut, donc Bluesky compte via des clusters de graphèmes, qui correspondent à ce qu'une personne voit réellement.

Coller une URL longue consomme-t-il plus de la limite de 300 graphèmes qu'une URL courte?

Oui. L'AT Protocol stocke le texte complet d'un lien comme partie du post et le marque avec un facet plutôt que de le remplacer par un code raccourci, si bien que chaque caractère de l'URL compte dans la limite de 300 graphèmes.

Quelle est la limite d'octets aux côtés de la limite de 300 graphèmes?

Le lexique de post de Bluesky plafonne aussi un post à 3000 octets mesurés en UTF-8. Presque tout post atteint la limite de 300 graphèmes avant d'atteindre la limite d'octets, car la plupart des caractères utilisent moins de dix octets chacun.

Quelle est la longueur maximale d'un nom d'affichage Bluesky?

Un nom d'affichage est plafonné à 64 graphèmes et 640 octets, selon le lexique de l'AT Protocol pour un profil Bluesky. C'est distinct du champ de description de profil, qui autorise jusqu'à 256 graphèmes.

Quelle est la longueur maximale d'une bio Bluesky?

Une description de profil Bluesky, le champ bio, est plafonnée à 256 graphèmes et 2560 octets, selon le lexique de profil propre de l'AT Protocol. Cela donne à une bio près de dix fois l'espace qu'autorise un seul post.

Puis-je écrire un long post sur Bluesky en désactivant la limite de caractères?

Non. Les plafonds de 300 graphèmes et 3000 octets sont imposés par la définition même du lexique de l'enregistrement de post, pas par un réglage au niveau de l'application qu'un utilisateur pourrait changer. Écrire au-delà de la limite signifie diviser le texte entre plusieurs posts reliés via le champ reply, formant ainsi un fil.

RedReplier
RedReplier

Commencer

Reddit, X, Bluesky et HN

Alertes d'intention en temps réel

Réponses IA illimitées

Classé par intention d'achat

Les hashtags comptent-ils dans la limite de caractères Bluesky comme les liens?

Un hashtag compte dans la limite de 300 graphèmes sous sa forme complète et non raccourcie, comme un lien ou un @handle. Chaque caractère du texte du hashtag prend de l'espace de graphèmes sur la limite du post. C'est vrai que le hashtag soit court ou long, puisque Bluesky ne le compresse pas avant de le compter.

La limite de 300 graphèmes s'applique-t-elle aussi aux applications tierces pour Bluesky, ou seulement à l'application officielle?

Les limites de 300 graphèmes et 3000 octets viennent du lexique propre à l'AT Protocol pour app.bsky.feed.post, pas d'une règle appliquée uniquement par l'application officielle. Tout post créé via l'application Bluesky ou via un client construit sur le protocole doit respecter ces deux chiffres, parce que le lexique définit le format de l'enregistrement lui-même. Une application tierce applique la même limite, pas une limite qui lui serait propre.

Qu'est-ce qu'un facet dans un post Bluesky?

Un facet est une métadonnée à l'intérieur d'un enregistrement de post qui marque une plage d'octets dans le texte même du post, le mécanisme que l'AT Protocol utilise pour une mention ou un lien. Il ne remplace pas l'URL ou le @handle par un champ séparé, donc les caractères marqués restent une partie du texte qui compte dans la limite de 300 graphèmes. C'est pourquoi un lien complet coûte exactement le même espace de graphèmes que ce même texte tapé en mots ordinaires.

Chaque post d'un fil Bluesky a-t-il besoin de ses propres références root et parent?

Chaque post d'un fil porte un champ reply avec deux références, un root pointant vers le premier post du fil et un parent pointant vers le post auquel il répond directement. Même le troisième ou quatrième post d'une chaîne fixe son root sur ce premier post d'origine, pas sur le post précédent. Cette structure est ce qui permet à un client d'afficher toute la chaîne comme un seul fil.

Nous voir plus souvent sur Google

Un clic définit RedReplier comme source préférée. Nos articles remontent alors dans vos À la une, en mode IA et dans les aperçus IA.

Avant de partir...

RedReplier

RedReplier

Repérez chaque acheteur qui cherche ce que vous vendez

RedReplier surveille Reddit, X, Bluesky et Hacker News en temps réel, classe chaque sujet selon l'intention d'achat et rédige votre réponse, pour que vous arriviez en premier.

Reddit, X, Bluesky et HN

Alertes d'intention en temps réel

Réponses IA illimitées

Classé par intention d'achat

Articles connexes