New: Journey BuilderSee what's new →
Free tool · DLT

DLT Template Checker

Catch broken {#var#} variables and unlisted links — and test whether a message matches its template.

1 · Your DLT template

2 variables
Fixed text: 102 characters · GSM-7Each {#var#}: up to 30 characters

Looks good

Variables are written correctly and there’s nothing to whitelist.

2 · Message you’ll send

Doesn’t match

The message stops following the template at character 72

Operators reject messages that don’t match the approved text exactly.

Template expects
“utes. Do not share it wi…”
Message has
“s. Do not share it with …”
Template

Dear #1var, #2var is your OTP to log in to ACME. It is valid for 10 minutes. Do not share it with anyone. - ACME

Why SMS fail DLT checks

Every commercial SMS in India is checked against the template registered on the DLT platform. The fixed text has to match exactly — only the parts marked {#var#} can change, and each can carry up to 30 characters. Most rejections come from a handful of mistakes:

  • Variables typed wrongly — {var}, {#VAR#} or {#name#} are fixed text, not variables.
  • The message drifts from the template — “mins” instead of “minutes”, a missing full stop, an extra space.
  • A variable value is too long — a name, link or amount over 30 characters.
  • Links that aren’t whitelisted — TRAI requires URLs, APKs and OTT links in SMS to be whitelisted on your DLT portal; operators have enforced this since 1 October 2024.
  • The wrong template category — promotional content on a transactional or service template.

How to use the checker

  1. Paste your template as registered (or as you plan to register it). Fix anything flagged in red.
  2. Paste the exact message your system will send. If it doesn’t match, the checker shows the first difference.
  3. Check the variable values — each one must be 30 characters or fewer.

New to DLT? Start with our DLT registration guide. Counting characters? Use the SMS character counter.

Frequently asked questions

How do I write a variable in a DLT template?
Write it exactly as {#var#} — lower case, with a # on both sides. Each variable can carry up to 30 characters. Anything else, such as {var}, {#name#} or {#VAR#}, is treated as fixed text, so every message sent on that template fails to match.
Why is my SMS failing even though the template is approved?
The message must match the approved template character for character, apart from the variables. A changed word, an extra space, different punctuation or a variable value longer than 30 characters is enough for operators to reject it. Paste both into the checker to see the first difference.
Do links in SMS need to be whitelisted?
Yes. TRAI requires every URL, APK or OTT link in a commercial SMS to be whitelisted on your DLT portal; operators have enforced this since 1 October 2024. Messages with links that aren’t whitelisted are blocked.
Do phone numbers in a template need whitelisting?
Call-back numbers customers are asked to call should be whitelisted on your DLT portal as well, under TRAI’s August 2024 directions.
Does the checker register templates?
No — templates are registered on your operator’s DLT portal. The checker helps you get them right before you submit, and test messages against them before you send.

Send SMS, WhatsApp and RCS from one platform

DLT-ready SMS, WhatsApp Business API and RCS with fallback — with reports that show what happened to every message.