De drie grote Twitter-alternatieven tellen allemaal anders. Bluesky gebruikt graphemen (300), Threads tekens (500), Mastodon hangt af van de instance (500 standaard, tot 5.000+). Hier is de cross-platform referentie met de grapheem-wiskunde die iedereen verrast.
De drie gedecentraliseerde Twitter-alternatieven
Bij de Twitter-exodus van 2022 vingen drie platforms het grootste deel van de migratie op: Bluesky, Threads en Mastodon. Van buitenaf lijken ze op elkaar (korte posts, follow-graph, replies, reposts), maar ze zijn op drie compleet verschillende fundamenten gebouwd.
Bluesky: 300 graphemen
Bluesky-posts zijn beperkt tot 300 graphemen. Niet 300 tekens, niet 300 bytes. 300 graphemen.
Een grapheem is wat jij en ik "een teken" zouden noemen: één zichtbaar symbool. De letter a is 1 grapheem. De vlag-emoji 🇳🇱 is ook 1 grapheem, ook al is hij intern opgebouwd uit twee regional indicator code points (en 4 UTF-16-eenheden).
Voor gewone Nederlandse tekst lijkt dit identiek aan een limiet van 300 tekens. Het verschil zie je zodra je emoji toevoegt, vooral compound of skintone-emoji. Op Twitter at een familie-emoji 11 van je 280 tekens; op Bluesky kost hij er 1.
Threads: 500 tekens
Threads-posts zijn beperkt tot 500 tekens. Threads erft het tellingsmodel van Instagram, dat UTF-16-eenheden gebruikt zoals Twitter dat oorspronkelijk deed.
Een emoji telt doorgaans als 2 tekens in je 500-tekenbudget. Compound emoji kunnen 5, 7 of 11 tekens kosten. Bij tekstrijke posts is 500 ruim voldoende (zo'n 75 tot 90 Engelse woorden).
Mastodon: 500 standaard, instance-afhankelijk
Mastodon's standaardlimiet is 500 tekens, maar elke instance kan dat overschrijven. Mastodon.social houdt 500 aan; sommige instances draaien 1.000, 2.000 of zelfs 11.000.
Federatie maakt dit complex. Een post van 4.000 tekens op een ruimhartige instance federeert wel naar mastodon.social (max 500), maar wordt daar afgekapt met een "Lees meer"-link. Praktische regel: schrijf naar 500.
Waarom Bluesky graphemen telt
Twitter bouwde zijn 140-tekenlimiet in 2006 rond UTF-16-eenheden, het formaat dat JavaScript-strings native gebruiken. Dat werkte voor ASCII, maar brak compleet zodra emoji en complexe scripts arriveerden.
Neem de familie-emoji 👨👩👧👦. Voor jou is het 1 ding. Onder de motorkap zijn het 4 person-emoji aan elkaar gelijmd met 3 zero-width joiners: 7 code points, 11 UTF-16-eenheden. Op Twitter at deze ene emoji 11 tekens.
Bluesky's AT Protocol-team specificeerde de 300-limiet in graphemen, de eenheid die JavaScript blootlegt via Intl.Segmenter. De telling klopt nu met wat je ziet.
Cross-platform tekenwiskunde
- Twitter (X): 280 (UTF-16-eenheden).
- Bluesky: 300 (graphemen).
- Threads: 500 (UTF-16-eenheden).
- Mastodon standaard: 500 (UTF-16-eenheden).
- Mastodon max-instance: 5.000+.
Bluesky weergavenamen, bio's en andere limieten
- Post: 300 graphemen (via Intl.Segmenter).
- Weergavenaam: 256 tekens.
- Bio (omschrijving): 256 tekens.
- Handle: 253 tekens.
- Alt-tekst per afbeelding: 2.000 tekens.
Threads-limieten naast posts
- Post: 500 tekens.
- Bio: 150 tekens (gedeeld met Instagram).
- Gebruikersnaam: 30 tekens.
- DM: 1.000 tekens.
- Alt-tekst: ~1.000 tekens.
Mastodon-limieten naast posts
- Post: 500 standaard, instance-overrides mogelijk.
- Weergavenaam: 30 tekens.
- Bio: 500 tekens.
- Gebruikersnaam: 30 tekens.
- Content warning: 100 tekens.
- Alt-tekst: 1.500 tekens.
Cross-posting-strategie
Schrijf naar de laagste gemene deler: 280 tekens (Twitter) of 300 graphemen (Bluesky). Dan past je post overal. Buffer, Hypefury, Postiz en Croissant ondersteunen multi-platform publiceren. Wees alert: emoji-rijke posts ogen op Bluesky prima (1 grapheem elk) maar kunnen op Twitter de 280 ruim passeren. Controleer altijd via een platform-specifieke teller.