A WhatsApp message template is a fixed budget of characters. Not a guideline, not a recommendation — a hard ceiling enforced at submission.
The numbers, per the WhatsApp Business Platform template specification:
| Component | Limit |
|---|---|
| Header text | 60 characters |
| Body | 1,024 characters |
| Footer | 60 characters |
| Buttons | up to 3 |
We drew this to scale on our home page — 0.30 drawing units per character, 40 characters to a typeset line. Seeing the body block against the header and footer is the point: the body is about seventeen times the size of either, and it is still not much.
What 1,024 characters actually is
Roughly 150–180 English words. This paragraph and the three above it, together, are already close to a third of a template body.
That sounds generous until you account for what else has to fit:
- Variables render longer than they look.
{{1}}is five characters in the template and can be forty at send time. A name, an address, a product title — each one is a hole in the budget whose real size you do not control. - Line breaks cost characters. Formatting a message so it is readable on a phone screen is not free.
- The limit is on the rendered message. You are budgeting for the worst case of every variable simultaneously, not the average.
In practice we plan templates against roughly 700–800 characters of fixed copy and reserve the rest for variables. Teams that budget to 1,024 discover the real limit in production, when a customer with a long name and a long product title truncates the call to action off the end.
The header and footer are 60 characters, and that is the useful part
Sixty characters is about eight words. It is not enough for a sentence with a clause in it.
This is not a limitation to work around. It is a forcing function that improves the message:
- The header has room for a label, not a headline. “Order #4821 dispatched” — twenty-two characters, complete.
- The footer has room for one disambiguating line. “Reply STOP to unsubscribe” — twenty-five. Or a store name. Not both.
If your header does not fit in sixty characters, it is doing the body’s job.
Buttons are a count, not a length
Up to three buttons per template — quick reply, URL or phone call. Treat this as three, not “up to three”: every button you add competes for the same attention, and a message with three equally weighted actions has no primary action.
Most of the best-performing templates we have shipped have one button.
Why the constraint is good
Email has no character limit, which is exactly why most marketing email is too long. WhatsApp’s budget removes the option.
What it enforces, in practice:
One message, one purpose. You cannot fit a receipt and a promotion into 1,024 characters without both being bad. This is the same discipline the category rules enforce from the other direction — and when two independent constraints push you the same way, that is usually the design telling you something.
The important sentence goes first. A phone shows the first two lines in the notification. If the point of the message is not in those two lines, the remaining 900 characters are decoration.
Cutting happens before submission. Because an approved template’s text cannot be edited, there is no “we’ll tighten it later”. There is only now.
A working method
Write the message at whatever length it wants to be. Then:
- Delete every sentence that is not the reason you are messaging.
- Move the single most important fact to the first line.
- Move anything that survives but is not essential into the footer — if it does not fit in sixty characters, it was not essential.
- Count the rendered worst case, with every variable at its longest.
Step four is the one teams skip, and it is the one that fails in production.