SMS Character Limits and Segments for School Districts
The sharpest unowned fact in school messaging: a district that pays per segment is charged two to three times more to send the same message in Spanish than in English. Not because Spanish is longer — because one accented character re-encodes the whole message. Nobody in this category has written that down, and it changes what a bilingual district can afford to send.
| Phrase, correctly accented | Chars | Encoding | Accents stripped | Encoding |
|---|---|---|---|---|
| Todas las escuelas están cerradas hoy | 36 | UCS-2 | Todas las escuelas estan cerradas hoy | GSM-7 |
| Retraso de dos horas | 20 | GSM-7 | Retraso de dos horas | GSM-7 |
| Salida temprana hoy | 19 | GSM-7 | Salida temprana hoy | GSM-7 |
| No hay transporte escolar | 25 | GSM-7 | No hay transporte escolar | GSM-7 |
| Su hijo faltó a clases hoy | 26 | UCS-2 | Su hijo falto a clases hoy | GSM-7 |
| Oficina de asistencia | 21 | GSM-7 | Oficina de asistencia | GSM-7 |
| Llame a la escuela por favor | 28 | GSM-7 | Llame a la escuela por favor | GSM-7 |
| Cierre de seguridad en la escuela | 32 | GSM-7 | Cierre de seguridad en la escuela | GSM-7 |
| Los estudiantes están seguros | 28 | UCS-2 | Los estudiantes estan seguros | GSM-7 |
| No venga a la escuela | 21 | GSM-7 | No venga a la escuela | GSM-7 |
| Información adicional en | 25 | UCS-2 | Informacion adicional en | GSM-7 |
| Reunión de padres el martes | 27 | UCS-2 | Reunion de padres el martes | GSM-7 |
| Día de exámenes estatales | 26 | UCS-2 | Dia de examenes estatales | GSM-7 |
| Inscripción abierta hasta el | 28 | UCS-2 | Inscripcion abierta hasta el | GSM-7 |
| Su saldo de comidas es | 22 | GSM-7 | Su saldo de comidas es | GSM-7 |
| Vacunas pendientes: fecha límite | 30 | UCS-2 | Vacunas pendientes: fecha limite | GSM-7 |
| El autobús llegará tarde | 25 | UCS-2 | El autobus llegara tarde | GSM-7 |
| Padre, madre o tutor legal | 26 | GSM-7 | Padre, madre o tutor legal | GSM-7 |
| Responda STOP para no recibir mensajes | 38 | GSM-7 | Responda STOP para no recibir mensajes | GSM-7 |
| Gracias por su atención | 23 | UCS-2 | Gracias por su atencion | GSM-7 |
Eleven of the twenty carry an accent, and any one of them re-encodes the entire message it appears in. A Spanish closure text assembled from three accented phrases is not slightly more expensive than the English one; it is on a 70-character budget instead of a 160-character one, which usually means three segments instead of one.
What actually happens to a message
A text message is not stored as characters. It is stored as bits, and the number of bits per character depends on the alphabet used.
- GSM-7 packs each character into seven bits, so 140 bytes holds 160 characters. It covers unaccented Latin letters, digits, common punctuation and a handful of European characters.
- UCS-2 uses sixteen bits per character, so the same 140 bytes holds 70. Any character outside GSM-7 forces the entire message into UCS-2 — not just that character, the whole message.
- Concatenation splits a long message into parts and adds a small header to each so the handset can reassemble them. The header costs you: concatenated GSM-7 segments hold 153 characters each, concatenated UCS-2 segments hold 67.
So the real budget is 160 / 306 / 459 characters in GSM-7 against 70 / 134 / 201 in UCS-2. A 150-character message is one segment in English and three in accented Spanish, and you are billed per segment.
The seven GSM-7 extended characters — the square brackets, the curly braces, the backslash, the tilde, the caret, the vertical bar and the euro sign — are in the alphabet but consume two characters each because they need an escape. A template full of [PLACEHOLDERS] is longer than it looks in your editor, which is one reason a template that measured 158 characters in a document ends up as two segments in production.
The characters that break a school message
- The curly apostrophe. Word processors substitute it automatically. It is outside GSM-7. A single one in "your child's attendance" costs a district-wide send two extra segments per recipient.
- The em dash and the en dash. Same problem, same cause: pasted from a document.
- Curly quotation marks. Same.
- The ellipsis character when typed as one glyph rather than three full stops.
- Any emoji. One emoji anywhere converts the entire message to UCS-2 and many emoji consume two UCS-2 characters. A 90-character English message plus one emoji is two segments; the emoji cost you the entire GSM-7 budget for a decoration.
- Accented names. The one that cannot be designed away. A merge field resolving to José or Nuñez re-encodes the message for that recipient and no other, which means the same send costs different amounts for different families and nothing in the interface tells you.
Write and paste all templates in a plain-text editor, not a word processor. This single habit prevents most encoding surprises.
District cost model, worked twice
Take a district sending, per family per year: 180 same-day absence notifications across the enrolment (not per family — districts send roughly one per absent student per day), 30 district-wide operational messages, and 12 school-level messages. Model it per contact point rather than per student, because a two-household family is two recipients.
4,000 students, roughly 5,200 guardian contact points, 25% Spanish-preference.
- 30 district-wide sends × 5,200 recipients = 156,000 messages.
- English recipients (3,900): one segment each, 117,000 segments.
- Spanish recipients (1,300), accented: three segments each, 117,000 segments.
- Total 234,000 segments for a send volume of 156,000 messages — a 50% inflation caused entirely by accents.
- At 0.4¢ per segment: $936 rather than $624.
18,000 students, roughly 23,000 contact points, 40% Spanish-preference.
- 30 district-wide sends × 23,000 = 690,000 messages.
- English (13,800): 414,000 segments. Spanish (9,200) at three segments: 828,000 segments.
- Total 1,242,000 segments against 690,000 messages — 80% inflation.
- At 0.4¢: $4,968 rather than $2,760.
Add absence notifications and the numbers roughly double again. The point is not the exact figure, which depends on your rate; the point is that the inflation factor tracks your Spanish-speaking population, and no budget model built on "messages per year" will predict it.
Should a district strip accents to save money?
This is a real decision and it deserves a real answer rather than a principle.
Strip accents in SMS only, and keep them everywhere else — voice, email, letters, the web. That is the position we would defend. Written Spanish without accents is entirely readable to a fluent speaker; it is how Spanish speakers text each other, and it is how it has been sent over constrained channels for thirty years. It is not how a district should write a letter.
Three caveats that matter:
- Some words genuinely change meaning. Check the specific phrases you use rather than applying a blanket transform, and have a fluent speaker read the stripped versions once.
- Never strip accents from a person's name. A family's name is not a cost line, and getting it wrong reads as carelessness rather than thrift.
- Do not strip in any other language. Vietnamese, Arabic, Chinese, Somali, Haitian Creole and Ukrainian are all UCS-2 regardless, and the diacritics are not optional. Those sends are 70 characters per segment and that is the cost of serving those families.
Where the platform helps. Kastr's composer shows a live per-channel cost and reach estimate as you tick channels, which is the moment you notice that the Spanish leg has tripled. The translation preview renders the draft through DeepL in up to five languages before you send, so you can read what the Spanish actually says rather than trusting it. And translations are cached globally on a hash of source text, target and source language, so a district never pays twice to translate the same closure sentence — the cache holds no index of who a string belongs to, only the string itself.
Questions people actually ask
Why did my school text message split into two messages?
Either it exceeded 160 GSM-7 characters, or it contained a character outside GSM-7 — most commonly a curly apostrophe or an em dash pasted from a word processor, or an accent — which dropped the budget to 70 characters per segment. Concatenated messages also lose a few characters per segment to the reassembly header, so the second budget is 153 rather than 160.
Does a Spanish text message cost more to send than an English one?
Yes, typically two to three times more if it is correctly accented, because one accented character forces the whole message from a 160-character budget to a 70-character one. This is a structural cost penalty on serving Spanish-speaking families. Stripping accents in SMS only, while keeping them in every other channel, removes it.
How many characters can a school text message actually be?
160 in one GSM-7 segment, then 153 per segment once concatenated. In UCS-2 it is 70 and then 67. Practically, a school template should be written to fit 160 including the district identifier, and you should test it with your longest school name substituted rather than your shortest.
Do emojis make school text messages cost more?
Substantially. A single emoji converts the entire message to UCS-2, cutting the budget from 160 characters to 70, and many emoji consume two of those 70. A 90-character message with one emoji is two segments where it would have been one. For district-wide operational sends the arithmetic is not close.
Should a district strip accents from Spanish messages to save money?
In SMS, yes, with two exceptions: never in a person's name, and never in languages where the diacritics are not optional. Keep full accents in email, voice, letters and on the web. Have a fluent speaker review the stripped versions once so that no phrase has changed meaning, then keep the stripped set as the SMS source of truth.
One price. Every feature. Locked for three years.
$3.50 per student per year under 5,000 students. No tiers, no add-on modules, no per-message fees. Published on the site because you should not have to book a call to learn a price.