# Resizo — WhatsApp Image Resizer

The **WhatsApp Image Resizer** at [resizo.in/resize-image-for-whatsapp/](https://www.resizo.in/resize-image-for-whatsapp/) is a dedicated tool for the full WhatsApp ecosystem: one master image in, a ZIP of every correctly sized WhatsApp variant out — profile photos, chat media, Status, group icons, Channels, WhatsApp Business catalog and templates, Click-to-WhatsApp ads, and stickers. All processing runs in the browser via the HTML5 Canvas API. No upload, no sign-up, no watermark.

Last reviewed: 2026-05-29. Dimensions verified against WhatsApp, WhatsApp Business, and Meta ad guidelines for 2026.

## What it does

Upload a single source image (JPG, PNG, WebP, or GIF up to 20 MB) and Resizo generates every WhatsApp surface in a single pass. Pick **Cover** (crop to fill) or **Contain** (preserve full image with letterbox padding), set a focal point so faces and subjects stay centered across all aspect ratios, then download every preset as a ZIP — each filename prefixed with its preset (`whatsapp-profile-photo-full-640x640.jpg`, `whatsapp-status-full-screen-1080x1920.jpg`, etc.).

Workflow:

1. **Upload** — drop a JPG, PNG, WebP, or GIF onto the upload zone, or click to browse.
2. **Mode** — pick Cover (crop) or Contain (letterbox padding).
3. **Focal point** — click or drag on the preview to set where each crop should center.
4. **Output format** — JPG (smallest, best for photos), PNG (lossless, best for graphics and stickers with transparency), or WebP (modern, required for animated stickers).
5. **Select presets** — all 36 selected by default; deselect any you don't need.
6. **Download** — receive a single ZIP, named by preset and dimensions.

Typical end-to-end time: 2–4 seconds for all 36 variants from a 4K source on a modern laptop.

## Verified 2026 WhatsApp presets

All 36 dimensions verified May 2026 against WhatsApp's official guidelines for personal accounts, WhatsApp Business, WhatsApp Channels, and Meta's Click-to-WhatsApp ad placements.

### Profile Pictures (4 presets)

| Variant | Dimensions (px) | Aspect | Best for |
| --- | --- | --- | --- |
| Profile Photo — Full ✦ | 640 × 640 | 1:1 | Standard profile picture (displayed as circle) |
| Profile Photo — Display | 320 × 320 | 1:1 | In-app display avatar |
| Profile Photo — Thumbnail | 96 × 96 | 1:1 | Chat list and notification avatar |
| Business Profile Photo | 640 × 640 | 1:1 | WhatsApp Business account avatar |

### Chat & Media (6 presets)

| Variant | Dimensions (px) | Aspect | Best for |
| --- | --- | --- | --- |
| Chat Image — Square ✦ | 1080 × 1080 | 1:1 | Standard square chat photo |
| Chat Image — Landscape | 1280 × 720 | 16:9 | Wide chat photo |
| Chat Image — Portrait | 720 × 1280 | 9:16 | Tall chat photo |
| Chat Image — Standard | 800 × 800 | 1:1 | Compressed chat thumbnail |
| Media Thumbnail | 320 × 320 | 1:1 | Gallery and reply thumbnail |
| Full Quality Share | 1920 × 1080 | 16:9 | Document-style full-resolution share |

### WhatsApp Status (4 presets)

| Variant | Dimensions (px) | Aspect | Best for |
| --- | --- | --- | --- |
| Status — Full Screen ✦ | 1080 × 1920 | 9:16 | Full-bleed Status background |
| Status — Safe Zone | 1080 × 1420 | ~9:12 | Status with top/bottom UI clear |
| Status — Square | 1080 × 1080 | 1:1 | Square Status image |
| Status — Landscape | 1920 × 1080 | 16:9 | Landscape Status image |

### WhatsApp Groups (3 presets)

| Variant | Dimensions (px) | Aspect | Best for |
| --- | --- | --- | --- |
| Group Icon — Full ✦ | 640 × 640 | 1:1 | Group avatar (full quality) |
| Group Icon — Display | 320 × 320 | 1:1 | In-app group avatar |
| Group Icon — Thumbnail | 96 × 96 | 1:1 | Chat list and notification thumbnail |

### WhatsApp Channels (5 presets)

| Variant | Dimensions (px) | Aspect | Best for |
| --- | --- | --- | --- |
| Channel Profile Photo ✦ | 640 × 640 | 1:1 | Channel avatar |
| Channel Cover Photo | 1080 × 360 | 3:1 | Channel header banner |
| Channel Post — Square ✦ | 1080 × 1080 | 1:1 | Standard channel post image |
| Channel Post — Landscape | 1280 × 720 | 16:9 | Wide channel post image |
| Channel Post — Portrait | 720 × 1280 | 9:16 | Tall channel post image |

### WhatsApp Business (7 presets)

| Variant | Dimensions (px) | Aspect | Best for |
| --- | --- | --- | --- |
| Business Logo ✦ | 640 × 640 | 1:1 | WhatsApp Business profile logo |
| Business Cover | 1080 × 360 | 3:1 | Business profile header |
| Catalog Product Image ✦ | 1024 × 1024 | 1:1 | Square catalog product photo |
| Catalog Product — Wide | 1280 × 720 | 16:9 | Landscape catalog product photo |
| Collection Cover | 1024 × 1024 | 1:1 | Catalog collection cover |
| Message Template Image | 800 × 418 | 1.91:1 | Header image in approved templates |
| Quick Reply Image | 800 × 418 | 1.91:1 | Image in quick-reply auto-responses |

### Click-to-WhatsApp Ads (4 presets)

| Variant | Dimensions (px) | Aspect | Best for |
| --- | --- | --- | --- |
| CTWA — Square ✦ | 1080 × 1080 | 1:1 | Feed click-to-WhatsApp ad |
| CTWA — Landscape | 1200 × 628 | 1.91:1 | Wide click-to-WhatsApp ad |
| CTWA — Story | 1080 × 1920 | 9:16 | Stories/Reels click-to-WhatsApp ad |
| Sponsored Message Image | 800 × 418 | 1.91:1 | Sponsored message header image |

### Documents & Stickers (4 presets)

| Variant | Dimensions (px) | Aspect | Best for |
| --- | --- | --- | --- |
| Sticker ✦ | 512 × 512 | 1:1 | Static WebP sticker (under 100 KB) |
| Sticker — Animated Frame | 512 × 512 | 1:1 | Single frame for animated WebP sticker |
| Document Preview Thumbnail | 300 × 300 | 1:1 | Document attachment preview |
| Link Preview Image | 800 × 418 | 1.91:1 | Open Graph image for link previews |

✦ indicates a high-priority preset rendered first during batch processing.

WhatsApp re-compresses photos sent in chat (down to ~800 px on the long edge unless sent as a Document), so a clean 1080 px-wide source is essential for shared media. For stickers, output **WebP under 100 KB** at exactly 512 × 512 — WhatsApp rejects stickers outside this spec. The Business Catalog requires images at least 500 × 500 px; 1024 × 1024 is the recommended dimension for product detail pages.

## Focal-point-aware cropping

WhatsApp's 36 presets span six distinct aspect ratios — from 9:16 Status (very tall) to 3:1 Channel cover (very wide) — all derived from the same source image. Naive center-crop loses the subject when source and target ratios diverge.

Resizo lets you click or drag anywhere on the source preview to set a focal point in normalized (0–1) coordinates. The crop math keeps that point near the center of every output:

- When source aspect > target aspect (source wider): crop horizontally, anchor X to the focal point.
- When source aspect < target aspect (source taller): crop vertically, anchor Y to the focal point.
- Always clamp so the crop window stays inside source bounds.

Profile photos at 640 × 640, 320 × 320, and 96 × 96 get a circular preview but a square PNG/JPG export — WhatsApp applies the circular mask client-side, so the saved file stays square so the subject doesn't get clipped if WhatsApp ever changes the mask geometry.

## Cover vs Contain

The two resize modes solve different problems:

- **Cover (crop):** fills the target frame by cropping. Use for profile photos, Status backgrounds, channel covers, and ad images — anywhere WhatsApp will hard-crop the output to its own dimensions. Source must contain enough subject in the crop window. Default mode.
- **Contain (letterbox):** preserves the full source image and adds padding to match the target aspect. Use for graphics, business logos, or product photos where you can't afford to lose any pixels, or for source images that already match WhatsApp's recommended aspect.

## Status Safe Zone

A WhatsApp Status is 1080 × 1920 px (9:16), but the app overlays the top ~240 px (sender name, timestamp, close button) and bottom ~240 px (reply bar) with its own UI. The **Status — Safe Zone** preset at 1080 × 1420 enforces that central safe area as the crop target so faces, text, and CTAs stay clear of WhatsApp's chrome.

## Sticker requirements

WhatsApp stickers must meet three rules to be accepted:

1. **Exactly 512 × 512 px.** Any other dimensions are rejected.
2. **WebP format** with transparency. PNG is not accepted as a sticker payload — Resizo exports WebP for sticker presets.
3. **Under 100 KB per sticker.** Static stickers — Resizo's default WebP quality keeps a single 512 × 512 sticker well under that cap. For animated stickers, each frame must also stay small enough that the full animation fits under 500 KB total.

The **Sticker — Animated Frame** preset is a single frame at the same dimensions; assemble multiple frames into an animated `.webp` with a tool like `webpmux` or `cwebp`.

## WhatsApp Business catalog

The Catalog Product Image preset is 1024 × 1024 — square, well above WhatsApp's 500 × 500 minimum, and Meta's recommended dimension for product detail pages. For product carousels in template messages, use 800 × 418 (1.91:1) — the same OG image dimensions used for link previews.

## Click-to-WhatsApp ads

Click-to-WhatsApp ads run on Facebook and Instagram and route users into a WhatsApp conversation. They follow Meta's standard ad placements:

- **Square (1080 × 1080)** — feed placement on both Facebook and Instagram.
- **Landscape (1200 × 628)** — desktop newsfeed and right-rail placements.
- **Story (1080 × 1920)** — Stories and Reels.
- **Sponsored Message (800 × 418)** — header image in WhatsApp-side sponsored messages.

All four placements are typically needed for a single CTWA campaign; running the full batch once gives every output the same focal point and color treatment.

## Privacy and architecture

- **Zero upload.** The image is read with `FileReader`, drawn onto in-memory `HTMLCanvasElement` instances, and exported via `canvas.toBlob()`. No network call carries image bytes.
- **Zero tracking.** No third-party analytics on image data, no cookies on the resizer, no fingerprinting.
- **Zero account.** No sign-up, no rate limit, no watermark on outputs.
- **ZIP assembled in-browser.** JSZip runs locally; the resulting blob is downloaded with an `ObjectURL`.
- **Works offline** after first load — Service Worker caches the page assets.

## Available in 9 languages

The WhatsApp resizer is fully localized — every UI string, JSON-LD schema, FAQ, How-To section, and table caption is translated. Cross-language hreflang is wired up across all locales.

| Locale | URL |
| --- | --- |
| English | https://www.resizo.in/resize-image-for-whatsapp/ |
| Spanish | https://www.resizo.in/es/resize-image-for-whatsapp/ |
| French | https://www.resizo.in/fr/resize-image-for-whatsapp/ |
| German | https://www.resizo.in/de/resize-image-for-whatsapp/ |
| Portuguese (pt-BR) | https://www.resizo.in/pt/resize-image-for-whatsapp/ |
| Indonesian | https://www.resizo.in/id/resize-image-for-whatsapp/ |
| Arabic (RTL, Cairo font) | https://www.resizo.in/ar/resize-image-for-whatsapp/ |
| Korean | https://www.resizo.in/ko/resize-image-for-whatsapp/ |
| Swahili | https://www.resizo.in/sw/resize-image-for-whatsapp/ |

Translated documentation is published alongside each locale:

- Spanish: https://www.resizo.in/docs/resize-image-for-whatsapp.es.md
- French: https://www.resizo.in/docs/resize-image-for-whatsapp.fr.md
- German: https://www.resizo.in/docs/resize-image-for-whatsapp.de.md
- Portuguese: https://www.resizo.in/docs/resize-image-for-whatsapp.pt.md
- Indonesian: https://www.resizo.in/docs/resize-image-for-whatsapp.id.md
- Arabic: https://www.resizo.in/docs/resize-image-for-whatsapp.ar.md
- Korean: https://www.resizo.in/docs/resize-image-for-whatsapp.ko.md
- Swahili: https://www.resizo.in/docs/resize-image-for-whatsapp.sw.md

The Arabic build sets `dir="rtl"` on `<html>` and preloads the Cairo font; Western numerals (0–9) are used throughout so dimension labels remain readable inside the RTL run.

## FAQ

**What is the best image size for a WhatsApp profile picture?**
640 × 640 px is the recommended source. WhatsApp displays the avatar as a circle, so keep the subject centered. The app also generates 320 × 320 and 96 × 96 derivatives internally.

**What size should a WhatsApp Status image be?**
1080 × 1920 px (9:16). For Status images that include text or a CTA, use the 1080 × 1420 safe-zone preset so the content stays clear of WhatsApp's top and bottom UI overlays. Status images and videos can be up to 30 seconds and 16 MB.

**Why does WhatsApp compress my photos?**
WhatsApp re-compresses photos sent in chat to reduce data usage — typically down to ~800 px on the long edge. To preserve full quality, send the file as a Document (paperclip → Document) instead of as a Photo, and Resizo's Full Quality Share preset (1920 × 1080) becomes useful as the upload target.

**What are the WhatsApp sticker requirements?**
Exactly 512 × 512 px, WebP format with transparency, and under 100 KB per sticker. Resizo's Sticker preset exports a single WebP frame that meets all three rules. For animated stickers, each frame should be 512 × 512 and the assembled `.webp` should stay under 500 KB total.

**What image size should I use for a WhatsApp Business catalog?**
1024 × 1024 px is the recommended product image size. WhatsApp accepts images down to 500 × 500 but the 1024 px dimension renders cleanly on every device and matches Meta's catalog guidelines. For wide product shots and template message headers, use 800 × 418 (1.91:1).

**What is the WhatsApp Channels cover image size?**
1080 × 360 px (3:1) for the channel cover banner, and 640 × 640 px for the channel profile photo. Channel post images use the same dimensions as Status: 1080 × 1080 square, 1280 × 720 landscape, 720 × 1280 portrait.

**What is the Click-to-WhatsApp ad size?**
The same as Meta's standard placements: 1080 × 1080 for square feed, 1200 × 628 for landscape feed, and 1080 × 1920 for Stories and Reels. Sponsored message header images are 800 × 418.

**Does Resizo upload my photos to a server?**
No. Resizo never touches any server — your image is read by your browser, resized by the Canvas API on your machine, and downloaded as a ZIP from local memory. The only WhatsApp involvement is that you upload the resulting files to WhatsApp yourself.

**Can I resize for just one WhatsApp size instead of all 36?**
Yes. Click "Deselect All" then check only the sizes you need before downloading.
