TapCub is live — analytics, insights and live chat, free on one platform

Free tool Character counter for every platform limit

The same line of copy can fit one field and overflow the next: X weights CJK characters and links, Google Ads counts double-width characters twice, App Store keywords are limited in bytes. Paste your text once and see, field by field, how much room is left on each platform, counted the way that platform counts.

  • 30+ platform fields
  • Limits with official sources
  • Runs in your browser
Character counter

Check your text against platform limits

Type or paste text. The table counts it for every platform field; filter by type of platform, or load an example.

A title, bio, post, store description or SMS. It stays in this browser tab and is never uploaded.

Characters

32

What you see: one letter, one CJK character or one emoji counts 1.

Double-width count

32

CJK and full-width characters count 2, others 1 (the Google Ads rule).

X weighted count

32

X rules: CJK and emoji count 2, any link counts 23, limit 280.

UTF-8 bytes

32

ASCII is 1 byte, accented letters 2, CJK 3, emoji 4. App Store keywords are limited in bytes.

Platform fields

“Limit” is the number in the platform’s own docs; “Counted as” says how that field is measured.

Platform · fieldCounted asNowLimitStatus
X (Twitter) · postX weighted (CJK, emoji 2; links 23)32280248 left
Threads · text postCharacters; emoji in UTF-8 bytes32500468 left
Bluesky · postGraphemes (and ≤ 3,000 bytes)32300268 left
Mastodon · post (default)Characters; links 23, @ counts username only32500468 left
LinkedIn · post1 per character323,0002,968 left
Instagram · caption1 per character322,2002,168 left
Instagram · hashtagsNumber of # hashtags03030 left
TikTok · caption (API)UTF-16 code units (emoji mostly 2)322,2002,168 left
YouTube · video title1 per character3210068 left
YouTube · description1 per character325,0004,968 left
App Store · app name1 per character322–302 over
App Store · subtitle1 per character32302 over
App Store · promotional text1 per character32170138 left
App Store · keywordsUTF-8 bytes3210068 left
App Store · description1 per character324,0003,968 left
Google Play · app name1 per character32302 over
Google Play · short description1 per character328048 left
Google Play · full description1 per character324,0003,968 left
Google Play · release notes1 per character32500468 left
Google Ads · headline (RSA)CJK / full-width count 232302 over
Google Ads · description (RSA)CJK / full-width count 2329058 left
Google Ads · display pathCJK / full-width count 2321517 over
Google Search · title tagNo length rule32No fixed limitTruncated by width
Google Search · meta descriptionNo length rule32No fixed limitTruncated by width
Baidu · page titleNo length rule32No fixed limitTruncated by width
WeChat Official Account · article title (draft API)1 per character3232Exactly at limit
WeChat Official Account · summary (draft API)1 per character3212088 left
WeChat mini program · description1 per character324–12088 left
Alipay mini program · nameCJK / full-width count 2323–302 over
Alipay mini program · short descriptionCJK / full-width count 23210–32Exactly at limit
Douyin mini program · nameCJK / full-width count 2324–2012 over
Douyin mini program · description1 per character3210–6028 left
Weibo · post (open API)1 per character32140108 left
Douyin · video caption (open API)1 per character321,000968 left
Bilibili · video title (open API, < 80)1 per character327947 left
Bilibili · video description (open API, < 250)1 per character32249217 left
SMS · one messageGSM-7 / UCS-2 encoding32 (GSM-7)160 per message1 message
Runs entirely in your browser. Nothing you type here is uploaded or stored by TapCub.

Version v1.0Updated Update history

Reading the result

Why platforms disagree about the same text

“Character” means something different on each platform. Read the “Counted as” column first, then the status.

X’s weighted count

Per the X developer docs, posts allow 280 characters, but Chinese, Japanese and Korean characters count 2 each, every emoji counts 2 however complex it is, and every link counts 23. The tool follows the v3 configuration of X’s open-source twitter-text library and is tested against that library’s conformance cases.

Byte limits

App Store keywords allow 100 bytes, not 100 characters. Plain English is one byte per character; accented letters take 2 bytes and CJK characters 3 in UTF-8. Apple does not name the encoding, so the tool estimates with UTF-8.

Double-width rules

Google Ads counts each character of double-width languages such as Chinese, Japanese and Korean as two, so a 30-character headline holds 15 CJK characters. The same rule applies to Alipay and Douyin mini program names.

Places with no limit

Google says there is no limit on the length of a title element or meta description; search results cut them to fit the device width. These rows show a count only. Check what will actually display with the SERP preview, which measures pixels.

“Nearly full” appears when less than 10% is left. Rows marked API or open API are limits from a platform’s developer API docs; the app or web editor may allow a different length, so trust the platform’s own warning when you publish.

How to use it

Check copy before you publish

Titles, bios and store copy usually go to several platforms at once. One paste checks them all.

  1. 1

    Paste your copy

    Paste the title, description or post. The table updates as you edit.

  2. 2

    Pick a platform group

    If you only care about social or app stores, filter with “Show platforms”.

  3. 3

    Read the status

    Red means over the limit or below the minimum, orange means nearly full, green means room left. The exact number over is in the status.

  4. 4

    Confirm on the platform

    Do a final check in the platform’s own editor: API limits and editor limits can differ, and platforms change their rules.

Counting rules and sources

Every limit comes from the platform’s own docs

Only numbers stated in a platform’s help center, developer docs or API reference are included, each checked on 2026-11-10. Numbers that appear only in third-party articles (Facebook’s 63,206 characters, for example) are left out.

  • “1 per character” means one per Unicode code point: a letter or a CJK character is 1. Emoji built from several code points (skin tones, families) count as several, which errs on the safe side
  • X: text is NFC-normalized, then weighted by the twitter-text v3 code point ranges (U+0000–U+10FF and a few punctuation ranges count 1, everything else 2). Link detection is a simplified version of the official extractor and handles common domains
  • Bluesky has two limits at once: 300 graphemes (visible characters) and 3,000 bytes; both must hold
  • SMS: all-GSM-7 text fits 160 characters in one message and 153 per part when split; a single character outside GSM-7 (any emoji or CJK) switches the whole message to UCS-2: 70 per message, 67 per part (Twilio docs)
Main limits and where they come from
Platform · fieldLimitWhat the docs say
X post280 (weighted)X developer docs: CJK counts 2, links count 23
Threads text post500Threads API: emojis counted as UTF-8 bytes
Bluesky post300 graphemesapp.bsky.feed.post lexicon: maxGraphemes 300, maxLength 3000
LinkedIn post3,000LinkedIn Help
Instagram caption2,200 · 30 hashtagsInstagram Graph API
YouTube title / description100 / 5,000YouTube Help
App Store name / subtitle / keywords30 / 30 / 100 bytesApp Store Connect Help
Google Play name / short / full30 / 80 / 4,000Play Console Help: full- and half-width both count 1
Google Ads headline / description30 / 90Google Ads Help: double-width characters count 2
Google title / meta descriptionNo limitGoogle Search Central: truncated to fit the device
Worked example

One line of copy, five different counts

The default example, “Analytics and live chat, one app”, has 32 characters including spaces and one comma, all plain ASCII.

The same text, counted per platform
Platform · fieldCounted asCountLimitResult
App Store subtitle1 per character32302 over: drop “one ” or the comma
Google Play app name1 per character32302 over
Google Ads headlineCJK counts 2 (none here)32302 over
X postWeighted32280248 left
App Store keywordsUTF-8 bytes32100 bytes68 left

With English text most counts agree; they split apart once CJK characters, emoji or links appear. Translate the same subtitle into Chinese and the Google Ads count doubles while the App Store count barely moves.

Common mistakes

Counts that don’t match usually mean the rule is different

When a platform says you are over and your own count says you are not, it is almost always one of these.

Assuming one character is one character

Google Ads and several mini program platforms count CJK as 2. A 30-character field holds only 15 Chinese characters.

Expecting links to count at their length

X and Mastodon count every link as 23. A long link with UTM parameters costs no more; a short one costs no less.

Writing to a “60-character title rule”

Google has no character limit for titles or descriptions; truncation is by display width. Wide letters like W and M use it up faster. Check with the SERP preview.

One emoji in an SMS

A single character outside GSM-7 switches the whole SMS to UCS-2, cutting a message from 160 to 70 characters, so a long text splits into more billed parts.

FAQ

Character counter FAQ

Still have a question?

Chat with the team behind TapCub — we usually reply within a few hours on business days.

How is this different from a word counter?

A word counter answers “how long is this article?”: words, sentences, reading time. A character counter answers “will this fit in that field?”. Each platform counts differently (CJK as 2, links as 23, bytes instead of characters), so this tool counts once per platform field.

How many characters can an X post have?

280 weighted characters for a standard account. Latin letters, digits and common punctuation count 1; Chinese, Japanese and Korean characters count 2; every emoji counts 2; every link counts 23 regardless of length. The tool follows X’s open-source twitter-text rules.

Do emoji count as one character?

Depends on the platform. X counts any emoji as 2. Threads counts an emoji by its UTF-8 bytes (often 4, more for combined emoji). Bluesky counts graphemes, so one emoji is 1 but its bytes also count toward a 3,000-byte cap. TikTok’s API counts UTF-16 code units, usually 2 per emoji.

What is the App Store keyword limit in characters?

Apple states 100 bytes, not characters. In UTF-8 plain English is one byte per character, so it is 100 characters including commas; accented letters take 2 bytes and CJK characters 3. Apple does not name the encoding, so treat the byte count as an estimate.

Is there a character limit for title tags and meta descriptions?

No fixed one. Google Search Central says there is no limit on the length of a meta description or title element; results are truncated to fit the device width. The common “60 / 160 characters” advice is a rule of thumb, not a Google rule.

How many characters fit in one SMS?

160 if every character is in the GSM-7 alphabet, 70 if any character is not (emoji, CJK, many symbols). Longer messages are split into parts of 153 or 67 characters. Some GSM-7 symbols such as { } [ ] ~ and € take two slots.

Why is Facebook not in the list?

Meta’s help center and Graph API docs don’t state a post length limit; the often-quoted 63,206 comes from 2011 press coverage. The tool only includes limits a platform documents itself.

Is my text uploaded?

No. Everything is counted in your browser. The text is not put in the URL and is not sent to TapCub.

Changelog

Update history

New features, fixes and data refreshes for this tool, newest first.

  1. · v1.0

    LaunchedFirst release.

Data this tool relies on

  • Platform character limits — checked 2026-11-10, reviewed every 6 months (next review by 2027-05-10)

Missing something or found an error? Tell us — requests that come up often go into the next update. All tool updates

See your data clearly. Find your growth.

Every click, backed by data. Install one line of code and see your first numbers in a minute.

No credit card · Free plans for analytics and chat · Cookieless analytics