tanjilahmed87@gmail.com

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.