Componente Image do Next.js: sizes, preload e imagens remotas

Guia do componente Image do Next.js

Next.js Image: sizes, preload, remotePatterns e LCP | We.Inc

Como o next/image funciona no Next.js 16: width, height e fill, uma calculadora de sizes, preload substituindo priority, remotePatterns, qualities e as larguras padrão do srcset.

Importe Image de next/image e passe src, alt e, ou width e height, ou fill. Adicione uma string sizes sempre que a largura renderizada mudar conforme a tela, para o navegador baixar um arquivo menor. Na imagem hero que é o seu LCP, defina preload (ele substituiu priority no Next.js 16). Libere hosts externos com images.remotePatterns.

As props que definem a velocidade

Dois erros com imagens são fáceis de cometer no Next.js: uma imagem com fill sem sizes, que faz celulares baixarem arquivos de desktop, e um hero que espera o lazy loading. Esta página explica cada prop em palavras simples, traz uma calculadora que escreve a string sizes para o seu layout e lista os padrões de configuração que o Next.js usa hoje.

Perguntas frequentes

A prop priority está obsoleta?

Sim. A partir do Next.js 16, a documentação marca priority como obsoleta em favor de preload, que insere um link de preload no head. A documentação também diz que, na maioria dos casos, loading="eager" ou fetchPriority="high" é a melhor escolha, e que preload não deve ser combinado com nenhuma dessas props.

Por que o next/image diz que o hostname não está configurado?

Imagens externas precisam corresponder a uma entrada em images.remotePatterns no next.config. Adicione um objeto com protocol, hostname e um pathname como /photos/**, depois reinicie o servidor de desenvolvimento. Requisições que não correspondem a nenhum padrão recebem uma resposta 400 do otimizador de imagens.

O que a prop sizes realmente muda?

Ela informa ao navegador qual será a largura da imagem em cada breakpoint antes de o CSS carregar. Com sizes, o Next.js também gera um srcset completo baseado em largura (640w, 750w e assim por diante) em vez de só 1x e 2x, então um celular pode escolher um arquivo bem menor.

Preciso de width e height com fill?

Não. fill e width/height são alternativas. Com fill a imagem se estica até o pai posicionado, e você controla o recorte com object-fit pela prop style ou className.

Por quanto tempo as imagens otimizadas ficam em cache?

O minimumCacheTTL padrão é 14400 segundos, ou seja, quatro horas. A duração real é a maior entre esse valor e o cabeçalho Cache-Control enviado pela imagem original. Imagens importadas estaticamente ganham cache imutável de longa duração porque os nomes dos arquivos têm hash.

Por que o componente existe

Acertando o LCP

Configurações que você vai mexer

Todas as props que você provavelmente vai usar

Props do next/image (referência do Next.js 16)

Padrões da configuração de imagens

Configurações de images no next.config e seus padrões

Exemplos para copiar

Imagem hero a partir de um import estático

O import fornece ao Next.js as dimensões reais e um placeholder com blur. O preload inicia o download a partir do head.

Grade de cards com fill e sizes

Cada card ocupa um terço da página no desktop, metade em tablets e a largura total em celulares, e o valor de sizes diz exatamente isso.

next.config.ts para um host de imagens remoto

Só arquivos HTTPS em /uploads/ de um único host são permitidos. Dois valores de qualidade são aceitos.

Largura total

Metade no desktop

Grade de 2 colunas

Grade de 3 cards

Grade de 4 cards

Calculadora de sizes

Escolha um layout e os breakpoints para gerar o atributo sizes e veja qual largura padrão do srcset uma determinada tela provavelmente vai baixar.

Layout

Breakpoint de celular (px)

Breakpoint de tablet (px)

Largura da tela: {n}px

Densidade de pixels

Em {screen}px o espaço da imagem tem cerca de {slot}px de largura ({vw}vw). Com densidade {dpr}x, isso exige {need} pixels do dispositivo, então o navegador provavelmente vai buscar a candidata de {pick}w.

Copiar

Larguras candidatas padrão: {list}. Os navegadores podem escolher de outro jeito, por exemplo quando um arquivo maior já está em cache.

Comece grátis · Sem cartão de crédito

Relacionados: Guias

Produto

Para quem é

Recursos

Recursos

Empresa

Mapa do site