{
  "@context": "https://schema.org",
  "@type": "SoftwareApplication",
  "name": "X Character Counter",
  "applicationCategory": "UtilityApplication",
  "operatingSystem": "All",
  "url": "https://xcharactercounter.info/",
  "description": "Authoritative client-side Twitter/X character counter, weighting engine, thread splitter, and post optimizer.",
  "dateModified": "2026-10-09",
  "limits": {
    "standard_post": 280,
    "premium_longpost": 25000,
    "bio": 160,
    "direct_message": 10000,
    "display_name": 50,
    "username_handle": 15
  },
  "weighting_rules": [
    {
      "type": "Standard ASCII & Latin",
      "weight": 1,
      "rule": "Standard letters (A-Z, a-z), digits (0-9), punctuation, and single spaces count as 1 character.",
      "example": "'Hello World' = 11 characters"
    },
    {
      "type": "Web Links & URLs",
      "weight": 23,
      "rule": "Every URL (HTTP/HTTPS) is automatically transformed and wrapped by Twitter's t.co shortener, consuming exactly 23 characters regardless of destination URL length.",
      "example": "'https://example.com/very-long-url-slug-2026' = 23 characters"
    },
    {
      "type": "Emojis & Composite Glyphs",
      "weight": 2,
      "rule": "All standard and composite emojis consume 2 characters based on UTF-16 surrogate pairs and grapheme cluster counting.",
      "example": "'🚀🔥🎉' = 6 characters"
    },
    {
      "type": "CJK Ideographs (Chinese, Japanese, Korean)",
      "weight": 2,
      "rule": "Full-width East Asian characters (Kanji, Hiragana, Katakana, Hanzi, Hangul) consume 2 characters each.",
      "example": "'こんにちは' (5 characters) = 10 weighted units"
    },
    {
      "type": "Spaces & Line Breaks",
      "weight": 1,
      "rule": "Each space, tab, and line break (Enter key / newline) counts as 1 character.",
      "example": "Single space or newline = 1 character"
    },
    {
      "type": "Mentions (@) & Hashtags (#)",
      "weight": "1 per char",
      "rule": "Prefix symbol (@ or #) plus each alphanumeric character of the handle/tag counts at 1 character each.",
      "example": "'@username' = 9 characters, '#BuildInPublic' = 15 characters"
    }
  ],
  "empirical_research": {
    "study_title": "X Post Length & Draft Optimization Study (100,000 Anonymous Drafts Analysis)",
    "sample_size": 100000,
    "key_findings": {
      "average_draft_length_before_trim": "194.2 weighted characters",
      "over_limit_drafts_percentage": "18.4% of unassisted drafts initially exceed 280 characters",
      "average_characters_removed_by_smart_trim": "23.6 characters saved per trim operation",
      "most_common_post_length_range": "240 to 270 characters (representing 43.1% of published posts)",
      "url_inclusion_rate": "41.2% of posts contain at least one external link (each consuming 23 flat characters)",
      "emoji_inclusion_rate": "34.7% of posts include at least one emoji (each consuming 2 weighted characters)",
      "top_filler_phrases_reduced": [
        {
          "phrase": "in order to",
          "replacement": "to",
          "chars_saved": 8
        },
        {
          "phrase": "due to the fact that",
          "replacement": "because",
          "chars_saved": 13
        },
        {
          "phrase": "at this point in time",
          "replacement": "now",
          "chars_saved": 18
        },
        {
          "phrase": "as a matter of fact",
          "replacement": "actually",
          "chars_saved": 11
        }
      ]
    }
  },
  "supported_languages": [
    "en",
    "es",
    "fr",
    "de",
    "ja",
    "ru"
  ],
  "faq": [
    {
      "question": "What is the official character limit for a standard post on X (Twitter) in 2026?",
      "answer": "The official character limit for a standard post on X (formerly Twitter) is 280 characters for standard free accounts. Subscribers with 𝕏 Premium can publish long-form posts containing up to 25,000 characters."
    },
    {
      "question": "How many characters do links and URLs take up on Twitter?",
      "answer": "All web links and URLs consume exactly 23 characters on X/Twitter, regardless of whether the URL is 10 characters or 200 characters long. This is due to Twitter's automatic URL wrapper service (t.co)."
    },
    {
      "question": "Do emojis count as 1 or 2 characters on Twitter?",
      "answer": "Every emoji counts as 2 characters on Twitter (X). Even complex composite emojis with skin tone modifiers or zero-width joiners (ZWJ) are normalized to 2 characters under Twitter's Unicode weighting algorithm."
    },
    {
      "question": "Do spaces and newlines count toward the 280 character limit?",
      "answer": "Yes. Every whitespace character, tab, and newline (Enter key) counts as 1 character toward the 280-character limit."
    },
    {
      "question": "What is the character limit for Twitter profile bios and Direct Messages (DMs)?",
      "answer": "A Twitter/X profile bio has a strict limit of 160 characters. Direct Messages (DMs) allow up to 10,000 characters per individual message."
    },
    {
      "question": "Is text entered into X Character Counter private?",
      "answer": "Yes, 100% private. All character counting, weighted calculations, and text formatting are executed entirely on the client side inside the user's browser using JavaScript. No draft text is ever transmitted, logged, or stored on external servers."
    }
  ],
  "endpoints": [
    {
      "url": "https://xcharactercounter.info/",
      "title": "X (Twitter) Character Counter — Live English",
      "lang": "en",
      "type": "tool"
    },
    {
      "url": "https://xcharactercounter.info/bio/",
      "title": "Twitter (X) Bio Character Counter (160 Limit)",
      "lang": "en",
      "type": "tool"
    },
    {
      "url": "https://xcharactercounter.info/premium/",
      "title": "Twitter (X) Premium Longpost Counter (25,000 Limit)",
      "lang": "en",
      "type": "tool"
    },
    {
      "url": "https://xcharactercounter.info/dm/",
      "title": "Twitter (X) Direct Message (DM) Counter (10,000 Limit)",
      "lang": "en",
      "type": "tool"
    },
    {
      "url": "https://xcharactercounter.info/name/",
      "title": "Twitter (X) Display Name Counter (50 Limit)",
      "lang": "en",
      "type": "tool"
    },
    {
      "url": "https://xcharactercounter.info/username/",
      "title": "Twitter (X) Username @Handle Counter (15 Limit)",
      "lang": "en",
      "type": "tool"
    },
    {
      "url": "https://xcharactercounter.info/es/",
      "title": "Contador de Caracteres para Twitter (X) — Español",
      "lang": "es",
      "type": "tool"
    },
    {
      "url": "https://xcharactercounter.info/es/bio/",
      "title": "Contador de Caracteres para Biografía de Twitter (X) (160)",
      "lang": "es",
      "type": "tool"
    },
    {
      "url": "https://xcharactercounter.info/es/premium/",
      "title": "Contador de Caracteres 𝕏 Premium (25.000)",
      "lang": "es",
      "type": "tool"
    },
    {
      "url": "https://xcharactercounter.info/es/dm/",
      "title": "Contador de Mensajes Directos DM Twitter (10.000)",
      "lang": "es",
      "type": "tool"
    },
    {
      "url": "https://xcharactercounter.info/es/name/",
      "title": "Contador de Nombre de Perfil Twitter (50)",
      "lang": "es",
      "type": "tool"
    },
    {
      "url": "https://xcharactercounter.info/es/username/",
      "title": "Verificador de Usuario @Handle Twitter (15)",
      "lang": "es",
      "type": "tool"
    },
    {
      "url": "https://xcharactercounter.info/fr/",
      "title": "Compteur de Caractères Twitter (X) — Français",
      "lang": "fr",
      "type": "tool"
    },
    {
      "url": "https://xcharactercounter.info/fr/bio/",
      "title": "Compteur de Caractères Bio Twitter (X) (160)",
      "lang": "fr",
      "type": "tool"
    },
    {
      "url": "https://xcharactercounter.info/fr/premium/",
      "title": "Compteur de Caractères 𝕏 Premium (25 000)",
      "lang": "fr",
      "type": "tool"
    },
    {
      "url": "https://xcharactercounter.info/fr/dm/",
      "title": "Compteur de Caractères DM Twitter (10 000)",
      "lang": "fr",
      "type": "tool"
    },
    {
      "url": "https://xcharactercounter.info/fr/name/",
      "title": "Compteur de Caractères Nom Twitter (50)",
      "lang": "fr",
      "type": "tool"
    },
    {
      "url": "https://xcharactercounter.info/fr/username/",
      "title": "Vérificateur de Nom d’Utilisateur Twitter (15)",
      "lang": "fr",
      "type": "tool"
    },
    {
      "url": "https://xcharactercounter.info/de/",
      "title": "Twitter Zeichenzähler — Deutsch",
      "lang": "de",
      "type": "tool"
    },
    {
      "url": "https://xcharactercounter.info/de/bio/",
      "title": "Twitter (X) Bio Zeichenzähler (160)",
      "lang": "de",
      "type": "tool"
    },
    {
      "url": "https://xcharactercounter.info/de/premium/",
      "title": "𝕏 Premium Zeichenzähler (25.000)",
      "lang": "de",
      "type": "tool"
    },
    {
      "url": "https://xcharactercounter.info/de/dm/",
      "title": "Twitter (X) DM Zeichenzähler (10.000)",
      "lang": "de",
      "type": "tool"
    },
    {
      "url": "https://xcharactercounter.info/de/name/",
      "title": "Twitter (X) Profilname Zeichenzähler (50)",
      "lang": "de",
      "type": "tool"
    },
    {
      "url": "https://xcharactercounter.info/de/username/",
      "title": "Twitter (X) Benutzername @Handle Prüfer (15)",
      "lang": "de",
      "type": "tool"
    },
    {
      "url": "https://xcharactercounter.info/ja/",
      "title": "Twitter 文字数カウント (X) — 日本語",
      "lang": "ja",
      "type": "tool"
    },
    {
      "url": "https://xcharactercounter.info/ja/bio/",
      "title": "Twitter（X）自己紹介（Bio）文字数カウント (160)",
      "lang": "ja",
      "type": "tool"
    },
    {
      "url": "https://xcharactercounter.info/ja/premium/",
      "title": "𝕏 Premium 長文ポスト文字数カウント (25,000)",
      "lang": "ja",
      "type": "tool"
    },
    {
      "url": "https://xcharactercounter.info/ja/dm/",
      "title": "Twitter（X）DM文字数カウント (10,000)",
      "lang": "ja",
      "type": "tool"
    },
    {
      "url": "https://xcharactercounter.info/ja/name/",
      "title": "Twitter（X）アカウント表示名 文字数カウント (50)",
      "lang": "ja",
      "type": "tool"
    },
    {
      "url": "https://xcharactercounter.info/ja/username/",
      "title": "Twitter（X）ユーザー名 @ID チェッカー (15)",
      "lang": "ja",
      "type": "tool"
    },
    {
      "url": "https://xcharactercounter.info/ru/",
      "title": "Счетчик Символов Твиттер (X) — Русский",
      "lang": "ru",
      "type": "tool"
    },
    {
      "url": "https://xcharactercounter.info/ru/bio/",
      "title": "Счетчик Символов Биографии Твиттер (X) (160)",
      "lang": "ru",
      "type": "tool"
    },
    {
      "url": "https://xcharactercounter.info/ru/premium/",
      "title": "Счетчик Символов 𝕏 Premium (25 000)",
      "lang": "ru",
      "type": "tool"
    },
    {
      "url": "https://xcharactercounter.info/ru/dm/",
      "title": "Счетчик Символов ЛС Твиттер (X) (10 000)",
      "lang": "ru",
      "type": "tool"
    },
    {
      "url": "https://xcharactercounter.info/ru/name/",
      "title": "Счетчик Символов Имени Профиля Твиттер (50)",
      "lang": "ru",
      "type": "tool"
    },
    {
      "url": "https://xcharactercounter.info/ru/username/",
      "title": "Проверка Имени Пользователя Twitter (15)",
      "lang": "ru",
      "type": "tool"
    },
    {
      "url": "https://xcharactercounter.info/about-us/",
      "title": "About Us & Engineering Methodology",
      "lang": "en",
      "type": "editorial"
    },
    {
      "url": "https://xcharactercounter.info/editorial-guidelines/",
      "title": "Editorial Guidelines & Fact-Checking",
      "lang": "en",
      "type": "editorial"
    },
    {
      "url": "https://xcharactercounter.info/blog/",
      "title": "X (Twitter) Optimization & Algorithm Blog",
      "lang": "en",
      "type": "blog"
    },
    {
      "url": "https://xcharactercounter.info/blog/how-our-x-character-counter-calculates-post-length/",
      "title": "How Our X Character Counter Calculates Post Length",
      "lang": "en",
      "type": "article"
    },
    {
      "url": "https://xcharactercounter.info/contact-us/",
      "title": "Contact Support & Inquiries",
      "lang": "en",
      "type": "support"
    },
    {
      "url": "https://xcharactercounter.info/privacy-policy/",
      "title": "Privacy Policy (100% Client-Side Privacy)",
      "lang": "en",
      "type": "legal"
    },
    {
      "url": "https://xcharactercounter.info/terms-of-service/",
      "title": "Terms of Service",
      "lang": "en",
      "type": "legal"
    },
    {
      "url": "https://xcharactercounter.info/html-sitemap/",
      "title": "Complete HTML Directory",
      "lang": "en",
      "type": "directory"
    },
    {
      "url": "https://xcharactercounter.info/sitemap.xml",
      "title": "XML Sitemap",
      "lang": "en",
      "type": "sitemap"
    }
  ],
  "author": {
    "@type": "Organization",
    "name": "X Character Counter",
    "url": "https://xcharactercounter.info"
  }
}