gizmobench
BrowseDaily

SMS Character Counter

Check how text divides into SMS segments. This page opens with the SMS preset selected and detects whether the draft fits the GSM-7 alphabet or needs UTF-16 units. It shows the encoding, segment count and remaining space in the current segment. It counts a text draft; it does not send messages or estimate a provider’s bill.

counts0 words
0characters, 0 without spaces

SMS message: 160 left of 160 septets

Words
0
Sentences
0
Paragraphs
0
Lines
0
UTF-16 units
0
UTF-8 bytes
0
Reading
0 sec
Speaking
0 sec
Remaining
160 left
Messages
0 (GSM-7)
What a character is here. Characters are counted as visible Unicode grapheme clusters, with UTF-16 units, code points and UTF-8 bytes shown separately. X uses weighted length and SMS uses encoding-based segments. Other preset limits are visible-character drafting guides; the destination platform decides what fits.

Every count

The rule each figure was counted by, so you can tell which one a platform means.

  • CharactersGrapheme clusters: the characters you see
    0
  • Without spacesSpaces, tabs and line breaks dropped
    0
  • WordsSegmented by Unicode word rules, hyphenated words count once
    0
  • LettersLetter graphemes only; no numbers, punctuation or spaces
    0
  • Unique lettersDistinct letters, normalized and ignoring case
    0
  • Unique charactersDistinct literal grapheme clusters, including case and whitespace
    0
  • Unique wordsDistinct words, ignoring case
    0
  • SentencesSplit on . ! ? and their CJK forms, skipping common abbreviations
    0
  • ParagraphsBlocks separated by a blank line
    0
  • LinesEvery line break, whatever the ending
    0
  • UTF-16 unitsJavaScript string length; an astral emoji uses two units
    0
  • UTF-8 bytesLength when the text is encoded as UTF-8
    0
  • Code pointsUnicode code points; a visible character can contain several
    0
  • Average word lengthCharacters per word
    0
  • Longest wordMeasured in characters
    None yet
  • Reading time238 words a minute, the measured adult silent average
    0 sec
  • Speaking time150 words a minute, a usual presentation pace
    0 sec

Preset limits

X uses weighted length and SMS uses encoding-based segments. The other presets compare visible characters with a drafting limit; the destination may count differently. Track one to see the room left under that check.

  • X postLatin counts 1, CJK and emoji count 2, and any link would count 23.
    280 left, 0 of 280 weighted characters
  • Instagram captionA visible-character drafting guide for captions, including hashtags and @mentions. Instagram may count some Unicode text differently.
    2,200 left, 0 of 2,200 characters
  • SMS messageGSM-7, one message. 160 septets left in the current segment.
    160 left, 0 of 160 septets
  • Meta descriptionA 160-character drafting guide. Google chooses and truncates snippets by context and pixel width; this is not a pixel measurement.
    160 left, 0 of 160 characters
  • Title tagA 60-character drafting guide. Search-result titles depend on pixel width and may be rewritten by Google.
    60 left, 0 of 60 characters
  • LinkedIn postA visible-character drafting guide for posts. LinkedIn may count some Unicode text differently; this does not check profile fields.
    3,000 left, 0 of 3,000 characters

Keyword density

The words used most, as a share of every word in the text. A short list of stop words such as the, and, of and to is left out, so the terms you are actually writing about come to the top.

Write a sentence or two and the words you lean on most appear here.

Character and letter frequency

The 100 most frequent entries, with counts and percentages. Letters are normalized and folded to lower case; All characters keeps case, emoji, digits, punctuation and whitespace. Character order preserves case in All characters mode.

No letters yet.

Nothing you paste leaves this tab. The counting runs in the page itself, so a draft, a client brief or an unpublished post is only ever on your machine. There is no size limit either: the practical ceiling is your own memory.

Common questions

Why can one emoji change the SMS limit?
An emoji is outside GSM-7, so the message switches to the Unicode counting path. A single segment then holds 70 UTF-16 units instead of 160 GSM-7 septets. Many emoji use two UTF-16 units, so 70 units does not always mean 70 visible characters.
Why do long SMS messages use 153 or 67 units per segment?
Concatenated messages reserve space for the header that joins segments. The counter uses 153 GSM-7 septets or 67 UTF-16 units per segment once a message is split.
Do all GSM-7 characters use one unit?
No. Characters in the extension table, such as braces and the euro sign, use an escape sequence and count as two septets. The counter includes that cost.
Does this validate RCS, MMS or a provider API?
No. It is an SMS text segmentation check. Providers and routes can impose additional limits, and RCS or MMS uses different rules. Nothing is sent to a messaging service.

Characters are counted as visible Unicode grapheme clusters, with UTF-16 units, code points and UTF-8 bytes shown separately. X uses weighted length and SMS uses encoding-based segments. Other preset limits are visible-character drafting guides; the destination platform decides what fits.