Social Media Character Limits
Social media character limits range from 15 characters for an X handle to 63,206 for a Facebook post, and a fancy letter such as 𝐀 counts as 1 character on some platforms and 2 on others. "𝐇𝐞𝐥𝐥𝐨" is 5 Unicode characters, 10 UTF-16 units and a weight of 10 on X. The counter below checks styled text against 7 common limits.
- Bold (serif) 26/150 𝐅𝐚𝐧𝐜𝐲 𝐭𝐞𝐱𝐭 𝐜𝐡𝐚𝐫𝐚𝐜𝐭𝐞𝐫 𝐜𝐨𝐮𝐧𝐭
- Cursive script 26/150 ℱ𝒶𝓃𝒸𝓎 𝓉ℯ𝓍𝓉 𝒸𝒽𝒶𝓇𝒶𝒸𝓉ℯ𝓇 𝒸ℴ𝓊𝓃𝓉
- Small caps 26/150 ꜰᴀɴᴄʏ ᴛᴇxᴛ ᴄʜᴀʀᴀᴄᴛᴇʀ ᴄᴏᴜɴᴛ
- Wide (fullwidth) 26/150 Fancy text character count
- Strikethrough 49/150 F̶a̶n̶c̶y̶ t̶e̶x̶t̶ c̶h̶a̶r̶a̶c̶t̶e̶r̶ c̶o̶u̶n̶t̶
- Glitch (zalgo) 195/150 F̱̭̯̤̳͈ͤá̫̦̲̦̣͗n̢̲͉̐̐c͚̺͖͓̽͞ŷ̖̙͉ t̪̫̝͛ͥͤe̪̗͗͝x͕͚͓̹ͫ̉ͯ̑̋͝ṭ̳͎̮ͪ̍́̈́ͦ̏͠ c͓̻̖̺̓̇̍̎͡h͓̝̣̱̳̞̊̉ͪ̚͝ạ̺͈͚̰ͭͦ̉rͬ͗͏̰̲̟̥̮a͕͒̎̑c͇͎̃̀ͦ͋͋ͩt̛̥͓͓̒͂̋ͨḙ͚̳̾̈͋͐ͫṛ͓̰̮͂ͮ̒ c̸̬̦̙̉͒ͤ͌̔ͅö̸͚̤̅ͦ̾ͩu̹̥͓̰͌ͥͨ̽ͦ̽n̏͏͕͚̞t͖͔̲͖͌
Character limits by platform and field
The table lists 38 field limits across 10 platforms. "Official" means the platform's own help center, developer docs or validation endpoint states the number; "Secondary" means only third-party sources report it. All figures were checked on 5 November 2026.
| Platform | Field | Limit | Fancy text | Source |
|---|---|---|---|---|
| Username | 30 | Rejected | Secondary | |
| Name | 30 | Accepted | Secondary | |
| Bio | 150 | Accepted | Secondary | |
| Caption | 2,200 | Accepted | Official (API docs) | |
| Hashtags per post | 5 (was 30 until Dec 2025) | — | Secondary | |
| Comment | 2,200 | Accepted | Secondary | |
| Discord | Username | 2–32 | Rejected (a–z, 0–9, _ and . only) | Official |
| Discord | Display name | 1–32 | Accepted | Official |
| Discord | About Me | 190 | Accepted | Official |
| Discord | Server name | 2–100 | Accepted | Official (developer docs) |
| Discord | Channel name | 1–100 | Not documented | Official (limit) |
| Discord | Message | 2,000 (4,000 with Nitro) | Accepted | Official |
| Discord | Server Tag | 4 | Restricted character set | Official |
| TikTok | Username | 2–24 | Rejected | Characters: official; length: secondary |
| TikTok | Name | 30 | Accepted | Official (archived) |
| TikTok | Bio | 80 | Accepted | Secondary |
| TikTok | Caption (API) | 2,200 UTF-16 units | Accepted, 2 units per styled letter | Official (API docs) |
| X (Twitter) | Handle | 15 | Rejected (A–Z, 0–9, _) | Official (archived) |
| X (Twitter) | Display name | 50 | Accepted | Official (archived) |
| X (Twitter) | Bio | 160 | Accepted | Official (archived) |
| X (Twitter) | Post | 280 weighted | Accepted, each styled letter weighs 2 | Official |
| Post | 63,206 | Accepted | Secondary | |
| Intro (bio) | 101 | Accepted | Secondary | |
| Comment | 8,000 | Accepted | Secondary | |
| Post | 3,000 | Accepted | Official | |
| Connection note | 200 | Accepted | Official | |
| Headline | 220 | Accepted | Secondary | |
| About | 2,600 | Accepted | Secondary | |
| Comment | 1,250 | Accepted | Secondary | |
| YouTube | Handle | 3–30 | Rejected (75 supported languages only) | Official |
| YouTube | Video title | 100 | Accepted | Official |
| YouTube | Video description | 5,000 | Accepted | Official |
| YouTube | Comment | 10,000 | Accepted | Secondary |
| About | 139 | Accepted | Official (Business API) | |
| Roblox | Username | 3–20 | Rejected (a–z, 0–9, one _) | Official (validator test, Nov 2026) |
| Roblox | Display name | 3–20 | Circled letters rejected | Official |
| Fortnite (Epic) | Display name | 3–16 | Character set not published | Official (length) |
| VRChat | Display name | 4–15 | Character set not published | Official |
Do fancy fonts count as more characters?
Yes, on platforms that count UTF-16 units, bytes or weighted characters; no, on platforms that count Unicode code points. The same 9-letter word "Aesthetic" produces these 4 counts in each style:
| Style | Output | Code points | UTF-16 units | UTF-8 bytes | X weight |
|---|---|---|---|---|---|
| Plain text | Aesthetic | 9 | 9 | 9 | 9 |
| Bold | 𝐀𝐞𝐬𝐭𝐡𝐞𝐭𝐢𝐜 | 9 | 18 | 36 | 18 |
| Cursive | 𝒜ℯ𝓈𝓉𝒽ℯ𝓉𝒾𝒸 | 9 | 16 | 34 | 18 |
| Gothic | 𝔄𝔢𝔰𝔱𝔥𝔢𝔱𝔦𝔠 | 9 | 18 | 36 | 18 |
| Small caps | ᴀᴇꜱᴛʜᴇᴛɪᴄ | 9 | 9 | 25 | 16 |
| Bubble | Ⓐⓔⓢⓣⓗⓔⓣⓘⓒ | 9 | 9 | 27 | 18 |
| Wide | Aesthetic | 9 | 9 | 27 | 18 |
| Strikethrough | A̶e̶s̶t̶h̶e̶t̶i̶c̶ | 18 | 18 | 27 | 18 |
| Glitch (zalgo) | A̱̭̯̤̳͈ͤé̫̦̲̦̣͗s̢̲͉̐̐t͚̺͖͓̽͞ĥ̖̙͉e̪̫̝͛ͥͤt̪̗͗͝i͕͚͓̹ͫ̉ͯ̑̋͝c̣̳͎̮ͪ̍́̈́ͦ̏͠ | 69 | 69 | 129 | 69 |
The 4 counting methods differ for 4 reasons:
- Code points count each Unicode character once. Bold and plain text tie.
- UTF-16 units count each Mathematical Alphanumeric letter as 2, because those letters sit outside the Basic Multilingual Plane. JavaScript's
.lengthand TikTok's caption API use this count. - UTF-8 bytes count a Mathematical Alphanumeric letter as 4. Byte-limited fields, such as some game name fields, fill up 4 times faster.
- Combining marks are separate characters. Strikethrough doubles the count, and default glitch text multiplies it by about 8.
How does X count fancy text?
X counts every fancy letter as 2 toward the 280 limit. X's open-source twitter-text configuration gives a weight of 1 only to code points in 4 ranges (U+0000–U+10FF, U+2000–U+200D, U+2010–U+201F and U+2032–U+2037) and a weight of 2 to everything else. Mathematical letters, small caps, circled letters, fullwidth letters, U+3164 and U+2800 all fall outside those ranges, so a post written entirely in bold fits 140 letters. Combining marks (U+0300–U+036F) weigh 1 each, so strikethrough text still doubles the count. X normalizes text with NFC before counting, which leaves styled letters unchanged. The twitter fonts page applies this weighting in its counter.
How does TikTok count fancy text in captions?
TikTok's Content Posting API limits captions to 2,200 "UTF-16 runes", so each Mathematical Alphanumeric letter uses 2 of the 2,200. In-app captions are widely reported at 4,000 characters, but TikTok has not published how the app counts them. TikTok names (30 characters) accept styled text, and usernames reject it; the tiktok fonts page filters styles for the name and bio.
Which fancy text styles use the most characters?
Glitch text uses the most characters, followed by strikethrough and underline, because every letter carries extra combining marks. A single glitch letter from the glitch text generator holds 3 to 13 code points at the default intensity (8.6 on average) and up to 40 at the maximum intensity, so a 32-character Discord display name fits about 3 default glitch letters. Small caps and wide text use 1 code point per letter, and their UTF-16 cost is also 1 per letter. For tight fields such as names, the small text generator gives the cheapest styled output on UTF-16-counting platforms.
Which character limits are not officially documented?
10 commonly quoted limits have no official source as of November 2026, so treat them as approximate: the Instagram username, name and highlight name; the TikTok username length and bio; Roblox profile descriptions; Free Fire, PUBG Mobile and Mobile Legends nicknames; and Steam profile names, which forum reports describe as a 32-byte limit rather than 32 characters.
Platform pages with built-in counters
Each platform page counts styled output against that platform's own fields. The instagram fonts page checks the 150-character bio, and the discord fonts page checks the 32-character display name and the 190-character About Me. Why styled letters behave as separate characters is covered in how fancy text works.