India SMS DLT Template Validator

Paste your registered TRAI DLT content template and the actual SMS text you're about to send. This tool checks whether the fixed wording still matches the template you registered on the DLT platform, whether variables follow the mandatory pre-tagging rules TRAI introduced for content templates, and estimates SMS encoding and segment count — entirely in your browser, before the message ever reaches an operator's scrubber.

Runs 100% client-side No data leaves your browser Free, no signup
Advanced: DLT metadata (PE ID / Header / Content Template ID) — optional

These are basic format sanity checks only. There is no public API to verify a PE ID, Header or Content Template ID against the live TRAI/operator DLT registry, so this does not confirm the IDs are actually registered — only that they're not obviously malformed.

Testing an OTP or verification flow end-to-end?

Once your template validates, you'll often want to see the real SMS land on an actual Indian number without handing out your personal one — useful for QA, demos, or checking how your registered header renders on a handset. Receive the SMS on a free temporary India number at receive-smss.live →

How this validator works

The tool splits your registered template into fixed text and variable slots — either legacy [VARIABLE] placeholders or the typed {#numeric#} / {#var#} / {#url#} tags now expected under TRAI's variable pre-tagging direction. It then checks, in order, that every fixed chunk of text appears unchanged in your actual message, that no extra wording has been inserted or appended, and — when typed tags are used — that each variable's value actually matches its declared type (a numeric OTP variable shouldn't suddenly contain letters, for example). Finally it estimates whether your message will be sent as GSM-7 or Unicode and how many SMS segments that costs you.

Why a DLT template mismatch gets your SMS blocked

Every commercial and transactional SMS sent in India has to trace back to a Principal Entity (PE) registered on a telecom-operator DLT platform, using a registered Header (Sender ID) and a registered Content Template. The template registered with the content template registrar defines the exact fixed wording and the position and count of variable fields; operators run every outgoing message through automated matching against that registered template before allowing delivery. If the fixed wording has changed, if variables have moved, or if extra text (a promo line, a different sign-off, a stray link) has been added, the message no longer matches the registered Content Template ID and gets rejected by the scrubber — regardless of whether the PE ID and Header passed along in the message are valid.

TRAI's mandatory variable pre-tagging direction (Nov 2025)

On 18 November 2025 TRAI issued a direction mandating that every variable inside an SMS content template be pre-tagged with one of six defined types — #numeric#, #url#, #urlott#, #cbn#, #email# or #alphanumeric# — instead of a generic, untyped placeholder. New templates registered from late November 2025 onward already had to comply; existing templates got a further window to be updated, after which any message whose variable content doesn't match its declared type is rejected outright rather than merely logged. As of today, that grace period has passed, so pre-tagged, type-validated variables are now the enforced norm across access providers. Read the full breakdown, including the exact tag table and compliance timeline →

Source: TRAI press release — "TRAI issues Direction to Mandate Pre-Tagging of Variables in SMS Content Templates"

Registering a Principal Entity, Header and Content Template

Before any template can be validated against real traffic, three things need to exist on your telecom operator's DLT portal: a verified Principal Entity profile for your business, a Header (the 6-character Sender ID shown instead of a phone number, registered by category), and the Content Template itself, which is reviewed and approved by the content template registrar — typically within a couple of working days — before it can carry live traffic. The PE ID, Header and Content Template ID all have to be passed along with every message you send through your SMS gateway. See the full step-by-step registration walkthrough →

Quick FAQ

Does this tool submit anything to TRAI or my telecom operator?

No. Everything runs locally in your browser via JavaScript — nothing you type is uploaded anywhere, and this tool has no connection to the DLT registry.

Can it tell me if my PE ID or Content Template ID is actually registered?

No — there's no public API for that. It only does basic format sanity checks. Always confirm against your operator's DLT portal.

What variable formats are supported?

The classic [VARIABLE] bracket style most portals still show, plus TRAI's official six tags from Annexure-I of the November 2025 direction — #numeric#, #url#, #urlott#, #cbn#, #email#, #alphanumeric# — in either bare (#numeric#) or curly-brace ({#numeric#}) notation, since portals render them differently.

More questions, answered in detail →