Limited this week15-min demo = Rs 500 voucher + 200 credits Book demo
All articles
Operations

WhatsApp Message Character Limit 2026: Full Cheat Sheet

WhatsApp character limit: 4,096 per text message, 1,024 per template body or caption, 60 for header or footer, 25 per button. Media size limits inside.

RichAutomate Team
10 min read 50 views
WhatsApp Message Character Limit 2026: Full Cheat Sheet

The WhatsApp character limit per message is 4,096 characters for a text message on the Business API, while an approved template body is capped at 1,024 characters, with 60-character headers and footers and 25-character button labels. With an image, the caption limit is 1,024 characters, and files can be up to 5 MB for images, 16 MB for video and audio, and 100 MB for documents such as PDF invoices.

Disclosure: this guide is published by RichAutomate, a WhatsApp Business API platform. Every limit below was checked against Meta's Cloud API documentation (text, image, interactive and sticker message pages, the media reference, the template components page and the business profile reference) on 30 October 2026.

Those are the numbers that matter most, but they are not the whole story. Buttons, list rows, captions, stickers and codecs all have their own limits, and most "WhatsApp is not sending" tickets we see from Indian businesses come from one of them. This guide puts every common limit in one place, explains how Hindi and regional scripts are counted, and ends with a pre-send checklist your team can use before every campaign.

A note on accuracy: the figures below are Meta's published Cloud API limits as checked on 30 October 2026. Where Meta does not publish a number (for example, recommended image dimensions), we say so and label our figure as practical advice rather than a rule. Meta revises limits from time to time, so verify against Meta's developer documentation before you hard-code anything into your own integration.

Why WhatsApp limits matter more than you think

Exceeding a limit rarely fails gracefully. Depending on where you break the rule, you will see one of four outcomes:

  • The template is rejected at submission because a component is too long or a sample is invalid.
  • The API call fails with a validation error, usually because a variable pushed the final body past its limit.
  • The message is accepted but never delivered, which is typical for videos with the wrong codec or files over the size cap.
  • The message delivers but performs badly, because the customer only sees the first line in the notification and never opens it.

The first three cost you money and time. The fourth quietly costs you read rate on every campaign. Knowing the limits up front avoids all four.

Text character limits by message component

WhatsApp treats each part of a message as a separate field with its own cap. This table covers session messages (sent inside the 24-hour customer service window), template messages and interactive messages.

ComponentLimitNotes
Session (free-form) text message4,096 charactersOnly inside the 24-hour window after the customer messages you; only the first URL gets a link preview
Media caption (image, video, document)1,024 charactersShown under the media; keep the key line first
Template header (text)60 charactersSupports one variable; keep the filled-in value inside 60 to be safe. No Markdown formatting
Template body1,024 charactersLimit applies after variables are filled in
Template footer60 charactersNo variables allowed
Template button text25 charactersApplies to quick-reply, URL and phone-number buttons
Phone-number button value20 charactersThe number itself, including country code
Copy-code button value20 charactersOne copy-code button per template
URL button targetUp to 2,000 charactersOne variable allowed at the end of the URL (dynamic URL)
Template buttons, totalUp to 10 combinedWithin that: at most 2 URL buttons, 1 phone-number button and 1 copy-code button; quick replies and other buttons must be grouped
Interactive reply buttonsMax 3 buttonsEach button title up to 20 characters; button ID up to 256
Interactive reply-button body1,024 charactersFooter up to 60 characters
Interactive list body4,096 charactersHeader and footer up to 60 characters each
Interactive list: button label20 charactersThe label that opens the list, such as "View plans"
Interactive list: rowsUp to 10 rows totalSpread across up to 10 sections; row ID up to 200 characters
Interactive list: section title24 charactersRequired when you use more than one section
Interactive list: row title24 charactersKeep it scannable
Interactive list: row description72 charactersOptional secondary line

Templates vs interactive messages

Teams often confuse the two button systems. Template buttons are defined when you submit the template to Meta and go out with that template, including outside the 24-hour window. Interactive reply buttons and lists are built at send time and can only be used inside an open session. If you need structured choices in a first-touch marketing message, you need a template with quick-reply buttons. Our guide to reply buttons, list messages and flow templates walks through which format fits which journey.

For product showcases, carousel templates add another layer: each card has its own short body and buttons, and every card must use the same header media type. See the WhatsApp carousel template guide for the card-level rules.

WhatsApp character limit with an image

When you send an image, the text goes in the caption, and the caption limit is 1,024 characters, not 4,096. The same 1,024 cap applies to video and document captions. If your message needs more room, send the image first and follow it with a separate text message (inside the 24-hour window) of up to 4,096 characters, or move the detail behind a URL button.

For an image template, the image sits in the header and the text sits in the template body, so the body limit of 1,024 characters applies instead of a caption. Either way, plan for about 1,000 characters of copy next to any picture.

WhatsApp Business profile limits: About, description and address

Your business profile has its own caps, and they are often confused with message limits. These are from Meta's business profile reference:

Profile fieldLimit
About (the short status line)1 to 139 characters
Description512 characters
Address256 characters
Email128 characters
WebsitesUp to 2, each up to 256 characters

The display name is separate again: it is reviewed by Meta rather than capped by a simple character count. If yours was declined, see our guide to WhatsApp display name rejection reasons.

Media file-size limits by type

Media limits are enforced on the file you upload or link. A file one kilobyte over the cap fails, so leave headroom.

Media typeSupported formatsMax sizePractical notes
ImageJPEG, PNG5 MBMeta requires 8-bit RGB or RGBA; caption up to 1,024 characters
VideoMP4, 3GPP16 MBH.264 video with AAC audio, a single audio stream or none; Meta advises the Main or Baseline profile without B-frames
AudioAAC, AMR, MP3, M4A, OGG (Opus codec only, mono)16 MBOGG with Opus plays as a voice note
DocumentPDF, DOC, DOCX, XLS, XLSX, PPT, PPTX, TXT100 MBPDF gives the most reliable preview on phones
StickerWebP100 KB static / 500 KB animatedMeta lists only format and size; 512 x 512 pixels is the standard sticker canvas

Product videos under 16 MB

Most Indian D2C brands shoot product videos on a modern phone at 4K, which produces roughly 50 to 100 MB per minute. That will never go through. Export at 720p, H.264, a bitrate around 1.5 to 2 Mbps and AAC audio at 128 kbps, and a 45-second clip lands comfortably near 8 to 10 MB. Shorter is also better for watch-through. The WhatsApp video messages guide covers encoding settings and template headers in detail.

Free 2026 comparison

Send these messages on WhatsApp, from your own number

We get your templates approved on the official WhatsApp API and set up your first broadcast with you. ₹0 platform fee, you pay only Meta's per-message rate.

By submitting, you agree RichAutomate may contact you on WhatsApp about this enquiry, per our DPDP-compliant privacy policy. No spam.

DPDP-compliant · India-hosted · 1-min reply
Rather try it yourself? Start free

GST invoices and long PDFs

The 100 MB document cap is generous; a GST tax invoice is usually under 300 KB. The real issues are elsewhere: scanned invoices saved as high-resolution images inside a PDF can balloon to 20 MB or more and load slowly on 4G, and files without a sensible filename look suspicious to customers. Generate invoices as text-based PDFs, name them clearly (for example, Invoice-INV-2026-0142.pdf), and send them as a document, not an image. Our guide to sending PDF documents through the WhatsApp API has the full workflow, including template document headers.

How Hindi, regional scripts and emoji are counted

WhatsApp counts characters, not bytes. A Devanagari, Tamil or Bengali message is not penalised because each character takes more bytes to store. But "character" is less obvious in Indic scripts than it looks.

  • Conjuncts and matras count separately. A syllable that looks like one letter, such as "क्ष" or "कि", is made of several Unicode code points. A Hindi sentence that looks like 80 letters may count as 110 or more.
  • Emoji can count as two or more characters. Many emoji are surrogate pairs, and skin-tone or flag emoji are sequences of several code points. A body full of emoji uses up the 1,024 budget faster than you expect.
  • Line breaks count. Every newline is a character. Heavy formatting with blank lines between every sentence adds up.
  • Formatting markers count. The asterisks for bold and underscores for italics are part of the text.

The safe approach is to measure the final text with a tool that counts Unicode code points, rather than eyeballing it in a word processor. The free WhatsApp template approval checker flags a body over 1,024 characters, along with variable and category problems, before you submit; inside RichAutomate the template builder also stops a text header that runs past 60 characters.

Template variables: the hidden length trap

The 1,024-character body limit applies to the message as delivered, after every variable has been replaced. A template that measures 950 characters with placeholders like {{1}} and {{2}} can fail at send time when {{1}} is a long customer name and {{2}} is a 120-character product title.

Three habits prevent this:

  1. Budget each variable. Decide a maximum length for every variable (for example, name 30, product 60, order ID 20) and add those maximums to the static text.
  2. Truncate in your data layer. Cut long product names to a fixed length with an ellipsis before they go into the payload.
  3. Use realistic samples. Meta reviews the sample values you provide. Short, realistic samples get approved faster and reflect what customers actually see.

For more on structuring variables, see our guide to WhatsApp template variables and personalisation.

Just because you can use 1,024 characters does not mean you should

On most Android phones, the notification shows only the first line or two of a message, roughly 40 to 60 characters before truncation. The lock-screen preview is often all a customer reads before deciding whether to open it.

In practice, we recommend:

  • Marketing bodies of about 300 to 600 characters. Long enough to give context and an offer, short enough to read in one glance after opening.
  • Utility messages as short as possible. An order confirmation or delivery update rarely needs more than 200 characters plus a button.
  • The hook in the first line. Put the offer, the order number or the reason for the message right at the top. "Your order #4821 has shipped" beats "Dear valued customer, we are pleased to inform you".
  • Details behind a button. Push long terms, size charts or catalogues to a URL button or a PDF rather than the body.

Symptom, cause and fix: troubleshooting limit errors

When something fails, start from what you observe. This table maps the most common symptoms to their usual causes.

SymptomLikely causeFix
Template rejected at submissionBody over 1,024 characters, header or footer over 60, or a button label over 25Trim the component; count Unicode characters, not visible letters
Template approved but send fails with a parameter errorVariables expanded the body past 1,024 characters, or a header variable pushed the header past 60Cap variable lengths and truncate long values before sending
Header image looks blurry or is rejectedLow-resolution source, wrong format (WebP, HEIC), not 8-bit RGB/RGBA, or file over 5 MBUse JPEG or PNG; around 1,125 x 600 pixels compressed under 1 MB works well in practice (Meta publishes no required size)
Video accepted by API but never delivers or will not play on AndroidWrong codec (HEVC/H.265 from iPhones), H.264 High profile with B-frames, multiple audio tracks, or over 16 MBRe-encode to MP4 with H.264 Main or Baseline video and AAC audio, under 16 MB
Send fails with error 131053Media could not be uploaded, often because the file extension and actual MIME type do not matchCheck that a .jpg really is a JPEG, a .mp4 really is MP4, and so on
Audio does not play as a voice noteOGG file encoded with Vorbis instead of OpusRe-encode OGG with the Opus codec, or send as MP3/AAC
Document shows no preview or a generic iconMissing or wrong file extension, scanned image saved oddly, or no filename passedSend a text-based PDF with a clear filename and correct extension
Message truncated in notifications, low read rateKey information buried below the first lineLead with the hook in the first 40 to 60 characters
Interactive message fails to sendMore than 3 reply buttons, a button title over 20 characters, or more than 10 list rowsSwitch to a list for more options, or shorten titles
Sticker rejectedNot WebP, not 512 x 512, or over 100 KB static / 500 KB animatedExport to WebP at exactly 512 x 512 and compress

If the template is rejected for content rather than length, the causes are different. Our template rejection fixes guide covers policy and formatting reasons, and the WhatsApp Business API error codes decoded article explains the API errors you will see in webhook responses.

Pre-send checklist

Run through this before submitting a template or launching a campaign:

  1. Body measures under 1,024 characters with every variable at its maximum expected length.
  2. Header and footer are each under 60 characters; every button label is under 25.
  3. The first line carries the hook, order number or offer.
  4. Marketing body sits around 300 to 600 characters; utility messages are shorter.
  5. Header image is JPEG or PNG and under 5 MB (ideally under 1 MB).
  6. Video is MP4, H.264 plus AAC, single audio track and under 16 MB.
  7. Documents are text-based PDFs with a clear filename.
  8. Interactive messages use no more than 3 reply buttons or 10 list rows, with titles inside their limits.
  9. Hindi or regional-language text has been counted in Unicode characters, including emoji and line breaks.
  10. A test send to an internal number has been checked on both Android and iPhone.

If fixes like this take days with your current provider, compare a Gupshup alternative and a Wati alternative, and estimate your monthly bill with the WhatsApp API cost calculator.

What sending costs on RichAutomate

Message length and media size do not change the per-message price. Meta charges per delivered template message by category: about ₹0.8631 for marketing and ₹0.115 for utility in India. A 4,000-character text costs the same as a one-line reply. Since 1 October 2026, the first 1,000 service replies per number each month (free-form replies inside the 24-hour window) are free, and further replies are charged at the utility rate.

MessageMeta rateRichAutomate Client Pay (Meta + ₹0.10)RichAutomate SaaS Pay (all-in)
Marketing template₹0.8631₹0.9631₹1.50
Utility template₹0.115₹0.215₹0.50

RichAutomate has ₹0 setup and no mandatory monthly fee; optional plans are Starter ₹499, Pro ₹899 and White-label ₹1,199 a month. Full details are on the RichAutomate pricing page.

Want fewer rejected templates? Run each draft through the template approval checker, then build and send it from RichAutomate, so your team spends time on campaigns, not on rejections. Start free trial with 14 days and 100 free credits, no setup fee.

What will this cost you?

Send these messages on WhatsApp, from your own number

We get your templates approved on the official WhatsApp API and set up your first broadcast with you. ₹0 platform fee, you pay only Meta's per-message rate.

By submitting, you agree RichAutomate may contact you on WhatsApp about this enquiry, per our DPDP-compliant privacy policy. No spam.

DPDP-compliant · India-hosted · 1-min reply
Rather try it yourself? Start free
Tagged
WhatsApp Business APICharacter LimitsMedia File SizeWhatsApp TemplatesInteractive MessagesIndia
Written by
RichAutomate Team
Editorial team at RichAutomate. We build the WhatsApp Business automation platform Indian D2C brands, fintechs, and agencies use to ship campaigns and flows on the official Meta Cloud API.
FAQ

Frequently asked questions

What is the character limit for a WhatsApp Business API message?
A text message can be up to 4,096 characters and can only be sent inside the 24-hour customer service window. Template messages are stricter: the body is capped at 1,024 characters, the header and footer at 60 characters each, and each button label at 25. Media captions allow up to 1,024 characters. These are Meta's published Cloud API limits, checked in October 2026.
What is the WhatsApp character limit with an image?
An image caption can be up to 1,024 characters, the same as video and document captions, so you get far less room than the 4,096 characters of a plain text message. For an image template, the image goes in the header and your text goes in the 1,024-character body. If you need more space, send the image first and a separate text message after it inside the 24-hour window.
What is the maximum file size for images, videos and PDFs on WhatsApp API?
Images in JPEG or PNG can be up to 5 MB. Video in MP4 or 3GPP and audio in AAC, AMR, MP3, M4A or OGG with the Opus codec can be up to 16 MB each. Documents such as PDF, DOC, DOCX, XLS, XLSX, PPT, PPTX and TXT can be up to 100 MB. Stickers must be WebP, under 100 KB static or 500 KB animated.
Do template variables count toward the 1,024-character body limit?
Yes. The limit applies to the final message after every variable is filled in. A template that measures 950 characters with placeholders can fail at send time when a long customer name or product title is inserted. Set a maximum length for each variable, truncate long values in your system before sending, and use short, realistic samples when submitting the template.
How are Hindi and other Indian language characters counted on WhatsApp?
WhatsApp counts characters, not bytes, so Devanagari, Tamil or Bengali text is not penalised for using more storage. However, conjuncts and vowel signs are separate Unicode code points, so a Hindi sentence often counts longer than it looks. Emoji can count as two or more characters, and line breaks and formatting symbols also count toward the limit.
Why does my WhatsApp video fail to send through the API?
The most common causes are the wrong codec, multiple audio tracks or a file over 16 MB. Videos shot on iPhones often use HEVC, which WhatsApp does not accept. Re-encode to MP4 with H.264 video and AAC audio in a single track. Exporting at 720p with a bitrate around 1.5 to 2 Mbps keeps a 45-second clip comfortably under the limit.
RichAutomate · WhatsApp BSP for India 2026

Ship WhatsApp campaigns + flows on a transparent, compliance-ready BSP.

₹0 platform fee. DPDP audit log included. Visual flow builder. Multi-tenant from day one.

Start free trial
Want this for your brand?

Get a free 24-hour BSP audit

Send us your last invoice. We line-item it against Meta's published rates and benchmark against three alternatives.

Limited Spots Available

Get a Free
Automation Audit

Stop leaving revenue on the table. Get a custom roadmap to automate your growth.

Secure & Confidential