# Comprimir imagem — abaixo de um limite de tamanho

Diga o tamanho. Ele resolve o resto.

> Comprima JPEG, PNG, WebP ou AVIF para um limite como 100 KB ou 2 MB. O resultado busca ficar no máximo no alvo, não ter uma quantidade exata de bytes. Sem upload, funciona offline.

Esta é uma ferramenta interativa de navegador em https://abox.tools/pt/comprimir-imagem/. Os arquivos são processados no dispositivo que executa esse navegador. Compartilhamento deliberado e funções opcionais de rede são explicados na página. A seguir está sua explicação escrita; abra o endereço para usá-la.

## Seus imagens são **processados no navegador**. Sem envio para processamento.

A compressão roda no seu próprio navegador, no seu próprio hardware, com os codificadores que ele já traz de fábrica. Esta ferramenta não tem função de rede de espécie alguma: não há o que buscar nem o que mandar. E do outro lado desta página não existe servidor nenhum para onde mandar uma imagem, mesmo que houvesse caminho.

- ✗ Sem envio
- ✗ Sem conta
- ✗ Sem limite de tamanho
- ✓ Funciona offline
- ✓ Código aberto

## Como comprimir uma imagem para um tamanho específico

1. **Escolha suas imagens.** Arraste até o seletor, ou escolha na mão. Quem lê tudo direto do seu disco é o navegador, e nada é mandado para lugar nenhum enquanto você faz isso.
2. **Digite o tamanho que mandaram você cumprir.** 100 KB para o formulário que insiste em recusar a sua foto, 500 KB para o sistema de inscrição, 2 MB para uma página que precisa carregar rápido. Os quatro mais comuns já estão como botões.
3. **Clique em “Comprimir até o alvo”.** Cada imagem é codificada várias vezes enquanto a ferramenta vai fechando o cerco na maior qualidade que cabe. Qualquer coisa que já esteja abaixo do alvo fica exatamente como está.
4. **Veja o que custou e baixe.** Cada resultado diz em que formato foi escrito, com qual qualidade, se as dimensões mudaram e o quanto ele bate com o original quando medido. O “Comparar” põe as duas imagens lado a lado.

## A versão longa

[Como comprimir uma imagem abaixo de um limite de tamanho](https://abox.tools/pt/guias/comprimir-uma-imagem-para-um-tamanho-exato/): O formulário quer 500 KB e sua foto tem 4 MB. O que um limite de tamanho custa de verdade, qual ajuste mexer primeiro, e por que um PNG não encolhe como um JPEG.

## Também na caixa

- [Redimensionador de imagens](https://abox.tools/pt/redimensionar-imagem/): Diga o tamanho. Desenhe a caixa. Escolha o formato.
- [HEIC para JPG](https://abox.tools/pt/heic-para-jpg/): As fotos que o iPhone tira, num formato que tudo abre.
- [WebP para JPG](https://abox.tools/pt/webp-para-jpg/): As imagens que a web salva, no formato que todos ainda aceitam.
- [PNG para WebP](https://abox.tools/pt/png-para-webp/): A mesma imagem, muitas vezes um terço menor, com as áreas transparentes intactas.

## Perguntas

### Minha imagem é enviada para algum lugar?

Não. Quem decodifica, comprime e mede o arquivo é o seu próprio navegador, no seu próprio hardware, com os codificadores de JPEG, PNG e WebP que ele já traz. Esta ferramenta não tem função de rede de espécie alguma: nunca busca nada e nunca manda nada. E a `Content-Security-Policy` da página lista todos os endereços que ela pode acessar, nenhum dos quais é deste site.

### Como respeita um limite de tamanho?

Codifica e mede vários candidatos e busca a maior qualidade que caiba. Quando consegue produzir um arquivo adequado, ele fica no alvo ou abaixo, não necessariamente com o número exato de bytes informado. Arquivos já abaixo do limite ficam intactos. Se a qualidade não bastar, reduz as dimensões; confira o resultado.

### O que “perda mínima” quer dizer aqui, exatamente?

Três coisas específicas. A primeira: uma imagem que já está abaixo do seu alvo passa direto, byte por byte, em vez de ser recodificada. A segunda: a qualidade é gasta antes da resolução, e só até um piso em que os artefatos de compressão começam a aparecer. Passando desse ponto, a ferramenta diminui a imagem e devolve a qualidade para cima, porque menos pixels bons ficam melhores do que mais pixels arruinados. A terceira: assim que aparece um resultado que cabe, a busca volta a subir até o orçamento acabar, então você não recebe um arquivo de 300 KB tendo pedido 500 KB.

### O que são os números de SSIM e PSNR em cada resultado?

São uma medição do que a compressão custou, feita decodificando o resultado e comparando com a imagem original. O SSIM compara brilho, contraste e estrutura locais, o que chega bem mais perto daquilo que incomoda o olho do que simplesmente contar pixels alterados; acima de mais ou menos 0,98 os dois são difíceis de distinguir lado a lado. O PSNR é a tradicional medida em decibéis. Os dois são calculados no seu computador, e os dois aparecem para que a afirmação de perda baixa possa ser conferida em vez de só alegada.

### Quais formatos ele consegue ler e escrever?

Lê imagens que o navegador consegue decodificar, incluindo JPEG, PNG, WebP, GIF, BMP e AVIF. Novas codificações usam JPEG, PNG ou WebP. Arquivos já abaixo do tamanho alvo voltam intactos, com seu formato e metadados originais. Quando é preciso codificar, Automático começa com o formato original se o navegador consegue gravá-lo; caso contrário, GIF começa como PNG, enquanto AVIF, BMP ou um tipo MIME desconhecido começam como JPEG. Depois pode escolher WebP se atingir o alvo com menos perda visível.

### Por que ele não consegue comprimir muito um PNG?

Porque o PNG é sem perdas: não tem botão de qualidade para girar. O único jeito de deixar um PNG menor é dar a ele menos pixels ou menos cores, então, com PNG selecionado, a ferramenta chega a um alvo só redimensionando. Se a imagem é uma fotografia, JPEG ou WebP chegam muito mais perto do seu alvo num tamanho em que dá para ver que está tudo bem. E se for uma logomarca ou uma captura de tela com transparência, o WebP mantém a transparência que o JPEG preencheria com branco.

### Comprimir uma imagem remove os dados EXIF e de GPS dela?

Um resultado recodificado deixa de fora EXIF, GPS, horários e outros metadados originais, porque o canvas contém só pixels. Um arquivo já abaixo do tamanho alvo volta intacto, com seus metadados. [Visualizador e removedor de EXIF](https://abox.tools/pt/remover-dados-exif/) lê e edita metadados JPEG, PNG e WebP sem recodificar suas imagens. Para AVIF, mostra o EXIF disponível como somente leitura e limpa convertendo a primeira imagem decodificada para um PNG novo; as cores ou o HDR podem mudar.

### É grátis, e preciso de conta?

É grátis, e não tem conta, nem login, nem período de teste, nem marca d'água. Também não tem limite para o número nem para o tamanho dos arquivos, porque não existe servidor pagando por eles: o trabalho acontece no seu próprio computador. O site exibe publicidade, e é ela que paga a conta. Os anúncios não recebem nada sobre as suas imagens.

### Funciona offline?

Funciona. Carregue a página uma vez, depois desligue a internet e ela continua funcionando. Esse é também o jeito mais simples de provar que nada está sendo enviado: uma ferramenta que mandasse as suas imagens embora para serem comprimidas pararia no instante em que você tirasse da tomada.

## Como dá para conferir a promessa de privacidade

- **O processamento acontece neste navegador.** A ferramenta processa entradas e resultados no navegador. Seu código não os envia para processamento. Content-Security-Policy limita recursos e destinos, mas hosts permitidos podem receber solicitações: ela não inspeciona o conteúdo nem prova sozinha que nada é enviado. Compare código e solicitações da operação ou conclua a operação local desconectado.
- **Nada aqui vai buscar coisa alguma.** Não existe `fetch`, nem `XMLHttpRequest`, nem `sendBeacon` em lugar nenhum de `src/`. A compressão é um `canvas.toBlob`, ou seja, o codificador que já vem instalado no seu navegador.
- **Os números são medidos aqui, não informados a ninguém.** Os tamanhos, o número de qualidade e a comparação SSIM saem todos de contas feitas nesta página e aparecem para você. Não existe neste repositório nenhum evento de análise personalizado que carregue um nome de arquivo, um tamanho, uma contagem ou um resultado.
- **O que o Google carrega, e o que não chega até ele.** Os scripts de publicidade e de medição vêm do Google, e o botão de doação vem do Buy Me a Coffee. Nenhum deles recebe coisa alguma sobre as suas imagens. Toda linha que lê, comprime ou mede um arquivo é servida desta origem e está listada no repositório.
- **Funciona offline.** Desligue a rede e a ferramenta continua igualzinha, porque nunca houve uma etapa de rede nela. Essa é a prova mais simples de todas.

**Confira você mesmo.** Nada do que está acima precisa ser aceito na fé. Esta página é gerada a partir dos modelos e da configuração do repositório por um script de compilação que você pode ler e rodar por conta própria, e o resultado vai para a branch `dist`. Ou seja, dá para comparar o que é servido com o que uma compilação das fontes produz: https://github.com/A-Box-of-Tools/website

Os primeiros arquivos que valem a leitura são `config/site.toml` para a Content-Security-Policy, `src/compress.js` para a busca que decide quanta qualidade gastar, e `src/measure.js` para a comparação por trás do número de “semelhança visual”.
