Comprimir imagens online com pré-visualização ao vivo

Envie um JPG, PNG, WebP ou AVIF, arraste o controle de qualidade para ver a prévia instantânea e baixe o arquivo recodificado por sharp e libvips.

ou solte a imagem aqui

Sobre esta ferramenta

Comprima um JPG, PNG, WebP ou AVIF direto do navegador, com controle de qualidade ao vivo e comparação entre formatos. Solte a imagem na página e a prévia atualiza instantaneamente usando o encoder canvas do navegador: cada movimento do controle é local, sem rede. Quando você clica em Baixar, o arquivo original é enviado por HTTPS para nosso serviço de compressão, um Cloudflare Worker baseado em sharp e libvips, a mesma pilha de encoders usada por Vercel e Shopify. O encode no servidor costuma produzir arquivos 10 a 15 por cento menores do que a prévia do navegador mostra na mesma qualidade, porque o libvips aplica ajustes finos do MozJPEG que o navegador não consegue reproduzir. Os arquivos ficam num cache isolado por tenant por um curto período e depois são removidos. A ferramenta aceita arquivos de até 25 MB no modo servidor. Funciona bem para fotógrafos, desenvolvedores e times de produto que precisam de arquivos menores sem trocar de software ou abrir um editor.

Comprimir imagem
O que esta ferramenta faz

O que esta ferramenta faz

Esta página roda um compressor de imagem em duas vias. O controle deslizante acima da prévia é um encoder local ao vivo, que usa o canvas.toBlob nativo do navegador com o valor de qualidade que você escolhe. Cada movimento renderiza a prévia em tela dividida e atualiza o contador de bytes, sem nenhum tráfego de rede. Ao clicar em Baixar, o arquivo original é enviado para nosso serviço de compressão para o encode final com sharp e libvips, a mesma pilha de encoders usada por Vercel e Shopify. A saída mantém as dimensões originais. A ferramenta cobre JPG, PNG, WebP e AVIF na entrada e na saída, em qualquer combinação.

Comprimir imagem
Como comprimir imagens passo a passo

Como comprimir imagens passo a passo

Solte um JPG, PNG, WebP ou AVIF na área de upload, ou cole da área de transferência com Ctrl+V. Escolha um formato de saída entre os três cartões (WebP é o padrão para fotos). Arraste o controle de qualidade e acompanhe o contador de bytes em tempo real, parando quando o tamanho do arquivo atingir o alvo e a prévia ainda estiver com boa aparência. Clique em Baixar para receber o resultado encodado no servidor. Se o serviço de compressão estiver indisponível, a prévia gerada no navegador é salva no lugar, então você sempre recebe um arquivo funcional.

Comprimir imagem
Como escolher o nível de qualidade certo

Como escolher o nível de qualidade certo

O controle de qualidade vai de 1 a 100, com 78 como padrão lossy. Qualidade 80 equivale ao que o Adobe Photoshop chama de Alta ao exportar JPEG, e é uma escolha segura para portfólios e entregas a clientes. Qualidade 60 é o padrão comum da web e reduz uma foto de 4 MP para cerca de 200 a 400 KB com pouca diferença visível em distância normal de leitura. Abaixo de 50, artefatos em forma de bloco começam a aparecer em gradientes e tons de pele. Abaixo de 30, a saída parece uma miniatura. O contador de bytes acima do controle mostra o tamanho exato da saída enquanto você arrasta, então não há adivinhação.

Comprimir imagem
Qual formato é o menor: JPG, WebP ou AVIF

Qual formato é o menor: JPG, WebP ou AVIF

A ferramenta mostra os tamanhos em bytes de JPG, WebP e AVIF lado a lado na mesma imagem original, então a comparação é feita no seu arquivo real, não num benchmark genérico. Como regra prática, o WebP costuma ser 25 a 35 por cento menor do que o JPG na mesma qualidade visual, e o AVIF costuma ser 40 a 60 por cento menor do que o JPG. O AVIF leva mais tempo para encodar, cerca de 3 a 8 segundos para uma foto de 8 MP no modo servidor, porque o libaom é pesado em computação. O suporte de navegadores aos três formatos é forte em Chrome, Firefox, Safari e Edge em 2026. O PNG é a escolha certa quando a imagem tem poucas cores, como capturas de tela e logos, em que a quantização de paleta supera os codecs lossy.

Comprimir imagem
Como seu arquivo é tratado

Como seu arquivo é tratado

A prévia do controle é zero rede. Cada arrasto é uma chamada nova de canvas.toBlob dentro do navegador, verificável no DevTools filtrando a aba Network por compress e confirmando que nenhuma requisição aparece enquanto você mexe no controle. O clique em Baixar é o único passo que faz upload. Seu arquivo é enviado por HTTPS para nosso Cloudflare Worker em /api/compress, que faz proxy para um backend rodando sharp e libvips. O resultado encodado volta no corpo da resposta e é salvo nos seus downloads. Uma cópia intermediária fica num cache isolado por tenant por um curto período e depois é removida. Se o serviço estiver indisponível ou seu arquivo passar de 25 MB, o encoder do navegador roda silenciosamente como fallback.

Comprimir imagem
O que esta ferramenta não faz

O que esta ferramenta não faz

Não faz redimensionamento, as dimensões de saída são iguais às de entrada, então use a ferramenta Redimensionar primeiro se você também precisar reduzir a contagem de pixels. Não faz upload em lote, é uma imagem por vez, por escolha de design. Não preserva EXIF, os metadados são removidos pelo libvips e pelo sharp no nível do encoder, o que é uma vantagem de privacidade, mas significa que dados de GPS e câmera embutidos somem. A tag de orientação visual é lida e aplicada antes da remoção, então sua saída continua na posição certa. Não comprime animação GIF, apenas o primeiro quadro é processado. Não tem modo de tamanho-alvo, mas dois ou três ajustes do controle usando o contador de bytes ao vivo costumam acertar qualquer alvo com folga de 10 por cento.

Como recortar uma foto em círculo

  1. Solte ou cole sua imagem

    Arraste um JPG, PNG, WebP ou AVIF para a área de upload, ou clique para escolher. Você também pode colar da área de transferência com Ctrl+V ou Cmd+V.

  2. Escolha um formato de saída

    Clique em JPG, WebP ou AVIF para definir a saída. O WebP é o padrão e costuma ser o menor para fotos destinadas à web.

  3. Arraste o controle de qualidade

    Acompanhe o contador de bytes enquanto move o controle. Pare quando o tamanho do arquivo estiver pequeno o bastante e a prévia ainda parecer boa para você.

  4. Clique em Baixar

    O arquivo original é enviado para nosso servidor para um encode com sharp e libvips. O arquivo final costuma ficar 10 a 15 por cento menor do que a prévia mostrada no navegador.

Perguntas frequentes

Como comprimir imagens?

Solte sua imagem na página e arraste o controle de qualidade até o tamanho do arquivo mostrado no contador atingir seu alvo. Clique em Baixar para receber o resultado encodado no servidor (encode por sharp + libvips). Todo o fluxo leva menos de um minuto. O botão de download dispara um POST para nosso serviço de compressão, e se o serviço estiver indisponível, a prévia encodada no navegador é salva no lugar.

Por que comprimir imagens JPEG?

Uma foto típica de celular sem otimização tem 4 a 6 MB. Na qualidade 78, a mesma foto recodificada por MozJPEG costuma ficar entre 800 KB e 1,5 MB, pequena o suficiente para anexos de e-mail, compartilhamento no WhatsApp e imagens de hero em sites com diferença visual muito pequena. Imagens comprimidas também carregam em menos tempo, o que ajuda as notas de Core Web Vitals.

Como comprimir uma imagem sem perder qualidade?

Para compressão verdadeiramente lossless, escolha PNG como formato de saída. O caminho PNG usa pnpngquant para otimizar a paleta, o que pode reduzir PNGs não otimizados em 30 a 50 por cento sem diferença perceptível. Para formatos lossy (JPG, WebP, AVIF), a qualidade 80 é o limite prático em que a maioria dos espectadores não percebe a diferença, embora o resultado dependa do conteúdo da imagem.

Posso comprimir uma imagem para um tamanho específico, como 100 KB?

A ferramenta não tem um modo de tamanho-alvo, mas atingir um alvo é simples com o contador de bytes ao vivo. Arraste o controle para baixo até o contador marcar seu alvo e clique em Baixar. Dois ou três ajustes do controle costumam te deixar com folga de 10 por cento de qualquer tamanho-alvo. Se passar do ponto, arraste o controle um pouco para cima.

Qual formato é o menor: JPG, WebP ou AVIF?

Depende do conteúdo da imagem. A ferramenta mostra os três simultaneamente com seus contadores de bytes, para você comparar no seu arquivo real. Como regra prática: o WebP costuma ser 25 a 35 por cento menor do que o JPG na mesma qualidade visual. O AVIF costuma ser 40 a 60 por cento menor do que o JPG, embora leve alguns segundos extras para encodar.

Comprimir uma imagem reduz as dimensões dela?

Não. As dimensões de saída são idênticas às de entrada. A compressão muda só a codificação em bytes, não a contagem de pixels. Se você também precisa reduzir a resolução (por exemplo, de 4000 px de largura para 1200 px), use a ferramenta Redimensionar primeiro e depois comprima o arquivo redimensionado. Essa ordem produz o menor arquivo final.

Os detalhes

Notas da equipe sobre ofício, formatos e as pequenas decisões por trás de um bom recorte redondo.

A arquitetura de duas vias explicada
A prévia do controle e o encode do Download são dois caminhos de código separados. A prévia usa a API nativa canvas.toBlob do navegador, que roda de forma síncrona na thread do compositor GPU. Cada movimento do controle dispara uma chamada nova de canvas.toBlob com o novo valor de qualidade, e o resultado é desenhado num canvas em tela dividida. Isso é totalmente local: você pode verificar abrindo o DevTools, indo na aba Network, filtrando por compress e observando: zero requisições aparecem durante a interação com o controle. O botão Baixar dispara um caminho completamente diferente. Ele envia (sem modificar) o arquivo original para nosso Cloudflare Worker em /api/compress, que faz proxy para um servidor Fastify rodando Node 24 e o pacote sharp (licença Apache 2.0) baseado em libvips 8.x (LGPL-3.0). O resultado encodado volta no corpo da resposta e é salvo na pasta de downloads do navegador. Dois caminhos, uma ferramenta.
Por que o encode no servidor supera o do navegador
O encoder JPEG do navegador usa libjpeg ou uma implementação específica do navegador que não tem o ajuste fino da tabela de subamostragem de croma do MozJPEG. O MozJPEG, o codec invocado pelo libvips para JPEG, foi desenvolvido pela Mozilla em 2014 como substituto direto do libjpeg-turbo, com foco em produzir arquivos menores na mesma qualidade perceptual. Em benchmarks rodados em 50 fotos diversas (vida selvagem, retratos, fotos de produto, capturas de tela), o encode com libvips e MozJPEG na qualidade 78 produziu arquivos 10 a 20 por cento menores do que o canvas.toBlob do Chrome no mesmo valor de qualidade. Para PNG, a diferença é maior: o navegador usa zlib com compressão padrão, enquanto o pnpngquant reduz a paleta de cores ao mínimo necessário, cortando arquivos PNG não otimizados em 30 a 70 por cento de forma típica.
AVIF: o que é e quando usar
O AVIF é baseado na predição intra-quadro do codec de vídeo AV1, desenvolvido pela Alliance for Open Media. Ele atinge eficiência de compressão maior do que o JPEG prevendo valores de pixels em regiões maiores e representando o resíduo de forma mais compacta. O resultado prático é que arquivos AVIF na qualidade 60 costumam ser visualmente indistinguíveis de arquivos JPEG na qualidade 80, mesmo sendo 40 a 60 por cento menores. A contrapartida é o tempo de encode: no nosso servidor, uma foto de 8 MP na qualidade 60 leva de 3 a 8 segundos com libaom-av1. O suporte de navegadores é forte em 2026 (Chrome, Firefox, Safari e Edge decodificam AVIF). A ferramenta mostra o tamanho em bytes do AVIF em tempo real ao lado de JPG e WebP, para você decidir se a economia de tamanho justifica a leve espera de encode no seu fluxo de trabalho.
Ajustes de qualidade na prática
O controle deslizante mapeia diretamente para o parâmetro q do encoder em formatos lossy. Na qualidade 80, o ajuste equivale ao que o Adobe Photoshop chama de Alta ao exportar JPEG, e é o padrão usado pela maioria dos fluxos profissionais. Na qualidade 60, uma foto média de 4 MP comprime para cerca de 200 a 400 KB, pequena o bastante para a maioria dos usos de e-mail e web, e a perda de detalhe só é visível em áreas de textura fina com zoom 1:1. Abaixo da qualidade 50, artefatos de compressão em forma de bloco começam a aparecer em gradientes suaves e tons de pele, perceptíveis até em distância normal numa tela retina. Abaixo da qualidade 30, a saída é reconhecível mas claramente comprimida, apropriada apenas para miniaturas. O contador de bytes acima do controle mostra o tamanho exato de saída em KB enquanto você arrasta, não uma estimativa.
Remoção de metadados e por que isso importa
Ambas as vias removem EXIF, GPS e metadados de câmera da saída por padrão. Esse é o comportamento correto do libvips e do sharp na configuração padrão, e tem dois efeitos práticos. Primeiro, remove dados de localização potencialmente sensíveis embutidos por câmeras de smartphone, o que é um benefício de privacidade para imagens compartilhadas publicamente. Segundo, reduz um pouco o tamanho do arquivo (um bloco EXIF típico tem 10 a 40 KB). A tag de orientação visual é tratada separadamente: a ferramenta lê o campo de orientação EXIF antes de remover e pré-rotaciona a imagem para que a saída fique corretamente orientada. Se você precisa preservar metadados para fluxos forenses, de arquivamento ou de impressão, use um editor de metadados dedicado antes de comprimir.
Formatos suportados: o que entra e o que sai
A entrada aceita JPG, PNG, WebP e AVIF em todos os navegadores modernos, validados por sniff de magic bytes em vez de só pela extensão do arquivo. GIF é aceito em Chrome e Firefox, mas apenas o primeiro quadro é processado (a animação não é preservada), então GIFs animados não devem ser comprimidos com esta ferramenta. HEIC de iPhones funciona no Safari, que tem decoder HEIC nativo, mas Chrome e Firefox não decodificam HEIC nativamente. A saída pode ser JPG, PNG, WebP ou AVIF independentemente do formato de entrada, então você também pode usar esta ferramenta como um caminho único de converter-e-comprimir. O modo servidor aceita arquivos de até 25 MB. Arquivos acima desse limite são processados pelo encoder de fallback do navegador.