Sending WhatsApp Media: Images, Videos, PDFs, and Voice Notes
Images, video, PDFs, and voice notes, the size limits and setup that make them land.
A blurry product photo or an oversized PDF is the fastest way to have a WhatsApp message quietly fail to send. Knowing the size limits before you hit send saves the confusion later.
You can send whatsapp media, images, video, PDFs, and voice notes, straight from WaSMS, whether it's a one-off reply or part of a bulk send. Each media type has its own size ceiling set by WhatsApp itself, and staying under it is what determines whether the message actually goes through.
Supported Formats and Size Limits
| Media type | Formats | Size limit |
|---|---|---|
| Images | JPEG, PNG | Up to 5MB |
| Video | MP4, 3GPP | Up to 16MB |
| Documents | PDF, DOCX, XLSX, and similar | Up to 100MB |
| Audio / voice notes | AAC, MP3, OGG | Up to 16MB |
| Stickers | WebP | Up to 500KB animated, 100KB static |
These are WhatsApp's platform-wide limits, and they apply the same way whether you're connected through Cloud API, a local gateway, or a VPS gateway.
Preparing Files Before You Send WhatsApp Media
A few habits avoid most media problems entirely:
- Compress large images and videos before attaching them — most compression brings a file well under the limit with no visible quality loss
- Use PDF for documents rather than DOCX or XLSX when you want consistent rendering across every recipient's phone
- Keep voice notes under about two minutes for engagement, even though the technical size limit allows longer
Batch Sending Media
Attaching a file to a broadcast or bulk send in WaSMS sends that same file to every recipient, while the caption text can still be personalized with merge fields. An agency called Bright Signal attaches the same PDF case study to a bulk send but personalizes the caption with each client's name, so it still reads like a direct message rather than a mass mailing. For the rules around who you can send bulk media to, see WhatsApp bulk messaging and the WhatsApp broadcast guide.
curl -X POST "https://graph.facebook.com/v20.0/<PHONE_NUMBER_ID>/messages" \
-H "Authorization: Bearer <ACCESS_TOKEN>" \
-H "Content-Type: application/json" \
-d '{
"messaging_product": "whatsapp",
"to": "<RECIPIENT>",
"type": "document",
"document": { "link": "https://yourdomain.com/case-study.pdf", "caption": "Hi Sarah, here is the case study we discussed." }
}'

Previewing Before Sending
WaSMS shows a preview pane of exactly how the media and caption will render on a phone before you send or schedule a bulk job. This catches a cropped image, a broken link, or an awkward caption line-break before it reaches a single customer, not after.

Common Failure Reasons
- The file exceeds the size limit for its type
- The format isn't supported — compressed archives and executables are blocked outright
- A linked file (for documents sent by URL) has expired or sits behind a login
- The recipient's device is out of storage, which is rare but shows up as undelivered
If a media message fails for a reason not listed here, why messages aren't sending covers the broader troubleshooting steps.
What to read next
- WhatsApp bulk messaging for sending media alongside text at scale
- Product catalog in WhatsApp if you're sending product images and want a structured catalog instead
- WhatsApp marketing guide for using media inside a broader campaign