Performance5 min read
Getting Next.js Image Optimization Right for a Global Audience
The `next/image` component does most of the work automatically. The remaining decisions still cost real seconds for users on slower connections.
Tanjil Ahmed
Lead Software Engineer · Notionhive
`next/image` automatically handles responsive sizing, lazy loading, and modern format negotiation — a genuine improvement over the manual work this used to require. It's not a complete solve on its own; the remaining decisions are still where a global audience actually feels the difference.
- Serve images from a CDN geographically close to the actual audience, not just close to the origin server.
- Set explicit `sizes` props matching real layout breakpoints — the default guesses larger than necessary on many layouts.
- Priority-load only the actual largest-contentful-paint image; marking too many images as priority defeats lazy loading entirely.
- AVIF where the audience's browser support justifies it — meaningfully smaller than WebP for photographic content.
The teams that ship a genuinely fast image experience globally are the ones who checked their actual audience's geography and device mix, not just the ones who added `next/image` and assumed the defaults covered every case.
next/image removes the busywork. It doesn't remove the responsibility to know where your actual audience is loading from.
