Formatos de imagem para a web: JPG, PNG, GIF, SVG e WebP

Entenda as diferenças entre os principais formatos de imagem e quando escolher cada um em seus projetos.

Escolher o formato errado para uma imagem pode resultar em arquivos desnecessariamente grandes, perda de qualidade visual ou falta de suporte em navegadores. Cada formato existe por uma razão — e entender as características de cada um é uma habilidade essencial para qualquer desenvolvedor front-end.

Nesta lição, vamos conhecer em profundidade os cinco formatos mais usados na web: JPEG, PNG, GIF, SVG e WebP.


Raster vs. Vetorial: a distinção fundamental

Antes de entrar nos formatos, é preciso entender a diferença entre os dois tipos de imagem que existem na computação:

Imagens rasterizadas

Uma imagem rasterizada é formada por uma grade de pixels — cada pixel tem uma cor específica, e juntos eles formam a imagem.

■■■□□□□□□□
■■■□□■■□□□  ← cada quadrado é um pixel
■■■□□■■□□□
□□□□□□□□□□

Quando você amplia uma imagem rasterizada além do seu tamanho original, os pixels ficam visíveis e a imagem parece "pixelada" ou borrada — a famosa perda de qualidade.

Formatos rasterizados: JPEG, PNG, GIF, WebP

Imagens vetoriais

Uma imagem vetorial não é formada por pixels — ela é formada por instruções matemáticas que descrevem formas geométricas: "desenhe um círculo de raio 50px no ponto (100, 100)".

Como são equações matemáticas, as imagens vetoriais podem ser escaladas para qualquer tamanho — de um ícone de 16px até um outdoor de 10 metros — sem nenhuma perda de qualidade.

Formato vetorial: SVG


JPEG — Joint Photographic Experts Group

Extensões: .jpg ou .jpeg

O JPEG é o formato mais antigo e mais usado para fotografias e imagens com gradientes suaves e muitas cores.

Como o JPEG funciona

O JPEG usa um algoritmo de compressão com perda (lossy) — ele descarta informações de cor que o olho humano dificilmente percebe, reduzindo dramaticamente o tamanho do arquivo.

Pense assim: em um céu azul com gradiente, o JPEG pode simplificar dezenas de tons de azul ligeiramente diferentes em grupos de tons similares — você quase não percebe, mas o arquivo fica muito menor.

Características do JPEG

Característica JPEG
Tipo Rasterizado
Compressão Com perda (lossy)
Transparência ❌ Não suporta
Animação ❌ Não suporta
Ideal para Fotografias, imagens complexas com muitas cores
Não recomendado para Textos, ícones, logos, áreas de cor sólida

JPEG perde qualidade a cada salvamento

Uma propriedade importante do JPEG é que ele perde qualidade cada vez que é salvo novamente. Abrir, editar e salvar uma imagem JPEG repetidas vezes vai degradando a qualidade progressivamente — como fazer uma fotocópia de uma fotocópia.

<!-- ✅ Uso correto: fotografia de produto -->
<img
  src="foto-produto.jpg"
  alt="Tênis esportivo azul modelo AirRun Pro visto de lado"
  width="600"
  height="400"
>

<!-- ✅ Uso correto: imagem de background -->
<img
  src="paisagem-hero.jpg"
  alt=""
  width="1200"
  height="600"
>

PNG — Portable Network Graphics

Extensão: .png

O PNG foi criado como substituto moderno do GIF para imagens estáticas. Seu grande diferencial é o suporte a transparência e a compressão sem perda (lossless).

Compressão sem perda

Ao contrário do JPEG, o PNG não descarta nenhuma informação visual — a imagem pode ser salva e aberta infinitas vezes sem nenhuma degradação de qualidade.

A contrapartida é que arquivos PNG geralmente são maiores que JPEG para o mesmo conteúdo fotográfico.

Transparência no PNG

O PNG suporta canal alpha — um quarto canal além do vermelho, verde e azul que define a transparência de cada pixel. Isso permite criar imagens com bordas suaves e fundos transparentes.

<!-- ✅ Logo com fundo transparente -->
<img
  src="logo-transparente.png"
  alt="Logo da empresa"
  width="160"
  height="50"
>

<!-- ✅ Ícone com transparência sobre fundo colorido -->
<img
  src="icone-notificacao.png"
  alt="3 notificações pendentes"
  width="32"
  height="32"
>

Características do PNG

Característica PNG
Tipo Rasterizado
Compressão Sem perda (lossless)
Transparência ✅ Suporte completo com canal alpha
Animação ❌ Não suporta (existe APNG, mas pouco usado)
Ideal para Logos, ícones, capturas de tela, imagens com texto
Não recomendado para Fotografias grandes (arquivo muito pesado)

💡 Para fotografias, o PNG pode gerar arquivos 3 a 5 vezes maiores que o JPEG equivalente sem benefício visual perceptível. Use JPEG para fotos e PNG para imagens que precisam de transparência ou bordas nítidas com texto.


GIF — Graphics Interchange Format

Extensão: .gif

O GIF é o mais antigo dos formatos desta lição — criado em 1987 — e sobreviveu ao tempo por uma razão principal: é o único formato amplamente suportado que permite animações com HTML puro.

Como o GIF funciona

O GIF armazena uma sequência de frames — como um flipbook digital — que o navegador exibe em loop. Cada frame é uma imagem separada com sua própria paleta de cores.

A limitação das 256 cores

A maior desvantagem do GIF é que cada frame suporta no máximo 256 cores. Isso o torna inadequado para fotografias — que têm milhões de cores — mas perfeitamente aceitável para animações simples com poucas cores.

<!-- ✅ Uso correto: animação simples de ícone -->
<img
  src="loading-spinner.gif"
  alt="Carregando..."
  width="32"
  height="32"
>

<!-- ✅ Uso correto: ilustração animada simples -->
<img
  src="mascote-acenando.gif"
  alt="Mascote da empresa acenando"
  width="200"
  height="200"
>

GIF e acessibilidade: atenção ao movimento

Animações em GIF que piscam mais de 3 vezes por segundo podem causar crises em pessoas com epilepsia fotossensível. As diretrizes WCAG recomendam que animações automáticas possam ser pausadas ou controladas pelo usuário.

Para animações na web moderna, formatos como CSS animations, SVG animado e WebP animado são alternativas mais eficientes ao GIF.

Características do GIF

Característica GIF
Tipo Rasterizado
Compressão Sem perda para paleta limitada
Transparência ✅ Parcial — 1 cor pode ser transparente
Animação ✅ Suporte nativo
Cores Máximo de 256 por frame
Ideal para Animações simples, reações e memes
Não recomendado Fotografias, imagens com gradientes suaves

SVG — Scalable Vector Graphics

Extensão: .svg

O SVG é o único formato vetorial desta lista — e isso o torna completamente diferente dos outros. Em vez de pixels, um arquivo SVG contém código XML que descreve formas, linhas, curvas e cores:

<!-- O que está dentro de um arquivo .svg -->
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100">
  <circle cx="50" cy="50" r="40" fill="#FF6B35"/>
  <rect x="30" y="30" width="40" height="40" fill="#FFF"/>
</svg>

Isso significa que um SVG pode ser escalado infinitamente sem nenhuma perda de qualidade — perfeito para logos, ícones e ilustrações que precisam aparecer em tamanhos variados.

SVG na tag img

<!-- ✅ Logo em SVG — nítido em qualquer tamanho de tela -->
<img
  src="logo.svg"
  alt="Logo da empresa"
  width="160"
  height="48"
>

<!-- ✅ Ícone em SVG -->
<img
  src="icones/estrela.svg"
  alt=""
  width="24"
  height="24"
>

SVG inline: código diretamente no HTML

Além de referenciar arquivos .svg com <img>, você pode inserir o código SVG diretamente no HTML — chamado de SVG inline. Isso permite estilizar e animar o SVG com CSS e JavaScript:

<!-- SVG inline: código diretamente no HTML -->
<svg
  xmlns="http://www.w3.org/2000/svg"
  viewBox="0 0 24 24"
  width="24"
  height="24"
  aria-label="Favoritar"
  role="img"
>
  <path d="M12 21.35l-1.45-1.32C5.4 15.36 2 12.28 2 8.5
           C2 5.42 4.42 3 7.5 3c1.74 0 3.41.81 4.5 2.09
           C13.09 3.81 14.76 3 16.5 3C19.58 3 22 5.42 22 8.5
           c0 3.78-3.4 6.86-8.55 11.54L12 21.35z"/>
</svg>

Características do SVG

Característica SVG
Tipo Vetorial
Escalabilidade ✅ Infinita sem perda de qualidade
Transparência ✅ Suporte completo
Animação ✅ Via CSS ou JavaScript
Editável com CSS ✅ Quando inline
Ideal para Logos, ícones, ilustrações, gráficos
Não recomendado Fotografias — muito complexo para pixels

WebP — Web Picture Format

Extensão: .webp

O WebP foi desenvolvido pelo Google em 2010 como um formato moderno e eficiente para a web — capaz de substituir tanto JPEG quanto PNG e GIF com arquivos menores e mesma qualidade.

Por que o WebP é superior

O WebP usa algoritmos de compressão mais avançados e oferece:

  • 25 a 35% menos peso que JPEG equivalente
  • 25% menos peso que PNG equivalente
  • Suporte a transparência (como PNG)
  • Suporte a animações (como GIF, mas muito mais leve)
  • Compressão com e sem perda
Mesma foto de produto:
├── foto.jpg    → 320 KB
├── foto.png    → 890 KB
└── foto.webp   → 210 KB  ← mesmo visual, arquivo menor
<!-- ✅ Foto em WebP com fallback para JPEG -->
<!-- (uso com <picture> — próxima lição) -->
<picture>
  <source srcset="foto.webp" type="image/webp">
  <img src="foto.jpg" alt="Descrição da foto" width="600" height="400">
</picture>

<!-- ✅ Imagem WebP simples quando não precisa de fallback -->
<img
  src="produto.webp"
  alt="Notebook aberto sobre mesa de trabalho"
  width="800"
  height="533"
>

Suporte ao WebP

O WebP tem suporte em todos os navegadores modernos — Chrome, Firefox, Safari (desde 2020), Edge e Opera. Para projetos que precisam suportar navegadores muito antigos, é necessário fornecer um fallback com JPEG ou PNG.

Características do WebP

Característica WebP
Tipo Rasterizado
Compressão Com e sem perda
Transparência ✅ Suporte completo
Animação ✅ Suporte nativo
Tamanho do arquivo Menor que JPEG e PNG
Suporte Todos os navegadores modernos
Ideal para Qualquer imagem rasterizada na web moderna

Comparação completa dos formatos

JPEG PNG GIF SVG WebP
Tipo Raster Raster Raster Vetor Raster
Compressão Lossy Lossless Lossless — Ambas
Transparência ❌ ✅ ✅ parcial ✅ ✅
Animação ❌ ❌ ✅ ✅ CSS/JS ✅
Escalabilidade Perde qualidade Perde qualidade Perde qualidade ✅ Infinita Perde qualidade
Fotografias ✅ Ótimo ⚠️ Pesado ❌ ❌ ✅ Melhor
Logos/Ícones ❌ ✅ ⚠️ ✅ Melhor ✅
Animações ❌ ❌ ✅ ✅ ✅

Guia rápido: qual formato usar?

Precisa de escalabilidade infinita?
  └── Sim → SVG

É uma fotografia?
  └── Sim → WebP (fallback: JPEG)

Precisa de transparência?
  └── Sim → WebP ou PNG (SVG se for vetorial)

É uma animação simples?
  └── Sim → WebP animado, CSS animation ou GIF (legacy)

É um ícone ou logo rasterizado?
  └── Sim → WebP ou PNG

Nada acima?
  └── WebP com fallback JPEG

Resumindo

  • JPEG → fotografias; compressão com perda; sem transparência; menor tamanho para fotos
  • PNG → imagens com transparência; compressão sem perda; mais pesado que JPEG para fotos
  • GIF → animações simples; máximo 256 cores; transparência de 1 cor
  • SVG → vetorial; escalável infinitamente; editável com CSS; ideal para logos e ícones
  • WebP → formato moderno; menor que JPEG e PNG; suporta transparência e animação; use por padrão em projetos modernos