Pre-launch: WaBulkSend is not open to users yet. The features described on this page are what we are building, not software you can log in and use today. Join the waitlist and we will email you when access opens.

✅ Checked against Meta's published limits

WhatsApp Message Template Generator: Build, Validate and Export a WhatsApp Business Template

Write the template, watch it render as a real WhatsApp message, and catch the rejection triggers before Meta does. When it passes, copy the exact Cloud API JSON and submit it.

Nothing is uploaded. The template is assembled in your browser and never leaves it.

Template builder

No sign in

Mark anything that changes per recipient as {{1}}, {{2}} and so on, or use names like {{first_name}}.

How it arrives

Parameters are shown filled with sample values, which is how Meta's reviewer reads them too.

Pre-submission checks

Cloud API JSON


                        

POST this to /<WABA_ID>/message_templates on the Graph API, or paste the fields into your provider's template screen. The parameter_format field is set for you, because a template that omits it defaults to positional.

Short answer: a WhatsApp message template is a pre-approved message with placeholders, and you need one for any message that opens a conversation. Meta caps each part separately: a text header at 60 characters, the body at 1024 characters, the footer at 60 characters, and button text at 25 characters. Placeholders go in double curly brackets, either numbered from 1 or named in lowercase with underscores. The rule that catches most people is that the message template cannot start or end with a parameter, because dangling parameters are not allowed. Review takes up to 24 hours.

Last updated August 2026. Every limit on this page is taken from Meta's WhatsApp Business Management API documentation for message templates and its template review guidance.

WhatsApp template character limits, component by component

There is a persistent myth that a WhatsApp template gets 1024 characters in total across the header, body, footer and buttons. That is wrong. Meta budgets each component on its own, so a template can carry well over 1024 characters once the header, footer and ten buttons are counted. Here is what Meta actually publishes.

Component Character limit How many allowed Parameters
Template name 512 maximum One per template Lowercase alphanumeric and underscores only
Header (text) 60 maximum Optional, one per template Supports 1 parameter
Body 1024 maximum Required Accepts multiple parameters
Footer 60 maximum Optional Text only, no parameters
Button text 25 maximum Up to 10 buttons in total Varies by button type
Quick reply button 25 maximum Up to 10 No
Phone number button 20 maximum One per template No
URL button 25 maximum Up to two A URL suffix can be dynamic
Copy code button 20 maximum One per template Carries the code itself

One more ceiling that only shows up at scale: Meta allows a maximum of 100 templates to be created in a WhatsApp Business Account per hour. Teams migrating a message library from another provider hit it and misread the failure as an outage. If that is where you are, the guide to switching WhatsApp Business API providers covers what does and does not carry across.

Why WhatsApp templates get rejected, and which of those a generator can catch

Most rejections are not judgment calls about your copy. They are mechanical faults in how the template is assembled, which means a validator catches them in advance. Meta groups the causes into parameter problems, content problems and duplication.

Parameter faults

Meta lists variable parameters that are missing or have mismatched curly braces, parameters that are not sequential, and too many variables relative to the length of the message. Above all: the message template cannot start or end with a parameter, because dangling parameters are not allowed.

The builder above flags all four.

Content faults

Templates that break WhatsApp's Commerce Policy or Business Policy, potentially abusive or threatening content such as threatening a customer with legal action, and templates that ask users for sensitive identifiers. Debt collection wording is the usual casualty here, because it reads as a threat even when it is routine.

A human has to judge these.

Duplication

A template is rejected when it duplicates an existing template. This bites teams who build near-identical variants for A and B testing, or who resubmit a fixed template without deleting the broken original first.

Check your library first.

If it is already rejected: you can appeal, and the appeal will be reviewed and a decision made within 24 hours. Fix the mechanical cause first, because appealing an unfixed template just spends a day. Our walkthroughs cover what to do when a WhatsApp template is rejected, how long WhatsApp template approval takes, and why an approved template gets paused later.

Choosing the category is a billing decision, not a label

Every template must be categorized as authentication, marketing or utility. Since Meta moved to per-message billing in July 2025, that category is what sets the rate on every delivered send, so picking it casually is expensive. Meta also re-categorizes templates it thinks are mislabeled, which can silently change what you pay.

📦

Utility

Follows up on something the customer already did: order confirmations, shipping updates, appointment reminders, payment receipts. The safest category for US senders, and the one most bulk workloads should live in.

📣

Marketing

Offers, launches, re-engagement, anything promotional. Worth knowing before you build a US campaign around it: Meta paused delivery of marketing templates to US phone numbers on April 1, 2025, and those sends fail with error 131049.

🔐

Authentication

One-time passcodes and verification codes. These have their own restricted format and usually pair with a copy code button, so the customer taps rather than retypes the code.

The full breakdown of what each category costs per delivered message sits on the WhatsApp Business API pricing page, and the differences that decide which one a reviewer will assign are covered in utility versus marketing templates. Note that Meta has confirmed further billing changes for October 1, 2026, tracked on our WhatsApp pricing changes page.

Named parameters or numbered parameters: pick one and stay with it

Positional, like {{1}}

Positional parameters must be ordered array index numbers, starting from 1, wrapped in double curly brackets. When you send, the example values must appear in the order in which their corresponding placeholders appear. Skip a number or start at 2 and the template is rejected as not sequential.

Named, like {{first_name}}

Parameters using the named format must be unique, single strings, composed of lowercase characters and underscores, wrapped in double curly brackets. The payoff comes at send time, because named values can appear in any order, so reordering the copy later does not silently shuffle your merge fields.

Named parameters are the safer choice for a team that edits templates often, since a numbered template that gets reworded is one careless edit away from putting the order number where the customer name should be. The builder above detects which format you used and writes the matching example object, either body_text as a nested array for positional or body_text_named_params for named. Getting that object wrong is the second most common reason a create call fails, after dangling parameters.

Who uses a template generator

Developers wiring up the Cloud API

You need the components array shaped correctly on the first try, not after five rejected POSTs. Copy the JSON, drop in real example values, ship it. The send message API guide covers what happens next.

Ops teams building a campaign library

Twenty templates submitted on Monday, all rejected on Tuesday for the same dangling parameter, is a week gone. Validate before you submit and the whole batch clears together.

Agencies working in a client's account

You often draft copy before you have access to the WhatsApp Business Account. Compose it here, hand over the JSON, and the person with credentials submits it without a round of retyping.

Anyone migrating providers

Approved templates with a green quality rating carry across a number migration, but low quality, rejected and pending templates do not. The ones that fall out have to be rebuilt, and this is where you rebuild them.

Ecommerce teams on order flows

Confirmation, dispatch, delivery and review requests are four utility templates that share one structure. Build one, change three words, export four. See WhatsApp order notifications.

Teams sending authentication codes

Authentication templates are the most format-sensitive of the three categories, and a rejected one blocks sign-ins rather than a campaign. The WhatsApp OTP API page covers the delivery side.

Frequently asked questions

How do I create a WhatsApp message template?

Give the template a lowercase name, choose authentication, marketing or utility as its category, then write the optional header, the required body and the optional footer. Mark the parts that change per recipient as parameters in double curly brackets. Submit the whole thing as JSON to the message_templates edge of your WhatsApp Business Account, or through your provider's template screen, and wait for Meta's review.

How many characters can a WhatsApp template be?

Meta caps each component separately rather than the template as a whole. A text header is a maximum of 60 characters, the body is a maximum of 1024 characters, and the footer is 60 characters maximum. Button text is 25 characters maximum, except a phone number button and a copy code button, which are 20 characters maximum. The template name itself can run to 512 characters.

Why was my WhatsApp template rejected?

The most common causes are mechanical rather than editorial. Meta lists variable parameters that are missing or have mismatched curly braces, parameters that are not sequential, too many variables for the length of the message, and templates that duplicate an existing template. The single most frequent trip-up is a dangling parameter, because the message template cannot start or end with a parameter.

Can a WhatsApp template start with a variable?

No. Meta's rule is explicit: the message template cannot start or end with a parameter, and dangling parameters are not allowed. So a body that opens with a customer name placeholder will be rejected. Put a word in front of it instead, which is why approved templates so often begin with Hi or Hello followed by the name parameter.

How long does WhatsApp template approval take?

It can take up to 24 hours for an approval decision to be made, and in practice many templates clear in minutes because the first pass is automated. If a template is rejected you can appeal, and the appeal will be reviewed and a decision made within 24 hours. Build the review window into any campaign timeline rather than writing templates the morning you plan to send.

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

Utility templates follow up on a transaction the customer already started, such as an order confirmation, a shipping update or an appointment reminder. Marketing templates promote something, including offers, launches and re-engagement. The category is a billing decision as much as an editorial one, because Meta prices per delivered template by category, and marketing templates are separately blocked from delivery to US phone numbers.

How many buttons can a WhatsApp template have?

Templates can have a combination of up to 10 button components in total. Within that, templates are limited to 10 quick reply buttons, one phone number button, two URL buttons and one copy code button. Button text is capped at 25 characters, and the phone number and copy code buttons are capped at 20.

Can I use named variables instead of numbers in a WhatsApp template?

Yes. Meta supports both formats. Parameters using the named format must be unique, single strings, composed of lowercase characters and underscores, wrapped in double curly brackets. Positional parameters must be ordered array index numbers, starting from 1. Pick one format per template and stay with it, because the send payload differs: named values can appear in any order, positional values must match the order of the placeholders.

Do I need a template to send a WhatsApp message?

You need one to start a conversation. Any message you send outside an open 24 hour customer service window has to be an approved template. Inside an open window you can reply in free form. That is why every outbound campaign on the WhatsApp Business Platform begins with a template, and why the template library, not the contact list, is usually the bottleneck.

How many WhatsApp templates can I create?

Meta caps creation rate rather than the library size for most accounts: Meta allows a maximum of 100 templates to be created in a WhatsApp Business Account per hour. That ceiling matters mainly when a team scripts a bulk import of an existing message library, which is exactly when hitting it is easiest and hardest to debug.

Approved templates are step one. Sending them is step two.

WaBulkSend is being built to run approved templates across a contact list on the official WhatsApp Business Platform, with scheduling, personalization and delivery reporting. Join the waitlist to get early access.

Join the waitlist →