Karakter ve sözcük limitleri 2026 — Twitter, SMS, SEO, Instagram
Karakter limiti, bir platformun tek bir alanda kabul ettiği maksimum Unicode kod noktası (codepoint) sayısıdır: Twitter gönderisi için 280, GSM-7 ile tek parçalı SMS için 160, kırpılmadan önce Google meta açıklaması için yaklaşık 160. Önemsediğiniz sayı, nereye yayın yaptığınıza ve metninizde emoji, akıllı tırnaklar veya CJK karakterleri olup olmadığına bağlıdır; bunların hepsi hesabı değiştirir.
Bu rehber sosyal medya yazarları, SEO uzmanları, pazarlama metin yazarları, parça başına faturalandırılan SMS gönderenler ve Twitter, Instagram veya SMS ağ geçitlerinin gerçekten saydığı şeyle eşleşmesi gereken doğrulama kodu yazan geliştiriciler içindir. 25 platformluk hızlı bakış için hızlı referans tablosuna atlayın veya taslağınızı altı büyük platforma karşı Kelime Sayıcı ile canlı kontrol edin; bir limiti aştığınız anda ilerleme çubukları kırmızıya döner.
Hızlı referans — her platformun karakter ve sözcük limiti
Aşağıdaki tablo, yazarların ve geliştiricilerin en sık karşılaştığı 30’dan fazla alanı kapsar. “Sert limit” platformun zorladığı tavandır; “Görünür / fold üstü” okurların kırpılma noktasından önce gördüğüdür; “Tatlı nokta” içeriğin en iyi performansı gösterdiği deneyimsel aralıktır.
| Platform | Sert limit | Görünür / fold üstü | Tatlı nokta | Emoji sayımı |
|---|---|---|---|---|
| Twitter / X gönderisi | 280 karakter | 280 | 70-100 karakter | 1 codepoint |
| Twitter / X biyografisi | 160 karakter | 160 | — | 1 codepoint |
| Twitter / X görünen ad | 50 karakter | 50 | — | 1 codepoint |
| X Premium uzun biçim | 25.000 karakter | — | — | 1 codepoint |
| Instagram açıklaması | 2.200 karakter | ilk 125 (sonra “daha fazla”) | kanca için <125 | 1 codepoint |
| Instagram biyografisi | 150 karakter | 150 | — | 1 codepoint |
| Instagram hashtagleri | en fazla 30 | — | 5-10 | — |
| LinkedIn gönderisi | 3.000 karakter | ilk 210 (sonra “daha fazla”) | <1.300 | 1 codepoint |
| LinkedIn makalesi | 110.000 karakter | — | — | 1 codepoint |
| LinkedIn başlığı | 220 karakter | 220 | — | 1 codepoint |
| Facebook gönderisi | 63.206 karakter | ~477 masaüstü / ~125 mobil | organik için <80 | 1 codepoint |
| TikTok açıklaması | 2.200 karakter | ilk ~100 | <150 | 1 codepoint |
| YouTube başlığı | 100 karakter | 70 (arama) | <60 | 1 codepoint |
| YouTube açıklaması | 5.000 karakter | fold üstünde ilk 100-150 | kanca için ilk 150 | 1 codepoint |
| YouTube yorumu | 10.000 karakter | — | — | 1 codepoint |
| Reddit başlığı | 300 karakter | — | <60 (subreddit’e bağlı) | 1 codepoint |
| Reddit yorumu | 10.000 karakter | — | — | 1 codepoint |
| Discord mesajı | 2.000 karakter | 2.000 | — | 1 codepoint |
| Discord embed açıklaması | 4.096 karakter | — | — | 1 codepoint |
| Slack mesajı | 40.000 karakter | — | okunabilirlik için <2.000 | 1 codepoint |
| Pinterest pin açıklaması | 500 karakter | ilk 50-60 | <125 | 1 codepoint |
| Mastodon toot | 500 karakter (yapılandırılabilir) | 500 | — | 1 codepoint |
| Bluesky gönderisi | 300 karakter | 300 | — | 1 grapheme cluster |
| Threads gönderisi | 500 karakter | 500 | — | 1 codepoint |
| SEO meta açıklaması (Google) | ~160 karakter masaüstü / ~120 mobil | 150-160 | 150-160 | 1 codepoint |
| SEO sayfa başlığı (Google) | ~60 karakter masaüstü / ~50 mobil | 50-60 | 50-60 | 1 codepoint |
| Open Graph açıklaması | LinkedIn/FB kırpmadan önce ~200 karakter | 150-200 | 150-200 | 1 codepoint |
| Twitter Card açıklaması | en fazla 200 karakter | 200 | 150-200 | 1 codepoint |
| SMS tek parça (GSM-7) | 160 karakter | — | — | özel — aşağıya bakın |
| SMS tek parça (UCS-2 / emoji) | 70 karakter | — | — | 1 codepoint |
| WhatsApp mesaj metni | 65.536 karakter | — | — | 1 codepoint |
| E-posta konu satırı | platform limiti yok | ~60 masaüstü / ~30 mobil | <50 | 1 codepoint |
| Google Ads başlığı | 30 karakter × 15 başlık | her biri 30 | 30 | 1 codepoint |
| Google Ads açıklaması | 90 karakter × 4 açıklama | her biri 90 | 90 | 1 codepoint |
| App Store başlığı | 30 karakter | 30 | 30 | 1 codepoint |
| App Store alt başlığı | 30 karakter | 30 | 30 | 1 codepoint |
| App Store açıklaması | 4.000 karakter | fold üstünde ilk 252 | 252 kanca | 1 codepoint |
| Play Store kısa açıklaması | 80 karakter | 80 | 80 | 1 codepoint |
| Play Store uzun açıklaması | 4.000 karakter | fold üstünde ilk 80 | 80 kanca | 1 codepoint |
“Tatlı nokta” sınırının üzerindeki içerik kırpılma, sıralamada düşme veya görünür kartın dışına itilme eğilimindedir. X Premium uzun biçim ve Mastodon (örnek başına yapılandırılabilir), 500 karakterin ötesinde cezasız yazmanıza izin veren nadir istisnalardır. Yukarıdaki her sayım, SMS kurallarının geçerli olduğu yer dışında, bir Unicode kod noktası sayımıdır: bir emoji 2 değil, 1 karaktere mal olur. Bir taslağı altı en yaygın limite karşı aynı anda doğrulamak için Kelime Sayıcı’ya yapıştırın; ilerleme çubukları, yayına basmadan önce limit aşımını yakalar.
Karakterler gerçekte nasıl sayılır (Unicode kod noktaları ve UTF-16)
Üç farklı araç, aynı karakter dizisi için size üç farklı karakter sayımı verebilir. Bunun nedeni “karakter”in tek bir şey olmamasıdır: bir Unicode kod noktası (codepoint), bir UTF-16 kod birimi (code unit) veya bir grafem kümesi (grapheme cluster) anlamına gelebilir ve her platform birini seçer.
”Karakter” nedir — codepoint, code unit ve grapheme
Bir codepoint (kod noktası), bir Unicode skaler değeridir: Unicode’un bir karaktere atadığı veya ayrılmış olarak işaretlediği U+0000 ile U+10FFFF arasındaki herhangi bir tamsayı. Bir code unit (kod birimi), bir kodlamanın en küçük parçasıdır; UTF-16 16-bit kod birimleri kullanır, UTF-8 8-bit kod birimleri kullanır. Bir grapheme cluster (grafem kümesi), insanların görünür tek bir karakter olarak algıladığı şeydir: bazen bir codepoint, bazen bir temel codepoint artı birleştirici işaretler, bazen aile emojisi 👨👩👧👦 (tek bir görünür glife birleştirilmiş yedi codepoint) gibi sıfır genişlikli birleştirici dizisi.
"a🌍👨👩👧" karakter dizisi için üç sayım birbirinden farklıdır:
| Sayma yöntemi | Sonuç | Kullanan |
|---|---|---|
UTF-16 kod birimleri (JS string.length) | 10 | Saf JavaScript kodu |
| Unicode kod noktaları | 6 | Twitter, Instagram, SMS ağ geçitleri |
| Grafem kümeleri | 3 | Bluesky, ekran okuyucular, metin editörleri |
string.length emoji konusunda neden yalan söyler
JavaScript karakter dizilerini dahili olarak UTF-16 olarak saklar. U+FFFF üzerindeki herhangi bir codepoint (her emoji, tüm astral düzlem karakterleri) bir vekil çift (surrogate pair) olarak, yani iki 16-bit kod birimi olarak kodlanır. .length özelliği bu iki birimi raporlar, bir karakter değil.
"🌍".length // 2 (UTF-16 code units)
[..."🌍"].length // 1 (codepoints — what Twitter/SMS counts)
"🌍".match(/./gu).length // 1 (codepoints via regex with /u flag)
Spread operatörü ve /u regex bayrağı codepoint başına yineleme yapar, bu da Twitter, Instagram ve SMS ağ geçitlerinin limitlerine karşı ölçtüğü şeyle eşleşir. Ham .length kullanan bir doğrulama işlevi, aslında limitin altındaki tweetleri reddeder ya da daha kötüsü, alt akış sisteminizin reddedeceği mesajların geçmesine izin verir.
Peki ya CJK ve birleştirici işaretler
Çince, Japonca ve Korece ideogramlarının her biri tek bir codepoint’tir ve her platformda bir karakter olarak sayılır. Pahalıya patladıkları yer SMS’tir: herhangi bir GSM-7 dışı karakter tüm mesajı UCS-2 kodlamasına çevirir ve parça limitini 160’tan 70’e düşürür (sonraki bölümde ele alınıyor).
Birleştirici işaretler farklı davranır. á olarak yazılan vurgulu á tek bir codepoint’tir; aynı á a + ́ (birleştirici tiz vurgu) olarak yazıldığında iki codepoint ama bir grafem kümesidir. Çoğu platform codepoint’e göre sayar, bu nedenle ikinci form bir karakter daha fazlaya mal olur. Bluesky görünür istisnadır: grafem kümelerini sayar, bu nedenle her iki form da 1’e mal olur.
Farklı dillerde sayma — hızlı referans
// JavaScript
[...str].length // codepoints
Array.from(str).length // codepoints
// Python 3 — len() is codepoint by default
len(s)
// Go — utf8 package
utf8.RuneCountInString(s)
// Rust — chars() iterates codepoints
s.chars().count()
// Java — codePointCount
s.codePointCount(0, s.length())
Karşılaştırma için, Base64 kodlayıcı size diğer yönü hatırlatır: metin iletim için Base64’e kodlandığında, UTF-8 girişinin her 3 baytı 4 ASCII çıkış karakterine dönüşür, bu nedenle kodlanmış uzunluk codepoint sayısına değil, bayt sayısına bağlıdır. Tek bir emoji yapıştırın ve Base64 çıkışının 8 karaktere genişlediğini izleyin: Twitter’da 1 karaktere mal olan aynı emoji UTF-8’de 4 bayt alır.
Herhangi bir taslakta codepoint sayılarını (Twitter’ın gerçekten ölçtüğü sayıyı) görmek için, Kelime Sayıcı varsayılan olarak Unicode-doğrudur.
SMS karakter limiti — GSM-7, UCS-2 ve çok parçalı mesajlar
SMS, tek bir emoji eklemenin faturanızı tam anlamıyla ikiye katlayabileceği tek büyük kanaldır. Sebep kodlamadır ve hesap 1985’ten beri aynıdır.
160 karakterlik sihirli sayı — GSM-7 tarihçesi
1985 GSM-03.38 standardı, SMS yükünü 140 bayta sabitledi. 7-bit karakter kodlaması ile, 140 bayt 1.120 bit ÷ 7 = 160 karakter tutar. Ünlü 160’lık sms karakter limiti buradan gelir. GSM-7 karakter seti 128 temel karakter artı 10 karakterlik bir uzantı içerir ({ } [ ] | \ ~ ^ € ve form feed’i kapsar). Bu set içinde parça başına tam 160 karakterlik bütçe alırsınız.
GSM-7 dışına düşen ve bir geçişi zorlayan karakterler:
- Tüm emojiler
- Kıvrımlı / akıllı tırnaklar (
""''); bunların ASCII düz tırnaklar"'ile farklı olduğunu unutmayın - GSM-7’deki 35 karakterin ötesindeki çoğu vurgulu Latin harf (
é á ñ ü øvb.; GSM-7 yalnızcaä ö å æ ø à è ì ò ùve birkaçını içerir) - Tam genişlikli noktalama, CJK karakterleri, Arapça, İbranice, Yunanca küçük harfler, Kiril
- Ters tırnak
`ve tilda~(tilda GSM-7 uzantı tablosundadır, bu nedenle 160 karakterinizin 2’sine mal olur)
UCS-2 tuzağı — bir emoji sizi 160’tan 70’e düşürür
Mesajın herhangi bir yerinde tek bir GSM-7 dışı karakter belirdiği an, tüm mesaj UCS-2 kodlamasına geçer. UCS-2 karakter başına 16 bit kullanır, bu nedenle 140 bayt ÷ 2 = parça başına 70 karakter. Gerçek örnekler:
"Hello, your code is 12345" → 26 chars, GSM-7, 1 segment
"Hello, your code is 12345 ✓" → 28 chars, GSM-7 (✓ in extension), 1 segment
"Hello, your code is 12345 ✅" → 28 chars, UCS-2 (emoji), 1 segment (under 70)
"Hello, "your" code is 12345 ✅" → smart quotes + emoji → UCS-2
"Hi 你好" → CJK → UCS-2, 1 segment (5 chars)
Son “Hi 你好” örneği işin can alıcı noktasıdır: yalnızca 5 karakter ama UCS-2 fiyatlandırmasını yer ve ekleyeceğiniz sonraki 65 karakter tek bir parçaya sığar, sonra 2. parça başlar.
Çok parçalı SMS parçaları (concatenation)
160 (GSM-7) veya 70 (UCS-2) sınırını aştığınızda, mesaj birden fazla parçaya bölünür. Her parça yeniden birleştirme için kullanılan 7 karakterlik bir Kullanıcı Veri Başlığı (UDH) taşır, bu nedenle parça başına kullanılabilir yük azalır:
- GSM-7 çok parçalı: parça başına 153 karakter
- UCS-2 çok parçalı: parça başına 67 karakter
Alıcı telefon parçaları alıcı için görünmez şekilde yeniden birleştirir, ancak faturalandırma parça başınadır, mesaj başına değil. 161 karakterlik bir GSM-7 mesajı 2 parçaya mal olur. 1.000 karakterlik bir GSM-7 mesajı 7 parçaya mal olur (153 × 6 = 918, 7. parça son 82’yi taşır).
Maliyet hesabı — bir emoji faturanızı ne zaman ikiye katlar
80 karakterlik düz metin bir pazarlama mesajını düşünün:
- Düz metin: 80 karakter → GSM-7 → X fiyatına 1 parça
- Bir emoji ekleyin: 80 karakter → UCS-2 → 80 > 70 → 2X fiyatına 2 parça
Tek bir emojiden faturayı ikiye katlamak gerçektir ve ölçeklenir. Parça başına 0,0075 ABD doları üzerinden 100.000 mesajlık bir kampanya GSM-7’de 750 ABD doları, UCS-2’de 1.500 ABD doları tutar; yani 750 ABD doları değerinde bir emoji. Her büyük SMS sağlayıcısı (Twilio, Bandwidth, AWS SNS, MessageBird, Vonage) bu şekilde faturalandırır. Kodlama kuralları satıcı politikası değil, GSM standardıdır. Bayt düzeyinde kodlama ödünleşimlerinin derin tarihçesi (ve ASCII / UTF-8 / UCS-2’nin neden ayrı standartlar olarak var olduğu), SMS yerine e-postaya uygulanan aynı “bitleri karaktere” sorunu ailesi olan Base64’ü Anlamak içinde ele alınıyor.
Mesajları GSM-7’de nasıl tutarsınız
- Akıllı tırnaklar yerine ASCII düz tırnaklar
"'kullanın - Em-dash
—veya en-dash–yerine ASCII tire-kullanın ©ve®yerine(c)ve(R)yazın- Kampanya bütçesi UCS-2 maliyetini kabul etmiyorsa emojiden kaçının
- Sağlayıcı konsolları (Twilio, Bandwidth, MessageBird) önizlemenin yanında “encoding: GSM-7” veya “UCS-2” gösterir; yayından önce doğrulayın
Taslak aşamasında en hızlı akıl sağlığı kontrolü Kelime Sayıcı’nın SMS ilerleme çubuğudur; 160 karakterlik temele göre raporlar. Metniniz UCS-2’yi tetiklerse, 70 karakter kuralı altında parça sayısını tahmin etmek için karakter sayınızı zihninizde 2,29’a bölün.
SEO limitleri — meta açıklama, başlık etiketi, OG, Twitter Card
SEO karakter limitleri platform limitlerinden daha yumuşaktır (bir meta açıklama 300 karaktere ulaşırsa Google sayfanızı reddetmez), ancak pratik kırpma kuralları tıklama oranı için önemlidir. 2026’da hâlâ geçerli olan sayılar şunlar.
Meta açıklama — 150-160 karakter tatlı nokta
Google’ın masaüstü arama sonuçları meta açıklamayı yaklaşık 155-165 karakter civarında kırpar; mobil 100 ile 120 arasında bir yerde keser. Kesin kırpma noktası değişir çünkü Google ekran piksellerini ölçer, karakterleri değil. W ve M gliflerle dolu bir açıklama, i ve l ile dolu olandan daha erken kırpma pikseline ulaşır.
Pratik yazma kuralları:
- Toplam 150-160 karakter hedefleyin
- Ana mesajı ilk 120 karaktere koyun (mobil güvenli)
- Sayfa için meta açıklama karakter limiti anahtar kelimesini ilk 30 karakterde öne çıkarın
- Son 30 karakteri bir CTA ile bitirin; masaüstü ortayı kestiğinde bile okunabilir
2017-2018 döneminde Google meta açıklama gösterimini kısa süreliğine 320 karaktere genişletti ve bir nesil SEO eğitimi hâlâ bu sayıyı zikreder. Google 2018 ortasında 160’a geri döndü. Bugün 200 karakterin ötesinde yazmak yalnızca ikinci yarıyı gizler.
Farklı bir başarısızlık modu: 120 karakterin altındaki açıklamalar genellikle tamamen değiştirilir. Google açıklamanızın sorguya tam olarak hizmet etmediğine karar verir ve sayfa gövdesinden farklı bir pasajı çeker; uyarı olmadan CTR kontrolünü kaybedersiniz.
Başlık etiketi — masaüstünde 60, mobilde 50
Başlık etiketleri masaüstünde kabaca 60 karakterde, mobilde 50’de kırpılır. Açıklamalarla aynı piksel tabanlı kırpma, geniş glifler hakkında aynı uyarı.
Tatlı nokta: 50-60 karakter, herhangi bir kırpmadan kurtulması için hedef anahtar kelime ilk 30 içinde. Uzun kuyruklu marka son ekleri (| Brand Name) sona aittir; kırpmanın en az can yaktığı yerdir.
Piksel genişliği ve karakter sayısı — Google’ın gerçek kuralı
Google’ın SERP açıklama kapsayıcısı masaüstünde kabaca 920 piksel genişliğindedir. Ortalama karakter genişliği yaklaşık 6,5 piksel civarındadır ve 140-160 karakterlik deneyimsel hedefi verir. Ancak karakter başına yayılma geniştir: i yaklaşık 3 pikselde, M yaklaşık 11 pikselde işlenir. Tamamen büyük harf bir kopya açıklaması (“BEST WIDGETS FOR WINTER WEDDINGS”) küçük harf eşdeğerinden çok daha önce kırpılır.
Piksel doğruluğu olan SERP simülatörleri kullanan yayın öncesi önizlemeler, SEO kopyası için karakter sayıcılardan daha güvenilirdir.
OG açıklaması ve Twitter Card açıklaması
Open Graph protokolünün og:description’ı, Facebook, LinkedIn, Slack ve Discord’un paylaşılan bağlantı önizlemesinin altında işlediği şeydir. Görüntü tavanları platforma göre değişir: çoğu 200 karakter civarında kırpar, bazıları 300’e uzanır. Twitter Card twitter:description, Twitter’ın çözümleyicisinde 200 karakterde sert tavanla sınırlıdır.
Mantıklı varsayılanlar:
- Hem OG hem Twitter Card için 150-200 karakter
- Meta açıklamanızla eşleşebilirler, ancak OG biraz daha uzun olabilir çünkü OG uzunluğu arama sıralamasını etkilemez
- Yapılandırılmış veri seçimlerinizi (özellikle yanlışlıkla OG’ye çekilen şeyleri), güvenilmeyen OG meta verilerinin yaygın bir oltalama vektörü olduğu Güvenlik En İyi Uygulamaları’ndaki kalıpları kullanarak doğrulayın
”Karakter limiti yok” gerçekte ne demek
H1 etiketleri, gövde içeriği ve URL slug’larının platform tarafından zorlanan SEO karakter limiti yoktur, ancak yumuşak limitler hâlâ geçerlidir:
- 70 karakteri aşan H1 görsel hiyerarşiyi ve tarama kolaylığını bozar
- URL slug’ları teknik olarak sınırsız; Google SERP’te yaklaşık 90 karakter gösterir, ötesi yalnızca görsel süslemedir
- Gövde içeriğinin uzunluk sınırı yok, ancak Google yardımcı içeriği dolguya tercih eder; sözcük sayısı tek başına bir sıralama sinyali değildir
Kelime Sayıcı, siz taslak hazırlarken hem meta açıklamayı (160) hem de başlık etiketini (60) canlı olarak izler; ilerleme çubukları kırpma pikseline yaklaştıkça kehribar ve kırmızıya döner.
Sosyal platformlar — Twitter/X, Instagram, LinkedIn, Facebook ve ötesi
Her platformun karakter tavanının arkasında bir hikâye ve içeriğin gerçekten performans gösterdiği sert limitin altında bir tatlı nokta vardır.
Twitter / X — 280, premium 25.000, URL ikame kuralı
Standart twitter karakter limiti 280 karakterdir, Kasım 2017’de 140’tan ikiye katlanmıştır. X Premium aboneleri zengin biçimlendirme ile 25.000 karaktere kadar uzun biçimli içerik gönderebilir, ancak organik erişim için 280 karakterlik gönderi hâlâ baskın formdur.
Daha az bilinen kural URL ikamesidir. Twitter her URL’yi, ne kadar uzun olursa olsun, yayın anında 23 karakterlik bir t.co kısa bağlantısıyla sarmalar. 23 karakterlik maliyet sabittir.
published_length = raw_length − URL_length + 23
Örnek: "Check this: https://example.com/very-long-path?id=12345" gibi bir taslak 53 ham karakterdir. URL 38 karakterdir, bu nedenle 23 karakterlik bir t.co bağlantısıyla değiştirilir ve yayınlanan uzunluk 53 − 38 + 23 = 38 karakter olur. Bilmediğiniz 15 karakter kazanırsınız.
Bir taslağa uzun bir URL yapıştırmak için, URL kodlayıcı/çözücü URL olarak neyin sayıldığını doğrulamanın hızlı bir yoludur (Twitter URL’leri RFC 3986 kalıplarına göre tanır; sorgu dizeleri ve fragmanlar dahil). Alt alan adları, şemalar, portlar, yollar, sorgular ve fragmanların hepsi 23 karakterlik ikame tarafından yutulur.
Diğer Twitter alanları: görünen ad 50 karakter, biyografi 160 karakter, kullanıcı adı 15 karakter. Threads (Meta’nın Twitter eşdeğeri) bunun yerine 500 karakter limiti kullanır.
Instagram — 2.200 açıklama, 30 hashtag, 125 karakter kanca
Instagram açıklamaları 2.200 karaktere izin verir, ancak akış geri kalanı bir ”… daha fazla” dokunuşunun arkasına çökmeden önce yalnızca ilk 125 karakteri gösterir. Okurların yarısından fazlası asla dokunmaz. Bu nedenle etkileşim için önemli olan instagram açıklama limiti, sert limit 2.200 olsa bile 125’tir.
30 hashtag tavanı serttir; 31. bir hashtag denemek gönderiyi başarısızlığa uğratır. 5-10 hashtag aralığı en iyi performansı gösterme eğilimindedir; 11’in ötesinde keşif desteği düzleşir ve gönderi algoritmaya spam gibi görünmeye başlar.
Diğer alanlar: biyografi 150 karakter, görünen ad 30 karakter, DM 1.000 karakter.
LinkedIn — 3.000 gönderi, 1.300 tatlı nokta, “daha fazla” foldu
Gönderiler için linkedin karakter limiti 3.000’dir, ancak akış “daha fazla” foldundan önce yalnızca ilk 210 karakteri görüntüler. 1.200-1.500 karakter aralığındaki gönderiler LinkedIn’de etkileşim kazanır (birden fazla Buffer ve Hootsuite çalışması zirve olarak 1.300 civarında birleşir); değer göstermek için yeterince uzun, kaydırma yorgunluğu yaratmayacak kadar kısalar.
LinkedIn Makaleleri (uzun biçim yayıncılık yüzeyi) 110.000 karaktere izin verir; pratikte sınırsız. Profil başlıkları 220’de, hakkında bölümü metni 2.600’de sınırlandırılır.
Facebook — 63.206 karakter, 80 karakter organik tatlı nokta
Facebook’un 63.206 karakter gönderi limiti çoğunlukla bilgi kırıntısıdır; pratikte 80 karakterin altındaki gönderiler daha uzun olanlardan yaklaşık %30 daha yüksek organik etkileşim alır (HubSpot yıllar boyunca bunu tutarlı şekilde raporlar). Fold üstünde masaüstü yaklaşık 477 karakter gösterir; mobil yaklaşık 125’te keser.
Yorum maksimumu 8.000 karakterdir. Tepkiler, paylaşımlar ve tıklamaların hepsi daha kısa gönderilere doğru eğilir; uzun kopya Facebook açıklamasında değil, bağlantılı makaleye aittir.
Yeni platformlar — Bluesky, Mastodon, Threads, TikTok
- Bluesky gönderileri 300 karakterde sınırlandırılır ve sıra dışı durumdur: Bluesky grafem kümelerini sayar, bu nedenle yedi codepoint’lik aile emojisi 👨👩👧👦 7 değil, 1 karaktere mal olur
- Mastodon varsayılan olarak toot başına 500 karakter kullanır, ancak örnek yöneticileri bunu 5.000’e ve hatta sınırsıza yükseltebilir; gönderi yaptığınız örneği kontrol edin
- Threads, codepoint sayımı ile Twitter tarzı 500 karakter limitleri kullanır
- TikTok açıklamaları 2.200 karaktere izin verir, fold üstünde yaklaşık 100 gösterilir
Reddit, Discord, Slack — uzun biçim ve topluluk varsayılanları
- Reddit başlığı 300 karakter (subreddit moderatörleri genellikle AutoModerator aracılığıyla <60 zorlar); yorumlar 10.000 karakter
- Discord standart mesajı 2.000 karakter; embed açıklamaları 4.096; Nitro düz mesajlarda 4.000’e yükseltir
- Slack mesajı 40.000 karakter; 2.000’in üzerinde okunabilirlik keskin biçimde düşer ve birçok alıcı uzun mesajları görmezden gelir
İçerik türüne göre sözcük sayısı hedefleri
Karakter limitleri sosyal medyaya ve SEO’ya hâkimdir; sözcük sayıları diğer her şeye (akademik çalışma, faturalandırma, içerik pazarlaması, el yazmaları) hâkimdir. Aşağıdaki tablo, her yaygın içerik türü için bir hedef aralık ve bir okuma süresi tahmini (230 wpm, Brysbaert 2019 sessiz okuma meta-analizi medyanı) verir.
| İçerik türü | Sözcük hedefi | 230 wpm’de okuma süresi | Notlar |
|---|---|---|---|
| Tweet | 30-40 sözcük | 10 sn | sözcük için değil, karakter için optimize edin |
| LinkedIn gönderisi (tatlı nokta) | 170-250 sözcük | 1 dk | fold üstü |
| Instagram açıklaması (kanca) | 20-25 sözcük | <10 sn | ilk 125 karakter |
| Blog yazısı — kısa | 500-700 sözcük | 2-3 dk | listicle, haber, sıcak yorum |
| Blog yazısı — standart | 1.000-1.500 sözcük | 4-7 dk | öğretici, derin rehber |
| Blog yazısı — uzun | 2.000-3.000 sözcük | 9-13 dk | kapsamlı rehber |
| SEO sütun sayfası | 2.500-5.000 sözcük | 11-22 dk | konu otoritesi |
| Akademik deneme (lise) | 500-1.500 sözcük | 2-7 dk | ödeve göre değişir |
| Akademik deneme (lisans) | 1.500-3.000 sözcük | 7-13 dk | ödev başına |
| NaNoWriMo günlük | 1.667 sözcük/gün | — | 30 günde 50K sözcük |
| Roman — kısa | 50.000-70.000 sözcük | — | YA, gizem |
| Roman — standart | 80.000-100.000 sözcük | — | yetişkin kurgu |
| Konferans konuşması (12 dk @ 130 wpm) | 1.500-1.600 sözcük | konuşma | doğrulamak için prova edin |
| Podcast bölümü (30 dk @ 130 wpm) | 3.900 sözcük | konuşma | yazılı bölüm |
Okuma süresi içerik pazarlaması için daha yararlı hedef birimidir; okurlar “5 dakikalık okuma” etiketine “1.150 sözcük” etiketinden daha güvenilir biçimde yanıt verir. Sözcük sayısı, faturalandırma için (çeviri kaynak sözcük başına faturalandırılır), platform uyumu için (NaNoWriMo’nun 50K’sı, akademik 2.000 sözcük tavanı) ve sözleşme şartları için hâlâ birimdir. Kelime Sayıcı siz yazarken her ikisini de gerçek zamanlı gösterir, ayrıca konuşmalar ve podcast’ler için 130 wpm’de konuşma süresini de gösterir.
Gerçek uygulamaları bozan 6 sayma hatası
Bunlar yayınlanan kodda ve yayınlanan pazarlama kampanyalarında görülen tekrarlayan başarısızlıklardır. Her biri belirti, kök neden ve düzeltme ile eşleştirilmiştir.
Hata 1: Karakter limiti doğrulaması için string.length kullanmak
Belirti: Bir kullanıcı aslında 270 codepoint olan üç emojili bir tweet yapıştırır. Ön uç doğrulamanız 276 der ve göndermeyi reddeder. Ya da, daha kötüsü, kodunuz emoji bütçesi iptal olduğu için 285 codepoint’lik bir taslağı kabul eder ve Twitter onu sunucu tarafında reddeder.
Kök neden: JavaScript’teki String.prototype.length UTF-16 kod birimlerini döndürür. Her emoji bir vekil çifttir ve 2 birime mal olur. Her astral düzlem karakteri (matematik sembolleri, eski yazılar) aynı şeyi yapar.
Düzeltme: Spread operatörü veya Array.from ile codepoint başına yineleyin.
// ❌ wrong
function isUnderTwitterLimit(text) {
return text.length <= 280;
}
// ✅ correct
function isUnderTwitterLimit(text) {
return [...text].length <= 280;
}
Daha derin regex tabanlı codepoint yineleme kalıpları için (grafem kümesi işleme dahil), Regex Cheat Sheet /u ve /v bayraklarını ve Unicode özellik kaçışlarını kapsar.
Hata 2: Sözcük sayısı için CJK metnini boşlukta bölmek
Belirti: 500 karakterlik bir Çince makale 1 sözcük olarak raporlanır. Buna dayalı çeviri teklifi 500 kat hatalıdır.
Kök neden: CJK dilleri sözcük boşlukları kullanmaz. text.split(/\s+/) tüm denemeyi içeren tek bir simge döndürür.
Düzeltme: Her CJK ideogramını bir sözcük olarak sayın; Microsoft Word, Google Docs ve her yerel CJK sözcük işlemcisinin kullandığı uzlaşı budur.
function countWordsMixed(text) {
const cjk = (text.match(/[一-鿿-ヿ가-]/g) || []).length;
const latin = (text
.replace(/[一-鿿-ヿ가-]/g, ' ')
.match(/[A-Za-z0-9]+(?:['’-][A-Za-z0-9]+)*/g) || []).length;
return cjk + latin;
}
Unicode aralıkları CJK Unified Ideographs (U+4E00’den U+9FFF’ye), Hiragana ve Katakana (U+3040’tan U+30FF’ye) ve Hangul Syllables’ı (U+AC00’den U+D7AF’ye); Microsoft Word’ün sözcük sayımının ideogram olarak saydığı dört bloku kapsar.
Hata 3: Twitter URL 23 karakter ikamesini unutmak
Belirti: Bir taslak, sayacınızda 80 karakterlik bir URL dahil 320 karakter gösterir. Onu kırpmak için 10 dakika harcarsınız, sadece Twitter’ın orijinali 263 karakterde kabul edeceğini fark etmek için.
Kök neden: Twitter her URL’yi yayın anında 23 karakterlik bir t.co bağlantısıyla değiştirir. Ham sayacınız bunu bilmez.
Düzeltme: Her URL için ham − URL_uzunluğu + 23 kullanarak yayınlanan uzunluğu önceden hesaplayın. Birden fazla URL içeren taslaklar için düzeltmeleri toplayın. Yayınlanan içerikte URL algılaması RFC 3986’yı takip eder; URL Kodlama ve Çözme rehberinin gezdirdiği aynı çözümleme kuralları.
Hata 4: Meta açıklamayı 320 karaktere yazmak (eski kılavuz)
Belirti: Sonunda CTA olan 280 karakterlik bir meta açıklama hazırladınız. Google arama sonuçlarında açıklama 158. karakterde cümle ortasında kesilir ve CTA hiç görünmez.
Kök neden: Aralık 2017 ile Mayıs 2018 arasında Google meta açıklama gösterimini kısa süreliğine 320 karaktere genişletti. Birçok SEO eğitimi hâlâ bu sayıyı zikreder. Google 2018 ortasında ~160’a geri döndü ve o zamandan beri orada kaldı.
Düzeltme: 150-160 karaktere yazın. Birincil anahtar kelimeyi ilk 30 karaktere, CTA’yı son 30 karaktere koyun. Yüksek riskli sayfalar için piksel doğruluğu olan bir SERP simülatörü kullanın; geniş glifler (W, M, K) bütçeyi dar olanlardan (i, l, t) daha hızlı yer.
Hata 5: 280 karakter ile 280 sözcüğü karıştırmak
Belirti: Ekipten biri “280 sözcüklük bir tweet’e ihtiyacımız var” yazar ve 1.500 karakter mükemmel düzyazı üretir. Tweet gönderilemez.
Kök neden: Karakter ve sözcük karışıklığı. İki birim İngilizce düzyazı için kabaca 5-6 kat farklıdır.
Düzeltme: Kuralı platform başına sabitleyin. Twitter, SMS ve SEO meta karakter sayar. NaNoWriMo, akademik ödevler, çeviri sözleşmeleri ve çoğu içerik pazarlama brifi sözcük sayar. Şüphe duyduğunuzda, spesifikasyonu sabitlemeden önce platformun kendi sayacını (Twitter’ın oluşturma kutusu, Word’ün Review > Word Count’u) kontrol edin.
Hata 6: SMS’i sessizce UCS-2’ye geçiren akıllı tırnaklar yapıştırmak
Belirti: SMS gönderenizine Google Docs’tan bir müşteri makbuzu şablonu kopyalıyorsunuz. Orijinali 145 karakterdi ve tek bir GSM-7 parçası olarak gönderildi. Yapıştırmadan sonra aynı 145 karakter ama 2 UCS-2 parçası olarak faturalanır. Bir milyonluk mesaj kampanyasında maliyetler ikiye katlanır.
Kök neden: Google Docs ve Word, " ve '’yi tipografçı tırnaklarına " " ve ' '’ye otomatik dönüştürür. Bu tırnaklar GSM-7 karakter setinde değildir, bu da tüm mesajı UCS-2’ye çevirir.
Düzeltme: İletmeden önce normalleştirin:
function toGsm7Quotes(s) {
return s
.replace(/[“”]/g, '"') // " " → "
.replace(/[‘’]/g, "'") // ' ' → '
.replace(/[–—]/g, '-'); // – — → -
}
Faturalandırmaya duyarlı gönderimlerden önce bunu çalıştırın. Twilio, MessageBird ve Bandwidth’in hepsi yanıtta bir kodlama alanı sunar; onu kaydedin ve GSM-7 olarak amaçladığınız şablonlarda UCS-2 belirdiğinde uyarı verin.
SSS
Karakter sayısı ile sözcük sayısı arasındaki fark nedir?
Karakter sayısı boşluklar, noktalama ve emoji dahil her karakteri sayar; çoğu modern platformda Unicode codepoint ile ölçülür. Sözcük sayısı, Latin yazıları için boşlukla ayrılmış simgeleri ve CJK için ideogram bazında sayar. Twitter, SMS ve SEO meta açıklamaları karakter sayısı kullanır. Akademik denemeler, NaNoWriMo el yazmaları ve çeviri faturaları sözcük sayısı kullanır.
Twitter neden emojiyi 1 karakter sayarken JavaScript onları 2 sayar?
Twitter Unicode kod noktası ile ölçer: her emoji bir codepoint, bir karakterdir. JavaScript’in string.length’i UTF-16 kod birimlerini ölçer. Çoğu emoji U+FFFF’nin üzerindedir ve UTF-16’da vekil çift olarak kodlanır, bu nedenle iki kod birimi alırlar ve .length 2 döndürür. Twitter’ın gerçekte saydığı codepoint sayısını almak için [...text].length veya Array.from(text).length kullanın.
SMS karakter limiti neden bazen 160, bazen 70?
SMS varsayılan olarak 7-bit GSM-7 kodlaması kullanır ve 140 baytlık yükte 160 karakter verir. Mesaj herhangi bir GSM-7 dışı karakter (emoji, akıllı tırnak, CJK, küçük bir set ötesinde vurgulu Latin) içeriyorsa, tüm mesaj 16-bit UCS-2 kodlamasına geçer ve parça başına limit 70 karaktere düşer. Mesajın herhangi bir yerinde bir emoji geçişi tetikler.
2026’da ideal meta açıklama uzunluğu nedir?
150-160 karakter hedefleyin. Google’ın masaüstü SERP’i, görüntü piksel genişliğine bağlı olarak 155-165 civarında kırpar; mobil 100 ile 120 arasında keser. 120 karakterin altında Google açıklamanızı sıklıkla tamamen sayfa gövdesinden bir pasajla değiştirir. Birincil anahtar kelimeyi ilk 30 karakterde öne çıkarın ve son 30’da CTA ile bitirin, böylece mesaj her iki yönden de kırpmadan kurtulur.
Karakter limiti boşlukları ve emojiyi içerir mi?
Evet, neredeyse her platformda. Boşluklar, satır sonları, noktalama ve emojinin her biri bir Unicode codepoint olarak sayılır. Bilmeye değer iki istisna: emojinin yukarıda açıklanan kodlama geçişini tetiklediği SMS ve grafem kümelerini sayan Bluesky; aile 👨👩👧👦 gibi çok codepoint’li bir emoji 7 yerine 1 karaktere mal olur.
Çince, Japonca, Korece metin için sözcük sayısı nasıl hesaplanır?
Her CJK ideogramı bir sözcük olarak sayılır; Microsoft Word’ün Çince mod sözcük sayımı, Google Docs, yerel CJK editörleri ve her ticari çeviri belleği sisteminin kullandığı uzlaşı budur. 500 karakterlik bir Çince deneme 500 sözcük olarak raporlanır. Karışık metin CJK ideogramlarını karakter bazında, Latin simgeleri boşlukla sayar ve ikisini toplar.
Twitter 280 karakter limitinde URL uzunluğunu nasıl ele alır?
Twitter, orijinal uzunluğa bakılmaksızın her URL’yi yayın anında otomatik olarak 23 karakterlik bir t.co kısa bağlantısıyla sarmalar. Yayınlanan uzunluk URL başına yayınlanan = ham − URL_uzunluğu + 23 formülünü takip eder. 100 karakterlik bir URL içeren 320 karakterlik bir taslak 243 karakter olarak gönderilir. Twitter URL’leri RFC 3986 kalıplarına göre tanır, bu nedenle sorgu dizeleri ve fragmanlar URL simgesine emilir.
İlgili okumalar
- Regex Cheat Sheet — karakter doğrulaması için kalıp eşleme, Unicode özellik kaçışları
- Metin Diff Çevrimiçi Rehberi — iki metin parçasını satır satır ve karakter karakter karşılaştırma
- URL Kodlama ve Çözme Rehberi — metin URL’lerden geçerken karakter kaçış kuralları
- Base64’ü Anlamak — e-postaya ve ikili veriye uygulanan “bitleri karaktere” kodlamanın diğer yarısı