Skip to content

Free tool

Design WhatsApp templates visually — and export Meta-ready JSON

Compose header, body, footer and buttons with a live chat preview, catch rejection-triggering mistakes before you submit, and copy the exact create-template payload. Everything runs in your browser.

Template basics

Name, language and category — the three fields Meta checks first.

Category

Template type

Standard covers most sends — the richer Meta types unlock cards, offers and payments.

Header + body + buttons

Header

Optional. One line of bold text, a media attachment, or a location pin.

Body

The only required component. Variables like {{1}} become per-recipient values.

109/1024

Formatting: *bold* _italic_ ~strike~

Variable example values

Required for export — Meta reviewers read these to understand what each variable will contain.

{{1}}
{{2}}

Footer

Optional. A short muted line under the body — often used for opt-out hints.

0/60

Buttons

Optional. Quick replies collect a tap; call-to-action buttons open a link or dial a number.

Pre-submission checks

2 issues to fix
  • Template name is lowercase snake_caseAdd a name, e.g. order_shipped_v1.
  • Category selectedMeta rejects submissions without a category — and re-categorises mislabelled ones.
  • Body present and within 1024 characters
  • Body does not start or end with a variable
  • Variables are numbered sequentially from {{1}}
  • Every variable has an example value
  • Header omitted (optional component)
  • Footer within 60 characters, no variables
  • Buttons omitted (optional component)

Export

Copy the Meta create-template payload and submit it from your provider's dashboard or the Cloud API — nothing leaves your browser from here.

Live preview

Hi Priya, your order #48291 has been shipped and should reach you in 2–3 days.
Reply here any time for help.

10:02

Approximate rendering — exact fonts and spacing vary slightly by device and WhatsApp version.

Meta payload

Updates live as you edit — this is what “Copy Meta JSON” exports.

{
  "name": "untitled_template",
  "language": "en",
  "category": "UTILITY",
  "components": [
    {
      "type": "BODY",
      "text": "Hi {{1}}, your order *{{2}}* has been shipped and should reach you in 2–3 days.\nReply here any time for help.",
      "example": {
        "body_text": [
          [
            "Priya",
            "#48291"
          ]
        ]
      }
    }
  ]
}

How it works

Three steps, no signup

1

Compose the template

Set the name, language and category, then build each component — text or media header, body with {{n}} variables, footer and up to three buttons — with live character counts.

2

Check the preview and lints

Watch the WhatsApp-style bubble update as you type, toggle between raw variables and filled example values, and clear the pre-submission checks until the panel reads ready to export.

3

Export and submit

Copy the filled message text, copy or download the Meta create-template JSON, and submit it through your provider's dashboard or the Cloud API.

Good to know

Design first, submit once

The slowest way to build a WhatsApp template is inside the submission form itself: draft, submit, wait for review, read the rejection reason, edit, resubmit. Each loop costs anywhere from a few minutes to a couple of days if the template lands in manual review. A design-first workflow inverts that — you iterate freely in a playground where every keystroke is validated, and only submit once the draft already passes the checks Meta's reviewers apply. The lints in this tool mirror the most common rejection causes: non-sequential variables, a body that opens or closes with a placeholder, over-length components and missing example values.

Those example values deserve more care than they usually get. Reviewers — automated first, human when flagged — judge a template by what the filled-in message will look like, not by the skeleton with placeholders. “Hi {{1}}, your {{2}} is {{3}}” tells a reviewer nothing; “Hi Priya, your order #48291 is out for delivery” makes the intent obvious. Realistic examples are the cheapest approval insurance available, which is why the playground treats them as required for export rather than optional.

  • Keep the honest category — miscategorised marketing content submitted as utility gets reclassified by Meta.
  • Use full https URLs on buttons; shortened links are treated as a red flag in review.
  • Read the preview aloud with examples filled in — if it would confuse a customer, it will confuse a reviewer.

Finally, plan for iteration by versioning your names. An approved template cannot be freely rewritten — edits are rate-limited and every change sends the template back through review, taking it out of rotation while that runs. Teams that ship a lot of templates sidestep this by treating approved templates as fixed and submitting changes as order_shipped_v2 alongside the original, switching campaigns over once the new version clears review. The old one keeps working during the transition, and you keep a clean history of what changed.

FAQ

Frequently asked questions

What are the character limits for each template component?

The body allows up to 1,024 characters, while the text header and footer are capped at 60 each. Button labels are limited to 25 characters. The playground counts all of these live and flags anything over the limit before you export, so you never find out at submission time.

How do variables like {{1}} work in WhatsApp templates?

Variables are numbered placeholders — {{1}}, {{2}} and so on — that your platform fills with per-recipient values at send time, such as a name or order ID. Meta requires them to be numbered sequentially from {{1}}, and the body cannot begin or end with one. Every variable also needs a realistic example value at submission, which the playground collects for you.

What text formatting does WhatsApp support in templates?

WhatsApp renders *asterisks* as bold, _underscores_ as italic and ~tildes~ as strikethrough, plus line breaks. There is no support for HTML, links styled as anchor text, or font changes. The playground's preview parses this formatting exactly as WhatsApp does, so what you see in the chat bubble is what recipients get.

Can I use this JSON directly with the WhatsApp Cloud API?

Yes. The export follows Meta's create-template payload format: name, language, category and a components array with HEADER, BODY (including example values), FOOTER and BUTTONS entries. You can POST it to the message_templates endpoint, paste it into your provider's template screen, or hand it to a developer as a spec.

Why does the playground block variables in the header and footer?

Footers never support variables, and while Meta permits a single variable in text headers, headers with placeholders are a common source of rejections and rendering surprises. Keeping headers static and moving personalisation into the body is the pattern that clears review most reliably, so the playground lints for it.

Still have questions?

Book a demo

Talk to InfiQ

See what WhatsApp can do for your business

Tell us your volume — we map templates, estimate cost, and get you a sandbox in about 2 hours.

Step 1 of 2
WhatsApp

Protected by invisible spam checks · replies within 1 working day

Meta Business Partner

Take approved templates straight to broadcast

InfiQ submits templates, tracks approval status and sends broadcasts from one dashboard on the official WhatsApp Business API — 7-day free trial, no card required.

7-day free trial Enterprise-grade reliability Live in 2 hours Built for Indian businesses