Resize a photo for WhatsApp

1600 pixels on the longest edge is the size WhatsApp itself targets — send that and the app has little left to compress, so the photo arrives closer to what you saw.

🔒 100% client-side · zero server upload

On by default. Portrait photos are rotated upright first, so removing EXIF never turns them sideways.

Results

    Everything runs in this browser tab. Nothing is uploaded.

    Malaysian rules & edge cases

    What is removed, per format. Metadata is stripped at the container level, so the image data itself is never touched by the strip:

    FormatBlocks removedWhat stays
    JPEGAPP1 Exif/XMP, an MPF preview index, other vendor APPn blocks, COM comment, and the second image some phones append after the end of the fileJFIF (APP0, with its embedded thumbnail cut out), the ICC colour profile, the quantisation/huffman tables and the compressed image data
    PNGeXIf, tIME, tEXt / iTXt / zTXt, private vendor chunksIHDR, PLTE, tRNS, IDAT, IEND and the colour chunks (iCCP, sRGB, gAMA, pHYs), so the file still opens and still prints at the right size
    WebPEXIF (camera, date, GPS), XMPThe ICCP profile and the image data; the VP8X flags are rewritten to match what survives, so readers do not look for blocks that are gone

    Orientation is applied to the pixels, not just deleted. EXIF orientation runs 1–8; 6 is the common "phone held upright" case and means "rotate 90° clockwise to display". This tool rotates the pixels on the way in and then drops the tag, so a portrait photo stays portrait. That is the one bug every "remove EXIF" script ships with.

    Size rules. The longest-edge presets never upscale, and every canvas is capped at 16.7 megapixels — a 48 MP photo is scaled down before it is drawn, because mobile Safari refuses a larger canvas. Target-size mode bisects a quality range of 0.32–0.92 — about four encodes instead of nine — and says so when the file still misses the number. PNG ignores the quality setting because it is lossless.

    Honest limits. WebP output needs a browser that can actually encode it; when it cannot, the file is saved as JPEG and named .jpg — never a PNG renamed .webp. HEIC is not decoded here: set the iPhone camera to Most Compatible, or convert the HEIC to JPEG first. The colour profile is kept, not stripped: deleting it would quietly turn a Display P3 photo into washed-out sRGB. A re-compressed file does come back without one, because the browser's encoder writes none — that, not the strip, is where a very wide-gamut photo loses a little saturation.

    Before and after

    Before

    IMG_2481.jpg — 4032×3024 — iPhone 15 Pro — 2026-10-18 09:41 — GPS 6.3521, 99.8021 — orientation 6
    produk-shopee-01.png — 1080×1080 — Photoshop 25.0 — no camera, no GPS

    After

    IMG_2481-min.jpg — 1200×1600 portrait — camera, GPS and date removed — orientation applied to pixels
    produk-shopee-01-min.jpg — 1080×1080 — metadata removed, pixels untouched

    How it works

    1. Drop your photos into the box, or press "Load sample data" for a Langkawi photo that really carries camera, GPS and orientation tags.
    2. Choose the format, the longest edge and either a quality or a target size in KB. Portrait photos are rotated upright before anything is saved.
    3. Press Run, check the before/after size for every file, then download them one by one — the files never left this tab.

    FAQ

    Why 1600 pixels?

    WhatsApp re-compresses large photos down to roughly 1600 px on the longest edge. Sending an already-1600 px JPEG means one round of compression instead of two, which is why the received photo looks closer to the original.

    Will it reduce the file size enough to send on mobile data?

    A 1600 px JPEG at quality 85 is typically 200–400 KB, against 3–5 MB for a modern phone photo. That is the difference between a slow send on a weak line and an instant one.

    Does it remove the GPS location from holiday photos?

    Yes, by default: the camera, GPS, software and timestamp blocks are stripped, while the EXIF orientation is applied to the pixels first so the photo does not arrive sideways. WhatsApp strips most metadata anyway, but the copy on your phone keeps it until you clean it.