Privacy-first · fully in-browser

Compress Image for a Canadian visa — 100% in Your Browser

a Canadian visa often rejects oversized images. zipo.pics shrinks your file to fit while keeping it sharp, and shows the exact size first.

IRCC photographs have a floor as well as a ceiling: the official guidance asks for a file of ideally 240 kB and never less than 60 kB, at least 420 × 540 pixels, in JPEG or JPEG2000, with the head measuring 31–36 mm from chin to crown. A modern phone photo is typically 3–6MB, so the ceiling is the binding constraint — but the 60KB floor rejects over-compressed files just as firmly. zipo.pics shows the exact size as you work so you can land inside the window.

Drag images here, or click to choose

Batch upload, auto-compress with current settings; all computation runs in your local browser

PNGJPGWebPAVIF

Never uploaded to a server · images never leave the browser

Turn your image into an eBay listing / Instagram post / Walmart main
Click any image in the right list to export multi-platform versions →
eBay listingInstagram postWalmart mainAmazon mainTikTok cover
Target size
60 – 240 KB
Recommended
≥ 420 × 540 px

Targets are general guidance; always check the official limit for your case.

Official IRCC digital photo specifications (canada.ca)

Both ends of the range matter

IRCC states the final size should ideally be 240KB and not less than 60KB. A file pushed to 20KB in the name of "smaller is better" will be rejected, and so will a 4MB original left untouched. The safe target is somewhere in the middle of the stated window, verified against the official specifications linked above before you submit.

Pixels and file size are two separate checks

Canada also requires at least 420 × 540 pixels, a printed frame of at least 35 × 45 mm, and a head between 31 and 36 mm from chin to crown. Compressing reduces bytes, never pixels — so if your source photo is small enough, compression cannot fix it and you will need to resize first. Use the size readout to confirm the file-side requirement is satisfied once your pixel dimensions are already correct.

A biometric photo never needs a third-party server

The image is matched to your face at the border. Any service that compresses on its infrastructure holds a copy while doing so. zipo.pics compresses inside your browser with Rust + WebAssembly, so your photo exists on your device and nowhere else — nothing to retain, nothing to hand over, no account required.

FAQ

What size should I compress for a Canadian visa?

Aim for the target in the table below and keep the file under it — zipo.pics shows the exact output size before you download.

Will it stay sharp?

zipo.pics uses near-lossless settings by default; compare original vs compressed and stop when it looks acceptable.

Is it private?

Yes — everything runs locally in your browser; nothing is uploaded.

Is my image uploaded to a server?

No. Every conversion runs inside your browser, on your own device, using Rust compiled to WebAssembly. The image bytes are never sent to zipo.pics or to any third party — which is also why the page keeps working offline after it has loaded once.

Is zipo.pics free? Is there a limit on how many images I can compress?

Standard compression is free and unlimited: no account, no image-count cap. Credits are only needed for optional extras such as AI enhancement, noise removal, watermark removal and HD export.

Which image formats can it compress?

PNG, JPG/JPEG, WebP, AVIF and GIF, and you can convert between them. Choose PNG to shrink a photo while keeping every pixel, WebP or AVIF for the smallest file at a given quality, and JPG when you need universal compatibility.

Will compressing my image reduce its quality?

You decide. Each result is shown next to the original before you download, so you can lower or raise the strength per image. Lossless mode re-encodes the same format without discarding data; stronger settings trade a little fine detail for a much smaller file.