Customer Identity · public betaBuild your first Test integration.Create a Test project
NamoID
Free developer tool · India

DLT SMS template checker

Catch the formatting problems that get an Indian DLT content template rejected — or worse, approved and then silently blocked during scrubbing. Also shows whether your text stays in GSM-7, because one stray character can multiply your per-message cost.

Paste the exact template text you plan to register. Nothing is sent anywhere.

Paste a template to check it. Everything runs in your browser.

What this checks, and what it cannot

This tool checks the mechanical rules: variable syntax, variable count, trailing variables, consecutive variables, the share of the message that is dynamic, header format for the route, whitespace, encoding and segment count.

It cannot tell you whether your template will be approved. Approval also depends on the category you register under, restricted-word lists, similarity to existing templates, and rules that differ between operator portals. Treat a clean result as "no formatting mistakes", not as pre-approval, and confirm current requirements on your own DLT portal.

The rules encoded here reflect the guidance operators and messaging providers publish for the TRAI DLT regime as of September 2026. They do change.

Common questions

What is the correct DLT variable format?
Exactly {#var#}, in lowercase. Any other placeholder style — {name}, {{name}}, %s or #name# — is registered as literal text rather than a variable, so a real message will never match the approved template and will be blocked during scrubbing.
How many characters can a DLT variable hold?
A variable carries at most 30 characters at send time, including spaces, for both English and Unicode content. To carry a longer value, register two consecutive variables so the pair covers up to 60 characters.
Why was my DLT template rejected?
The most common causes are a placeholder in the wrong format, a message that ends on a variable, three or more variables with no fixed text between them, a template whose content does not match the category it was registered under, restricted words, or near-duplication of an existing template.
What header can I use?
Transactional, service implicit and service explicit traffic uses a six-letter alphabetic header. Promotional traffic uses a six-digit numeric header. A template registered under one header type cannot be sent on the other route.
Why does one character change my SMS cost?
A GSM-7 segment holds 160 characters, but a single character outside that alphabet — a smart quote, an en dash, the rupee sign or an emoji — switches the entire message to Unicode, where a segment holds only 70. That can double or triple the billed segments without changing the visible text.