Free tool

Check a WhatsApp template before Meta does.

Paste your template and see what Meta will reject and what it is likely to question: limits, variables, buttons, and marketing wording filed as utility. It runs in your browser; nothing you type is sent anywhere.

Check your template

Category
11/512
Header
17/60
102/1024

Variables look like {{1}} or {{first_name}}. WhatsApp formatting works: *bold*, _italic_, ~strikethrough~.

Example values for Meta’s review
{{1}}
{{3}}
{{4}}
21/60
Buttons (optional)

The check

6 things Meta will reject

Will be rejected

  • Name. Template names use only lowercase letters, numbers and underscores, for example order_update. Meta's rule
  • Variables. Numbered variables must run in order from {{1}}: found {{3}} where {{2}} should be. Our platform's check
  • Variables. Numbered variables must run in order from {{1}}: found {{4}} where {{3}} should be. Our platform's check
  • Variables. The body has 3 variables and 1 example value. Meta needs one example for each to review it. Our platform's check
  • Variables. The body cannot start with a variable. Put a word or two before it, for example Hi {{1}}. Meta's rule
  • Variables. The body cannot end with a variable. Close the sentence with fixed text. Meta's rule

Likely to be questioned

  • Header. Meta asks for no formatting characters (* _ ~ `) in a text header. Meta's rule
  • Category. The wording contains marketing language ("sale") but the category is utility. Meta re-categorises or rejects miscategorised templates, and utility templates must not promote, upsell or include offers. Consider marketing. Our platform's check

How it reads on a phone

*Big* Diwali sale

Asha, your order {{3}} is ready. Get flat 20% off your next order with code DIWALI, today only! {{4}}

Reply STOP to opt out

10:24 am

Rules read from Meta’s documentation on 30/09/2026. The variable and marketing-language checks are the same ones Leapstream runs on every template before it goes to Meta. Meta still reviews each template and has the final word on its category.

The limits Meta publishes.

PartLimit
Template nameLowercase letters, numbers and underscores, up to 512 characters
Text headerUp to 60 characters, one variable at most, no formatting characters
BodyRequired, up to 1024 characters, any number of variables with an example for each
FooterUp to 60 characters, no variables
Buttons in totalUp to 10; with more than three, two show and the rest sit behind a list
Quick reply buttonsUp to 10, labels up to 25 characters
Website buttonsUp to 2, links up to 2000 characters, one variable only at the end
Call buttonOne, number up to 20 characters
Copy code buttonOne, code up to 20 characters
AuthenticationNo links, media or emoji; parameters up to 15 characters

Sources, read 30/09/2026: template components, template review, template categories and WhatsApp formatting.

Why Meta rejects templates.

The common reasons, in Meta’s words where it gives them:

  • Variables with missing or mismatched curly braces. The format is {{1}}.
  • Variables that contain special characters such as #, $ or %.
  • Numbered variables out of order, for example {{1}}, {{2}}, {{5}}, {{4}}.
  • Too many variables for the length of the message.
  • A body that starts or ends with a variable.
  • A request for sensitive identifiers such as full card numbers, account numbers or national ID numbers.
  • Threatening content, such as threatening legal action or public shaming.
  • A duplicate of a template the business already has.

What no checker can tell you.

Whether Meta agrees with your category, whether your wording breaks its commerce or business policies, and whether the template duplicates one you already have. Those are judgements Meta makes at review, and again later: it re-checks approved templates and can move a utility template to marketing with a day’s notice.

The practical answer is to keep utility templates strictly about the thing the person asked for or needs, and to send anything with an offer as marketing from the start.

Questions about WhatsApp templates

Why was my WhatsApp template rejected?

Meta's most common reasons are variables with mismatched curly braces or special characters, numbered variables out of order, too many variables for the length of the message, a body that starts or ends with a variable, a request for sensitive identifiers such as card or account numbers, threatening content, and a template that duplicates one the business already has. The checker on this page catches the first five.

What is the difference between a utility and a marketing template?

Meta says a utility template must be non-promotional and either specific to or requested by the person, or essential to them, such as an order update or a payment reminder. It must not promote, recommend, upsell, cross-sell, include offers or try to secure a renewal. Anything promotional is marketing, even when it is attached to a transaction, and Meta re-categorises utility templates that promote.

How long does WhatsApp template approval take?

Meta says a review can take up to 24 hours. A rejected template can be appealed with a sample, and Meta says appeals are decided within 24 hours. Fixing the rule that caused the rejection and resubmitting is usually faster than appealing.

What are the character limits for a WhatsApp template?

The body can be up to 1024 characters, a text header up to 60, the footer up to 60, and each button label up to 25. A website button's link can be up to 2000 characters, and a template can have up to 10 buttons in total.

Can a WhatsApp template use bold or italic text?

The body can use WhatsApp's own formatting: asterisks for bold, underscores for italic, tildes for strikethrough and three backticks for monospace. Meta asks for no formatting characters in a text header. The preview on this page renders the body the way WhatsApp does.

Is anything I type here sent to you?

No. The checks run in your browser and nothing you type is sent to us or anyone else. Your draft is kept in this browser's local storage so a refresh does not lose it; clearing the site's data removes it.

Read next

Templates are the easy part.

The hard part is sending them without hurting your number. Our platform checks the category before submission, shows the exact cost before every send, and pauses a campaign when failures spike.