Social Media Character Counter
Check your draft against documented platform rules, then split long posts without losing text. Everything runs locally in this tab.
Your text
0 Characters
0 Words
Your draft stays in this tab. Nothing is uploaded or saved.
Text statistics
- Lines
- 0
- UTF-8 bytes
- 0
- URLs
- 0
- Hashtags
- 0
- Mentions
- 0
Compare posts and captions
One draft, all platforms. Expand a row for fields, limits and splitting.
≈ Estimated count. Each bar shows the most-used limit. A warning appears at 90–100% usage.
How to use the social media counter
- Paste or type your post here…
- One draft, all platforms. Expand a row for fields, limits and splitting.
- For long posts, review the proposed parts and optionally add numbering. Copy individual parts or copy them all.
- For a video description, inspect the length boundary and edit your original text yourself. Check the final draft in the destination editor before publishing.
Why platform counts differ
A grapheme is a character as it is typically perceived: an accented letter or a family emoji may consist of several Unicode code points. Bytes measure encoded size instead. The same draft can therefore fit one platform and exceed another.
X applies a weighted model and transforms recognized URLs before counting. Bluesky independently checks graphemes and bytes. YouTube descriptions use bytes, while the TikTok video API specifies UTF-16 units. The source sections above describe the supported fields.
Spaces and explicit line breaks remain part of the text. Word counts use language-aware segmentation where available. URL, hashtag and mention totals are informational detections, not promises that every platform will linkify them identically. Repeated hashtags are grouped without regard to case or canonically equivalent accents.
For Facebook, Instagram, LinkedIn and other targets marked approximate, a documented or secondary-source ceiling is used with grapheme counting. An official source does not automatically establish exact Unicode semantics. Estimated results guide editing and never claim that the platform has accepted or rejected your draft.
Practical examples and limits
Try a family emoji, a letter with a combining accent and a Chinese sentence. Compare the grapheme count with UTF-8 bytes: a short-looking description can still consume substantial space.
Paste a long URL into an X post and compare it with Bluesky. Then enable numbering in the splitter: the numbering consumes part of each post’s allowance. Paragraph and sentence boundaries are preferred when they leave a reasonably full part.
The splitter preserves every original space and line break. A link or hashtag longer than the allowance remains whole with a warning. This tool does not rewrite your message, score engagement or predict where a feed will fold text.
Also compare Russian and Chinese platforms: VK, OK, MAX, Weibo, WeChat, Douyin, Xiaohongshu and Bilibili. Choose the listed field and check its source; API, promoted-post and member limits apply only to those workflows.
Privacy and accuracy
Drafts live only in page memory. They are not sent to a server, stored in browser storage, added to URLs or included in page metadata. Reloading or leaving the page loses the draft. Copying writes to your clipboard only when you request it.
Limits describe the linked fields and sources, not every account tier or publishing workflow. The X library has older emoji data, and browsers without Intl.Segmenter use an approximate Unicode fallback. Verify unusual Unicode and the final publishing result in the platform editor.
Questions about social media counting
Sources and last verified
Caption
Approximate count: 2,200 graphemes
Instagram captions use Sprout Social’s publishing reference. This is an approximate grapheme count, not a verified Instagram Unicode validator; captions, bios and Stories are different fields.
Instagram · Caption: source documentation · Sprout SocialSecondary estimate · Verified 2026-09-12
Bio
Approximate count: 150 graphemes
Instagram bio length uses Hootsuite’s guide as a secondary reference. Links and other profile fields are separate. Review emoji and combining characters in Instagram before saving.
Instagram · Bio: source documentation · HootsuiteSecondary estimate · Verified 2026-09-12
Post
Approximate count: 63,206 graphemes
Facebook post length uses Sprout Social’s publishing reference as a secondary estimate. Ads, backgrounds, Reels and publishing tools can impose different limits. Graphemes are an approximation of the native editor’s count.
Facebook · Post: source documentation · Sprout SocialSecondary estimate · Verified 2026-09-12
Post
Approximate count: 3,000 graphemes
LinkedIn documents the standard post ceiling, but does not define its Unicode counting unit in this help page. This tool uses graphemes as an estimate. Articles and profile headlines have different rules.
LinkedIn · Post: source documentation · LinkedInOfficial source · Verified 2026-09-12
X
Post
280 weighted characters
Standard X posts use twitter-text 3.1.0: weighted characters, NFC normalization and transformed URLs. The parser’s older emoji data may differ from today’s editor. Premium long posts, media and automatic reply mentions are outside this check.
X · Post: source documentation · XOfficial source · Verified 2026-09-11
Threads
Post
Approximate count: 500 graphemes
Threads separates ordinary posts from longer text attachments. Select the matching field. Meta documents both ceilings, while this grapheme count remains approximate; a text attachment is not a longer ordinary post.
Threads · Post: source documentation · MetaOfficial source · Verified 2026-09-12
Text attachment
Approximate count: 10,000 graphemes
Threads separates ordinary posts from longer text attachments. Select the matching field. Meta documents both ceilings, while this grapheme count remains approximate; a text attachment is not a longer ordinary post.
Threads · Text attachment: source documentation · MetaOfficial source · Verified 2026-09-12
TikTok
Video caption (API)
2,200 UTF-16 units
This is TikTok’s video Direct Post API caption rule, measured in UTF-16 units. A supplementary emoji uses two units; a composed emoji can use more. In-app and photo-post limits can differ.
TikTok · Video caption (API): source documentation · TikTokOfficial source · Verified 2026-09-11
YouTube
Video description
5,000 UTF-8 bytes
YouTube descriptions are limited by UTF-8 bytes, not visible characters. The characters < and > are forbidden. The draft is never normalized or shortened.
YouTube · Video description: source documentation · YouTubeOfficial source · Verified 2026-09-11
Video title
Approximate count: 100 graphemes
YouTube titles have a character ceiling separate from description bytes. The source does not define the title’s Unicode unit, so grapheme counting is approximate. The forbidden characters < and > are still checked exactly.
YouTube · Video title: source documentation · YouTubeOfficial source · Verified 2026-09-12
Telegram
Bot message (plain text)
Approximate count: 4,096 graphemes
Telegram Bot API limits apply after entity parsing. Paste plain text as it should appear after formatting: HTML and Markdown are not parsed here. Grapheme counts and split budgets are approximate, and Premium app captions may differ from bot captions.
Telegram · Bot message (plain text): source documentation · TelegramOfficial source · Verified 2026-09-12
Bot media caption (plain text)
Approximate count: 1,024 graphemes
Telegram Bot API limits apply after entity parsing. Paste plain text as it should appear after formatting: HTML and Markdown are not parsed here. Grapheme counts and split budgets are approximate, and Premium app captions may differ from bot captions.
Telegram · Bot media caption (plain text): source documentation · TelegramOfficial source · Verified 2026-09-12
Bluesky
Post
300 graphemes
3,000 UTF-8 bytes
Bluesky checks both visible grapheme clusters and the UTF-8 size of the original text. Both limits must be met; a complex emoji can use many bytes.
Bluesky · Post: source documentation · BlueskyOfficial source · Verified 2026-09-11
Pin title
Approximate count: 100 graphemes
Pinterest documents separate Pin title and description limits. This tool follows the linked current specs rather than older scheduler tables. Grapheme counting is approximate; the editor remains the final check.
Pinterest · Pin title: source documentation · PinterestOfficial source · Verified 2026-09-12
Pin description
Approximate count: 800 graphemes
Pinterest documents separate Pin title and description limits. This tool follows the linked current specs rather than older scheduler tables. Grapheme counting is approximate; the editor remains the final check.
Pinterest · Pin description: source documentation · PinterestOfficial source · Verified 2026-09-12
Discord
Message (Free / Basic)
Approximate count: 2,000 graphemes
Discord Free and Nitro Basic share the standard message limit; full Nitro has a separate allowance. This is an approximate grapheme count. Markdown, custom emoji markup and mention identifiers can consume more space than their visible rendering.
Discord · Message (Free / Basic): source documentation · DiscordOfficial source · Verified 2026-09-12
Message (Nitro)
Approximate count: 4,000 graphemes
Discord Free and Nitro Basic share the standard message limit; full Nitro has a separate allowance. This is an approximate grapheme count. Markdown, custom emoji markup and mention identifiers can consume more space than their visible rendering.
Discord · Message (Nitro): source documentation · DiscordOfficial source · Verified 2026-09-12
VK ВКонтакте
Post
Approximate count: 16,384 graphemes
VK uses Autoposter’s wall-post reference. Grapheme counting is an estimate; article and media fields have separate rules.
VK ВКонтакте · Post: source documentation · AutoposterSecondary estimate · Verified 2026-09-12
OK Одноклассники
Promoted post
Approximate count: 25,000 graphemes
OK’s source describes promoted posts, with up to 25,000 characters. Grapheme counting is approximate; this is not a limit for every OK format.
OK Одноклассники · Promoted post: source documentation · OKOfficial source · Verified 2026-09-12
MAX
Bot message (plain text)
Approximate count: 4,000 graphemes
MAX’s Bot API allows up to 4,000 characters in a chat or channel message. This estimate counts plain text; HTML and Markdown are not parsed.
MAX · Bot message (plain text): source documentation · MAXOfficial source · Verified 2026-09-12
Weibo 微博
Post
Approximate count: 5,000 graphemes
Weibo’s verified feedback account lists 5,000 Chinese characters for regular posts and 10,000 for members. Grapheme estimates do not reproduce mixed-script weighting or link handling. Reposts, comments and API sharing have different limits.
Weibo 微博 · Post: source documentation · Weibo 意见箱Official source · Verified 2026-09-12
Post (member)
Approximate count: 10,000 graphemes
Weibo’s verified feedback account lists 5,000 Chinese characters for regular posts and 10,000 for members. Grapheme estimates do not reproduce mixed-script weighting or link handling. Reposts, comments and API sharing have different limits.
Weibo 微博 · Post (member): source documentation · Weibo 意见箱Official source · Verified 2026-09-12
WeChat 微信
Customer service message (API)
Approximate count: 2,048 UTF-8 bytes
This is WeChat Customer Service API text, not Moments, personal chats or public-account articles. The source specifies 2,048 bytes; UTF-8 is used as a reference estimate. Other sending restrictions still apply.
WeChat 微信 · Customer service message (API): source documentation · WeChat Customer ServiceOfficial source · Verified 2026-09-12
Douyin 抖音
Video caption (API)
Approximate count: 1,000 graphemes
Douyin’s video publishing API allows 1,000 characters in its text field, including topics and mentions. This grapheme estimate does not cover every editor or video format.
Douyin 抖音 · Video caption (API): source documentation · DouyinOfficial source · Verified 2026-09-12
Xiaohongshu 小红书
Standard note
Approximate count: 1,000 graphemes
MyAIBot documents 1,000 characters for standard Xiaohongshu note bodies. This is an estimated publishing-tool reference; titles and long-form notes have separate rules.
Xiaohongshu 小红书 · Standard note: source documentation · MyAIBotSecondary estimate · Verified 2026-09-12
Bilibili 哔哩哔哩
Video description (API)
Approximate count: 249 graphemes
Bilibili’s Open Platform submission API specifies a description shorter than 250 and a title shorter than 80: the reference budgets here are 249 and 79. Unicode counting is estimated; these are not universal app-editor limits.
Bilibili 哔哩哔哩 · Video description (API): source documentation · Bilibili Open PlatformOfficial source · Verified 2026-09-12
Video title (API)
Approximate count: 79 graphemes
Bilibili’s Open Platform submission API specifies a description shorter than 250 and a title shorter than 80: the reference budgets here are 249 and 79. Unicode counting is estimated; these are not universal app-editor limits.
Bilibili 哔哩哔哩 · Video title (API): source documentation · Bilibili Open PlatformOfficial source · Verified 2026-09-12
Coverage is field-specific. Estimates, API limits and account tiers are labeled; confirm the result in the destination editor. There is no universal ideal length or guaranteed reach score.
Related tools
Character Counter
Count characters, words, sentences and paragraphs. Check word density, reading time and UTF-8 size, all in your browser.
Open tool — Character Counter