School Text Message Templates
Every generic SMS vendor publishes a school template page. Not one of them prints a character count, and not one of them mentions that the Spanish version of the same message costs three times as much to send. That omission is not a detail. For a district serving 40% Spanish-speaking families it is the difference between a texting programme that fits the budget and one that does not.
| Template | English chars | Segments | Spanish, accented | Segments | Cost multiple |
|---|---|---|---|---|---|
| Closure, weather | 121 | 1 | 138 | 2 | 2× |
| Two-hour delay | 149 | 1 | 171 | 3 | 3× |
| Early release | 133 | 1 | 152 | 3 | 3× |
| Lockdown alert | 142 | 1 | 159 | 3 | 3× |
| All-clear | 118 | 1 | 131 | 2 | 2× |
| Same-day absence | 136 | 1 | 151 | 3 | 3× |
| Bus delay | 127 | 1 | 144 | 3 | 3× |
| Health office pickup request | 112 | 1 | 124 | 2 | 2× |
| Registration window opens | 145 | 1 | 166 | 3 | 3× |
| Event reminder | 104 | 1 | 117 | 2 | 2× |
| Testing day reminder | 139 | 1 | 158 | 3 | 3× |
| Meal balance reminder | 108 | 1 | 121 | 2 | 2× |
English counts are on the literal template with placeholders left in. A single accented character moves the whole Spanish message from the 160-character GSM-7 budget to the 70-character UCS-2 budget, so a 138-character Spanish message is two segments and a 152-character one is three. There is a full treatment on SMS character limits and segments.
Closure, delay and disruption
Every template below is written to fit one GSM-7 segment in English including the district identifier. The opt-out footer is discussed in its own section — where it is required, it does not fit, and the message becomes two segments. Plan for that rather than discovering it.
- Full closure.
[DIST]: All schools CLOSED today [DATE] — [REASON]. No buses, no activities, no childcare. Details: [URL] - Two-hour delay.
[DIST]: 2-HOUR DELAY today [DATE]. Buses run 2 hrs late. No AM pre-K. No breakfast. Doors open [TIME]. Details: [URL] - Early release.
[DIST]: EARLY RELEASE today. [SCHOOL] dismisses at [TIME]. Buses run [N] hrs early. After-school cancelled. Plan pickup now. - Delay becomes closure.
[DIST]: CHANGE — today's 2-hour delay is now a FULL CLOSURE. Schools are closed. Buses are not running. Bring children home from stops. - Bus route disruption.
[DIST]: Route [N] is running about [M] minutes late this afternoon. Students are supervised at school until pickup. [PHONE] - Power or water outage.
[DIST]: [SCHOOL] has no [WATER/POWER]. Students are safe and supervised. We will confirm dismissal plans by [TIME]. Do not come to the school yet.
Emergency, attendance, health and office
- Lockdown.
[DIST] EMERGENCY: [SCHOOL] is in lockdown. Students and staff are secure. Police on site. DO NOT come to school. DO NOT call. Update to follow. - All-clear.
[DIST]: The lockdown at [SCHOOL] is lifted. Building cleared, all students and staff accounted for. Normal dismissal at [TIME]. Letter to follow. - Evacuation.
[DIST] EMERGENCY: [SCHOOL] evacuated to [SITE ADDRESS]. Students are safe. Go to [SITE], bring photo ID. Do not go to [SCHOOL]. - Correction.
[DIST]: The alert sent at [TIME] was sent in error. There is no emergency at [SCHOOL]. We are sorry. [PHONE] for questions. - Same-day absence.
[DIST]: [STUDENT] was marked absent today [DATE] and we have no reason on file. Reply with the reason or call [PHONE]. - Health office pickup.
[SCHOOL] health office: please call [PHONE] about your child. We need to speak with you today.Never name the condition in a text. - Immunisation deadline.
[DIST]: [STUDENT]'s immunisation record is incomplete. Documents are due [DATE]. Call the health office on [PHONE] — we can help. - Registration.
[DIST]: Registration for [YEAR] opens [DATE] and closes [DATE]. Start at [URL] or call [PHONE]. Help sessions [DAY] [TIME]. - Meal balance.
[DIST]: Your family meal account balance is [AMOUNT]. Add funds at [URL] or apply for benefits at [URL2]. Questions: [PHONE]. - Event reminder.
[SCHOOL]: [EVENT] is tomorrow, [DATE], [TIME], in the [LOCATION]. No ticket needed. See you there.
Spanish, US-district register. Written rather than machine-translated, because the vocabulary a US district prints is not the vocabulary a translation engine reaches for. Use distrito escolar, cierre de escuelas, salida temprana, transporte escolar, oficina de asistencia, padre, madre o tutor legal. Avoid colegio for a US public school and avoid Castilian forms such as absentismo where US districts print ausentismo.
[DISTRITO]: Todas las escuelas están CERRADAS hoy [FECHA] por [MOTIVO]. No hay transporte escolar ni actividades. Información: [URL][DISTRITO]: RETRASO DE 2 HORAS hoy [FECHA]. Los autobuses pasan 2 horas más tarde. No hay pre-K por la mañana ni desayuno.[DISTRITO] EMERGENCIA: [ESCUELA] está en cierre de seguridad. Los estudiantes están seguros. NO venga a la escuela. NO llame. Le enviaremos más información.[DISTRITO]: [ESTUDIANTE] faltó a clases hoy [FECHA] y no tenemos el motivo. Responda con el motivo o llame al [TELÉFONO].
The nine messages that must not be a text
Length is not the only constraint. Some things belong in a letter with a date on it, and sending them by SMS creates a record problem, a dignity problem, or both.
- A statutory truancy notice. A text is excellent at getting attention and useless at proving service. Send the notice on paper and text the family that it is coming.
- A suspension or expulsion notice. Due process attaches to the document, not to the alert.
- Anything naming a health condition or a diagnosis. The health office asks the parent to call. It does not say why in writing to a device that may be shared.
- A special-education meeting notice. Prior written notice requirements are not satisfied by a text, whatever your platform's logs show.
- Notification that a child was injured, beyond "please call us now". A parent should hear detail from a person.
- The death of a student or staff member. Never. See holding statements for how this is sequenced.
- An individual disciplinary outcome. One student, one family, one letter.
- A negative meal balance for a specific child, framed as the child's debt. Several states legislate on this directly.
- Anything a family would need to keep. Texts are deleted, devices are replaced, numbers are reassigned. If the family will need it in March, it is an email or a letter.
Merge fields, opt-out footers and the pre-send checks
Merge fields inflate unpredictably. [SCHOOL] resolving to "Lincoln" costs seven characters; resolving to "Dr. Martin Luther King Jr. Elementary School" costs forty-three. A template that fits at 152 characters with your shortest school name is a three-segment message for your longest. Budget against the worst case in your actual roster, not against the example.
The opt-out footer. Reply STOP to opt out. is twenty-two characters plus a space, and it will push most of the templates above into a second segment. Where it is required, where it may be omitted, and what STOP must actually do are covered on SMS opt-in and opt-out for schools. The short version: do not decide this by whether the message fits.
Four checks before a bulk send.
- Send a test to yourself and read it on a phone, not on a screen. Kastr's send-test-to-me delivers only to you, prefixed
[TEST]. - Read the translation preview. Kastr renders the draft in up to five languages through DeepL before you commit, which is where you catch a translation that reads as Castilian or that has mangled a street name.
- Check the cost-and-reach estimate. The composer prices each channel live as you tick it, which is where a district notices that adding voice to a 12,000-family send has changed the number.
- Check consent state, not just presence. Kastr stores validationState and consentState as separate fields on every contact point, along with its source and rank, because "this number is in the roster" and "this household agreed to receive texts on it" are different facts and collapsing them is how districts lose an audit trail.
Stated plainly, because it will come up in a demo. Kastr sends SMS, email and voice. There are no push notifications, no attachments, and no photo or video sharing. Audience resolution covers specific people and everyone in the district — there is no grade, school or route preset, so "text every family on route 12" is a selection you build, not a filter you pick. And Kastr's own 10DLC brand and campaign registration is not complete; we write about 10DLC on the registration guide as expertise, and we are not going to tell you we hold something we do not.
Questions people actually ask
How long can a school text message be?
160 characters in one segment if every character is in the GSM-7 alphabet. Beyond that, messages are concatenated and the per-segment budget drops to 153 characters because of the header used to reassemble them. If any character falls outside GSM-7 — an accent, an emoji, a curly apostrophe pasted from a word processor — the whole message re-encodes to UCS-2 and the budget drops to 70 characters per segment.
Do school text messages to parents require consent?
Operational school messages to a number the family provided generally sit within the TCPA's school-related and emergency exemptions, and separately carrier 10DLC rules expect a documented opt-in for the campaign. Those are two different regimes and a district needs to satisfy both. Store consent as its own field, record where the number came from, and get your counsel's position in writing before the first bulk send.
Should a school text include a link, and does the link count toward the limit?
Yes it counts, in full, every character. A bare district URL is often 25 to 35 characters. Shorteners help with length but hurt with filtering — public link shorteners are one of the most reliable ways to have school traffic treated as spam. A branded short domain under the district's own name is the right answer if links are frequent.
Do accented Spanish characters make a school text cost more to send?
Yes, usually two to three times more. One accented character re-encodes the entire message to UCS-2 at 70 characters per segment, so a 150-character Spanish message becomes three segments where its 140-character English equivalent was one. This is a structural cost penalty on serving Spanish-speaking families and no vendor in this category publishes it.
What should a school text include so parents recognise who it is from?
A district or school identifier as the first thing in the message, every time, without exception. Families do not save the sending number, carriers rotate long codes, and a message that opens with "Classes are cancelled" from an unknown number reads as a scam. The identifier costs ten to fifteen characters and it is the single highest-value thing in the budget.
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.