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.
SMS Tester inputs and result
How to use this calculator
- 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.
- 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.
- 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.
- 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.
- Honor quiet hours and exportEnforce TCPA quiet hours (8am-9pm local) at send time, then export your check with the buttons below.
RGM Expert Says
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.
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.
- 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 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.
SMS encoding limits
Per-segment character limits depend entirely on encoding.
| Encoding | Single segment | Concatenated | Trigger |
|---|---|---|---|
| GSM-7 | 160 chars | 153 chars/segment | Default basic Latin set |
| Unicode (UCS-2) | 70 chars | 67 chars/segment | Any emoji or non-GSM character |