4 min de leituraAtualizado

Comprima imagens abaixo de 100 KB (sem enviá‑las para lugar nenhum)

Por Equipe Safe Local Tools

Se o alvo é ficar por volta de 100 KB, raramente existe um único controle mágico. Quase sempre é uma sequência: reduzir pixels, escolher o codec certo, ajustar qualidade, eliminar metadados inúteis e validar no contexto real (celular, retina, PDF). Muitas equipes herdam limites arbitrários de formulários legados, gateways de e‑mail, miniaturas de CMS ou portais governamentais. Enquanto isso, o Safe Local Tools processa tudo no seu navegador, o que faz sentido quando a captura de tela ainda carrega dados de cliente, UI não lançada ou credenciais mal‑borradas.

OG illustration

Por que "100 KB" aparece como teto

Cem kilobytes não é uma constante da natureza; é um compromisso. É pequeno o bastante para redes lentas e CDNs econômicas, mas grande o bastante para uma foto modesta depois de encolher dimensões com critério. Portais impõem esse teto porque validadores antigos foram escritos quando memória e armazenamento eram mais escassos. Apps móveis adotam limites parecidos para anexos e relatórios.

Seu trabalho não é discutir com o validador, e sim alocar bits onde a percepção humana percebe diferença — e retirar bits onde ninguém nota.

O que realmente empurra o tamanho do arquivo

Em linhas gerais, o tamanho codificado cresce com a quantidade de pixels (largura × altura), com a entropia da imagem — ruído, granulação, fundos texturizados e dithering derrotam compressores porque padrões não repetem — e com transparência alfa e bordas nítidas, onde PNG brilha e JPEG sofre. A escolha do codec importa: JPEG para gradientes fotográficos; PNG para linhas nítidas; WebP e AVIF costumam ganhar em decodificadores modernos, desde que a cadeia de publicação aceite o formato.

Quando texto precisa permanecer legível, evite qualidade JPEG tão baixa que gere anéis luminosos em bordas de interface. Às vezes WebP ajuda; às vezes só PNG com menos pixels resolve.

Comece pela geometria: redimensione antes do "milagre do codec"

Autores frequentemente enviam capturas de 4000×3000 px e tentam espremer tudo em 100 KB só com "qualidade = 10". Às vezes funciona; muitas vezes vira lama visual em tipografia e halos em botões. Melhor roteiro: definir a largura máxima de exibição (por exemplo 800 px para figura inline), reduzir proporcionalmente primeiro e só então afinar parâmetros de compressão.

A escala é o rei do orçamento: reduzir 2× os lados corta a área em 4×, isto é, quatro vezes menos coeficientes para armazenar.

Trecho: encaixar no quadro alvo

Este esboço mostra por que a geometria domina o orçamento de bytes antes de qualquer truque de encoder.

function encaixarNaCaixa(largura, altura, ladoMax) {
  const escala = Math.min(1, ladoMax / Math.max(largura, altura));
  return {
    w: Math.round(largura * escala),
    h: Math.round(altura * escala),
    escala,
  };
}

Controles de qualidade JPEG são perceptuais, não logarítmicos

"Qualidade 75" num app não é a mesma coisa em outro. Use o olho no dispositivo alvo: tons de pele e degradês revelam banding; texto pequeno some primeiro; captchas de interface com preenchimentos sólidos desperdiçam bits em ruído que você nem quer.

Validadores medem bytes no fio, não megapixels no disco. Dois exports visualmente parecidos podem diferir dezenas de kilobytes por causa de JPEG progressivo, tabelas Huffman e predefinições do encoder — julgue empiricamente.

Metadados e privacidade no fluxo real

EXIF pode levar GPS, identificadores de dispositivo e miniaturas embutidas. Remover metadados poupa alguns bytes e melhora muito a privacidade quando a captura vazou nomes de janelas ou caminhos de arquivo. Compressores online podem prometer exclusão rápida, mas o dado já saiu da sua máquina — jurisdições e subprocessadores somam risco em ambientes com DPIA e questionários de fornecedor.

No Safe Local Tools o processamento fica local no navegador: você itera em capturas sensíveis sem acrescentar mais um SaaS à lista de processadores de dados só para testar qualidade.

Cenários em que 100 KB é realista

Avatares quadrados pequenos funcionam bem. Heros de blog em largura moderada costumam caber depois de escalar e usar WebP/JPEG. Escaneados de recibo podem binarizar fundo quando permitido. Diagramas vetoriais deveriam ser SVG; rasterize só se forçado. Mapas e telas: corte agressivo e desfoque ético de áreas irrelevantes economizam entropia. Anexos de e‑mail e pacotes de suporte beneficiam‑se de compressão local antes de passar por relays com teto de tamanho.

Antes de declarar vitória em 98 KB, amplie para 125–150% como muitos usuários fazem e confira se bordas de foco e contraste sobrevivem — compressão agressiva é também questão de acessibilidade.

Retina e chroma subsampling em capturas

Assets @2x fazem sentido em telas HiDPI, mas são fatais sob teto de kilobytes se o CMS renderiza com largura CSS que desperdiça resolução. Traduza intenção de design em pixels CSS × DPR e exporte o raster correspondente.

JPEG subsamplea cor com mais força que luminância — ótimo em fotos, cruel em texto colorido sobre fundo escuro. Se artefatos grudam em glifos, muitas vezes é chroma, não "qualidade global baixa demais".

Ficar abaixo de 100 KB é otimização com restrições humanas: redimensione com critério, escolha codecs, limpe metadados e valide no lugar onde a imagem será vista — não só no número abstrato. Quando quiser experimentar sem enviar capturas para servidores desconhecidos, Experimentar o compressor de imagens →