Como comprimir imagens sem perder qualidade

· 9 min de leitura

Ficheiros de imagem grandes tornam os sites lentos, entopem caixas de e-mail e devoram armazenamento. Comprimi-los é uma das formas mais simples de acelerar as coisas, e pode fazê-lo sem instalar software, sem enviar nada para um servidor, e geralmente sem qualquer perda visível de qualidade. As definições de compressão certas podem retirar 80% do tamanho de uma foto mantendo-a idêntica à distância normal de visualização.

Uma breve história da compressão de imagem

A compressão como ideia digital é mais antiga que a web. A codificação por comprimento de carreira em formatos bitmap antigos (TIFF em 1986, PCX antes) reduzia cores repetidas a uma contagem mais um valor, encolhendo dramaticamente capturas e gráficos simples. O padrão JPEG de 1992 trouxe a compressão com perdas para o grande público usando a transformada discreta de cosseno (DCT) para descartar informação que o sistema visual humano não consegue perceber facilmente, ideia que ainda hoje, três décadas depois, sustenta a maior parte da compressão fotográfica.

O PNG chegou em 1996 com compressão sem perdas baseada em DEFLATE, ideal para capturas e logótipos que o JPEG estraga. WebP (Google, 2010) adicionou um modo com perdas mais inteligente que bate o JPEG em 25-35% e um modo sem perdas que bate o PNG em 20-30%. AVIF (2019) dá outro grande salto, frequentemente metade do tamanho de WebP à mesma qualidade. JPEG XL (2021) é o último candidato, querendo substituí-los a todos com um formato único que faz sem perdas, com perdas, animação e até recomprime JPEGs antigos sem perda adicional. A adoção pelos browsers é o fator limitante; os algoritmos em si já ultrapassaram em larga medida a eficiência do JPEG.

Porque o tamanho do ficheiro de imagem importa

Cada imagem numa página web tem de ser descarregada pelo browser do visitante. Uma única foto não comprimida do telemóvel pode ter 5-10 MB. Multiplique por várias imagens e a sua página demora bem mais a carregar numa ligação rápida, e minutos numa lenta. Imagens mais pequenas significam:

Como funciona a compressão de imagem

Há dois tipos de compressão, cada um com os seus compromissos.

A compressão com perdas (JPEG, WebP, AVIF) remove dados de imagem que o olho dificilmente notará. Em níveis de qualidade moderados (cerca de 60-80%), o resultado parece virtualmente idêntico ao original, mas pode ser 50-80% mais pequeno. O algoritmo trabalha em três passos: converte RGB para YCbCr (separando brilho de cor), faz subamostragem dos canais de cor (o olho é bem menos sensível ao detalhe de cor do que ao brilho), e aplica a DCT para descartar detalhe de alta frequência. Cada passo não custa nada em qualidade percebida e poupa quantidades enormes de dados.

A compressão sem perdas (PNG, FLAC para áudio) reorganiza os dados para ocupar menos espaço sem retirar nada. A imagem fica pixel-perfeita igual ao original, mas a poupança de tamanho é menor, tipicamente 10-30% em fotos e 30-60% em capturas e logótipos.

Formatos mistos (WebP, AVIF, JPEG XL) deixam-no escolher com ou sem perdas por ficheiro. A maior parte dos pipelines de foto modernos usa com perdas para entrega e mantém um master sem perdas para arquivo.

Como comprimir imagens online

  1. Carregue as suas imagens: arraste e largue uma ou várias imagens (JPEG, PNG, WebP, AVIF, HEIC, GIF, BMP, até 50 MB cada) na ferramenta, ou clique para procurar ficheiros. Tudo é processado localmente; nada é enviado.
  2. Ajuste as definições de qualidade: use o controlo de qualidade para controlar o nível de compressão. Valores mais baixos significam ficheiros mais pequenos com mais compressão. Pode também definir uma largura máxima, mudar o formato de saída ou apontar para um tamanho de ficheiro alvo.
  3. Pré-visualize o resultado: a maioria das ferramentas mostra miniaturas antes-e-depois com o novo tamanho. Afine a qualidade até o compromisso encaixar no seu caso de uso.
  4. Descarregue os resultados: descarregue imagens comprimidas individualmente ou clique em "Descarregar tudo" para um ZIP do lote.

Por trás, o ficheiro é lido via FileReader, descodificado pelo pipeline de imagem do browser, desenhado num canvas fora do ecrã, e re-codificado à qualidade alvo via canvas.toBlob. Versões WebAssembly dos codificadores WebP, AVIF e MozJPEG dão desempenho de compressão quase nativo sem sair da página.

Definições de qualidade que funcionam

Não há uma qualidade "certa" universal. A tabela abaixo é um ponto de partida; ajuste a partir daí com base no aspeto real das suas imagens.

Caso de usoQualidade recomendadaFormatoNotas
Foto hero / banner80-85JPEG / WebPMantenha as arestas nítidas
Imagem inline de post70-80WebP / JPEGMais pequeno que a hero está bem
Miniatura / pré-visualização60-70WebP / JPEGA qualidade importa menos em pequeno
Foto de produto80-90JPEG / WebPO detalhe vende o produto
Captura de UI90+ ou PNGPNG / WebP sem perdasJPEG estraga as arestas nítidas
Diagrama / gráficoPNG ou WebP sem perdasPNG / WebPArestas duras, cor plana
Foto para arquivoWebP sem perdas / FLIFSem perdasMantém todos os pixels
Avatar / foto de perfil75-85JPEG / WebPOs rostos continuam reconhecíveis
Padrão de fundo60-70WebP / JPEGSubtil, tolera mais perda

Dicas para obter os melhores resultados

Que formato usar

FormatoMelhor paraTipo de compressãoSuporte de browser (2024)
JPEGFotos, imagens realistasCom perdasUniversal
PNGCapturas, gráficos com texto, transparênciaSem perdasUniversal
WebPImagens web (fotos e gráficos)Com e sem perdas97%+
AVIFImagens web modernas, metade do tamanho de WebPCom e sem perdas92%+
HEICFotos do ecossistema AppleCom e sem perdasSafari, ~60% no resto
GIFAnimações simples (considere WebP/MP4)Sem perdas (cores limitadas)Universal
JPEG XLÀ prova de futuro, recodificação sem perdas de JPEGAmbasLimitado, a crescer

Para conteúdo novo em 2024, a melhor prática é servir AVIF onde for suportado, WebP como fallback moderno universal, e JPEG ou PNG como último recurso. O elemento picture trata disto de forma limpa em HTML.

Armadilhas comuns

Ferramentas e bibliotecas alternativas

Um compressor web é o caminho mais rápido para uma ou poucas imagens. Para lotes ou pipelines com scripts, as ferramentas de linha de comandos e bibliotecas tomam conta.

FerramentaPlataformaForçaA vigiar
Compressor de imagens webBrowserSem instalação, sem upload, UI de loteA velocidade depende do dispositivo
MozJPEGCLIJPEGs mais pequenos que libjpeg-turbo à mesma qualidadeSó JPEG
GuetzliCLIOs JPEGs mais pequenos, por larga margemCodificação extremamente lenta
jpegoptimCLIOtimização JPEG sem perdasGanhos limitados em ficheiros já otimizados
OptiPNG / oxipngCLIOtimização PNG sem perdasA velocidade varia com o conteúdo
pngquantCLIQuantização PNG-8 com alfaA qualidade é intencionalmente com perdas
cwebp / dwebpCLIFerramentas de referência WebPBinários por formato
avifenc / avifdecCLIFerramentas de referência AVIFMais lento que os codificadores WebP
Squoosh CLICLITodos os codecs modernos numa só ferramentaMais recente, menos opções
sharp (Node.js)BibliotecaO mais rápido do lado do servidor em escalaPrecisa de runtime Node
Pillow (Python)BibliotecaPythonic, scripting fácilMais lento que sharp
ImageMagick / GraphicsMagickCLIUma ferramenta para redimensionar + comprimir + converterSintaxe verbosa

Para automatizar um pipeline de fotos de produto, sharp + MozJPEG + AVIF dá a melhor relação velocidade/qualidade em 2024. Para uploads pontuais, a ferramenta de browser ganha em conveniência e privacidade.

Privacidade e o compressor

O compressor de imagens corre inteiramente no seu browser. O ficheiro que seleciona é lido com a API FileReader, descodificado pelo pipeline de imagem do browser, desenhado num canvas fora do ecrã, e re-codificado via canvas.toBlob. Nada é enviado, nada é registado, nada é partilhado. Para material sensível, capturas de dashboards internos, scans de identificação, rascunhos de contratos como provas em imagem, esse fluxo só-local é a diferença entre confiar no servidor de um estranho e não confiar em ninguém. Mesmo fotos comuns têm muitas vezes metadados EXIF (coordenadas GPS, número de série do dispositivo, timestamp) que pode não querer que um terceiro veja; o pipeline baseado em Canvas remove a maior parte do EXIF por defeito, e a falta de upload significa que esses dados nunca saem da página de qualquer forma. Para uma tarefa tão rotineira como tornar uma foto mais pequena, o nível de privacidade por defeito deve ser: nada sai da página, nada é armazenado, nada é partilhado.

Perguntas frequentes

A compressão reduz a qualidade da imagem?

Em cerca de 60% de qualidade, a maioria das imagens parece quase idêntica à original, sendo 50-80% menor. A diferença geralmente é invisível ao olho humano, a menos que você amplie bastante.

Quais formatos de imagem posso comprimir?

Formatos web comuns como JPEG, PNG, WebP, GIF e BMP podem ser comprimidos. JPEG e WebP usam compressão com perdas (qualidade ajustável), enquanto PNG usa compressão sem perdas.

É seguro comprimir imagens no meu navegador?

Sim. Compressores de imagens baseados em navegador processam arquivos inteiramente no seu dispositivo usando JavaScript. Suas imagens nunca são enviadas a um servidor, portanto permanecem totalmente privadas.

Posso comprimir várias imagens de uma vez?

Sim. A maioria das ferramentas baseadas em navegador suporta processamento em lote, selecione vários arquivos de uma vez, e todos serão comprimidos com as mesmas configurações.

What is the difference between compressing and resizing?

Resizing changes the pixel dimensions (a 4000px photo becomes 1200px). Compressing reduces the file size in bytes without changing the dimensions. For the smallest possible file, resize first, then compress.

Will compression strip my EXIF and GPS metadata?

Browser-based compressors built on the Canvas API typically drop all EXIF, including GPS coordinates, camera model, and timestamps. Server-side tools may preserve it. If privacy matters, prefer a Canvas-based tool and verify with a test image.