SMS Tester

An SMS is the least forgiving channel in marketing. One curly quote or emoji can halve your character limit and double your bill; a missing ‘Reply STOP’ can put you on the wrong side of the TCPA. Paste your message below to see the exact segment count and a compliance score before you send to a single number.

A well-formed marketing SMS fits in one segment (160 characters in GSM-7, or 70 if any character forces Unicode), opens with a brand identifier, includes a clear opt-out like ‘Reply STOP’, carries at most one short branded link, and avoids spam-trigger words. This tester computes your real segment count by encoding and scores the message against each compliance and deliverability rule. Quiet-hours and consent rules are legal requirements — treat the notes here as a checklist, not legal advice.

The calculator

SMS Tester inputs and result

We compute segments by GSM-7/Unicode and score compliance.
✓ Paste an SMS to test
Billed segments
0
0characters
0encoding
Export

Walkthrough

How to use this calculator

  1. Paste your SMS copyEnter the exact message you plan to send, including any link and opt-out language. The tool counts real characters and code points.
  2. Read the segment countSee your encoding (GSM-7 or Unicode), unit count and billed segments. One non-GSM character drops your limit from 160 to 70.
  3. Check compliance flagsConfirm a clear opt-out (Reply STOP), a brand identifier and clean copy. Missing opt-outs and spam words are the highest-impact issues.
  4. Tighten to one segmentIf you span multiple segments, trim copy or swap non-GSM characters for plain ones to cut cost and avoid out-of-order delivery.
  5. Honor quiet hours and exportEnforce TCPA quiet hours (8am-9pm local) at send time, then export your check with the buttons below.

From the desk

RGM Expert Says

Real Growth Matters — Lifecycle & SMS practiceHow we use this tool with clients

The first thing we teach SMS clients is that the channel charges by the segment, not the message. A text that looks like one message to you can be three to the carrier, tripling cost across a million-person list. The usual culprit is a single non-GSM character — a smart quote pasted from a doc, an em dash, an emoji — which silently switches the whole message to Unicode and drops the per-segment limit from 160 to 70. We run every template through a segment check so the bill matches the plan.

Compliance is where SMS gets people in real trouble, and it is not optional. US marketing texts need prior express written consent, a clear brand identifier, and a working opt-out; the TCPA also restricts sends to 8am-9pm in the recipient’s local time. We bake ‘Reply STOP to opt out’ and the brand name into every template and enforce quiet hours at the platform level. This tester flags the message-level pieces; the consent record and time-zone logic live in your sending system.

On A2P 10DLC, carrier filtering is aggressive and unforgiving. Spammy phrasing, all-caps, and shady-looking link shorteners get messages dropped before they reach a phone, with no bounce to tell you. The fix is boring and effective: branded copy, a branded short link, normal case, and no ‘FREE WINNER’ language. A clean message is both more compliant and more deliverable — the two goals point the same way.

The math

How it works

The tester classifies every character as GSM-7 or Unicode, counts encoding units (GSM-7 extension characters cost two), and derives the segment count from the per-encoding limits. It then runs compliance and deliverability checks — opt-out, brand, links, spam words, caps — each carrying a weighted penalty against a starting score of 100.

Segments = 1 if units ≤ single-limit, else ceil(units ÷ multi-limit)
GSM-7: single = 160, multi = 153 · Unicode (UCS-2): single = 70, multi = 67
  • GSM-7 — the default 7-bit alphabet; 160 chars in a single segment, 153 when concatenated.
  • Unicode (UCS-2) — triggered by any non-GSM character; 70 chars single, 67 concatenated.
  • Segment — the billed unit; multi-segment messages are stitched on the handset and can arrive out of order.
  • Opt-out — a clear way to stop (‘Reply STOP’); required for US marketing SMS.
  • Quiet hours — TCPA restricts marketing texts to 8am-9pm local time; enforce at send.

Segment math follows the GSM 03.38 / 3GPP TS 23.038 7-bit alphabet and UCS-2 concatenation (see GSM 03.38). Consent, identification and opt-out follow the TCPA and CTIA messaging principles. This is a checklist, not legal advice.

Why it matters

Why segments and consent decide SMS economics

SMS has the highest engagement of any marketing channel and the least room for waste. With open rates far above email, a single well-timed text can outperform a whole email sequence — but every character counts literally, because you pay per segment per recipient. Knowing your true segment count before a broadcast is the difference between a profitable program and a surprise invoice, especially at list sizes where one extra segment is thousands of dollars.

Encoding is the hidden tax. Writers compose in tools that auto-insert curly quotes and em dashes, and those characters quietly force the entire message into Unicode, cutting the per-segment limit by more than half. A message that fit comfortably in 160 GSM-7 characters now needs two or three Unicode segments. Catching that at the draft stage — by testing the exact string you will send — is the only reliable way to keep costs predictable.

Compliance is not a nicety in SMS; it is the license to operate. The TCPA carries real statutory damages per message, carriers enforce A2P 10DLC registration and content rules, and a missing opt-out or unbranded sender invites both complaints and filtering. The good news is that compliant copy and deliverable copy are nearly the same thing: brand yourself, give a clear opt-out, keep it human, and both the regulators and the carriers stay out of your way.

Benchmarks

SMS encoding limits

Per-segment character limits depend entirely on encoding.

EncodingSingle segmentConcatenatedTrigger
GSM-7160 chars153 chars/segmentDefault basic Latin set
Unicode (UCS-2)70 chars67 chars/segmentAny emoji or non-GSM character
Limits per the GSM 03.38 standard. A single non-GSM character switches the whole message to Unicode.

Go deeper

Go deeper

Related on RGM

Keep learning

FAQ

Common questions

How many characters can an SMS hold?
160 in GSM-7 encoding for a single segment, or 70 if the message contains any non-GSM character (forcing Unicode/UCS-2). Longer messages split into 153-character (GSM-7) or 67-character (Unicode) segments.
Why does one emoji change my SMS limit?
A single emoji or non-GSM character switches the entire message from GSM-7 to Unicode encoding, which cuts the per-segment limit from 160 to 70 characters. That can turn one billed segment into two or three.
What is a segment and why does it matter?
A segment is the billed unit of an SMS. Carriers charge per segment per recipient, so a three-segment message to a large list costs three times as much. This tool shows your real segment count by encoding.
Do I have to include 'Reply STOP'?
For US marketing texts, yes — a clear opt-out is expected under the TCPA and carrier rules. Open with your brand and include opt-out language. This tool flags a missing opt-out, but consult counsel for your jurisdiction.
What are SMS quiet hours?
The TCPA restricts marketing texts to between 8am and 9pm in the recipient's local time zone. Enforce quiet hours in your sending platform; a message tester cannot know the recipient's time zone.
Why do my texts get filtered?
On A2P 10DLC, carriers filter spammy phrasing, all-caps, unbranded senders and suspicious link shorteners. Use a branded sender, a branded short link, normal case and plain language to stay deliverable.

Related tools

Related tools