Zero Signup ToolsFree browser tools

Text Tools

SMS Character Counter

Count SMS characters with the real carrier rules: GSM-7 vs UCS-2 detection, 160 / 70 single limits, 153 / 67 per segment, and live segment preview.

SMS character counter

0 septets / 0 segments
Load sample

Counts run entirely in your browser. The text you paste here is never uploaded.

SMS limits reference

GSM-7

Used
Bits per character
7
Single SMS
160 characters
Per segment when split
153 characters
Extended (2 septets each)
^ { } [ ] ~ | \ € \f

UCS-2

Bits per code unit
16
Single SMS
70 characters
Per segment when split
67 characters
Triggers UCS-2
Emoji, Cyrillic, Arabic, CJK, curly quotes, em dash

How to use

  1. Type or paste your SMS into the message text box.
  2. Read the encoding badge: GSM-7 means your message uses the 7-bit alphabet (160 / 153 per segment); UCS-2 means at least one character forced the message into the 16-bit encoding (70 / 67 per segment).
  3. Check the ring for the current segment usage, and the sidebar for septets or code units used, segments billed, graphemes, code points, UTF-16 length, and UTF-8 bytes.
  4. If your message is in UCS-2, open the Characters forcing UCS-2 panel to see exactly which characters dropped the limit from 160 to 70. Replace them with ASCII equivalents to switch back to GSM-7.
  5. If your message uses GSM-7 extended characters (^ { } [ ] ~ | backslash Euro), watch the count: each one costs 2 septets.
  6. When the message is too long for a single SMS, scroll to the Segment preview to see each segment and use Copy on any segment.

About this tool

SMS Character Counter applies the rules carriers actually use when they bill an SMS, so the count you see matches the count on the invoice. A plain character count is wrong for an SMS in two ways: the protocol picks between two encodings depending on the characters you use, and the per-segment limit is smaller than the single-message limit once a message has to be split. This tool reproduces both. GSM-7 (the GSM 03.38 default alphabet) packs each character into 7 bits and fits 160 characters in a single SMS, or 153 per segment when the message is concatenated (the other 7 are reserved for the user data header that lets the receiver stitch parts back together). A small extension set of 10 characters (^ { } [ ] ~ | backslash Euro form feed) still uses GSM-7 but costs 2 septets each because of the escape byte. The moment a single character falls outside that alphabet, the whole message switches to UCS-2 (16 bits per code unit) and the limit drops to 70 characters in a single SMS or 67 per segment in a concatenated message. Emoji, curly quotes, em dashes, ellipses, Cyrillic, Arabic, Greek text (outside the few uppercase letters in GSM-7), Hebrew, and CJK all force UCS-2. Emoji and any non-BMP character also take 2 code units each in UCS-2, so an emoji-heavy message hits the 70-character limit twice as fast as the count of visible characters suggests. The tool reports the detected encoding, the per-segment cost (septets for GSM-7, code units for UCS-2), the total segment count, the characters left in the current segment, the list of characters that forced UCS-2 with their Unicode code points and short labels, the list of GSM-7 extended characters that are doubling up, and a segment-by-segment preview with a copy button per part. A reference card at the bottom shows the GSM-7 and UCS-2 limits side by side and highlights which one applies to your message. Useful for marketers writing promotional SMS campaigns who want to keep messages under 160 characters and avoid the surprise double bill from a single curly quote, for developers using Twilio, Vonage, Plivo, MessageBird, Sinch, or AWS SNS who need to know how many segments their template will produce, for support teams writing transactional SMS templates for OTPs, shipping updates, appointment reminders, and password resets, and for anyone debugging why an SMS that looks short is being billed as two or three messages. The counter never sends, drafts, or stores your message; everything runs locally on your device.

Free to use. Works in your browser. No signup, no login.

Related tools

You may also like

All tools
All toolsText Tools