CLI AI

Redimensionar todas as imagens de uma pasta no terminal

2026-06-24

magick mogrify -resize 800x800 *.png redimensiona todas as imagens de uma pasta com um único comando — mas o mogrify sobrescreve os arquivos originais nesse processo, e essa é a armadilha que quase ninguém menciona. Aqui também tem como redimensionar uma única imagem sem distorcer, o loop de duas linhas que salva o resultado numa pasta separada em vez de destruir os originais, e uma medição real mostrando que reduzir as dimensões nem sempre reduz o arquivo.

1. Redimensionar uma imagem mantendo a proporção

clai
$ clai reduza esta imagem para 320 pixels no lado maior→ magick test1.png -resize 320x320 out1.jpg

320x320 é uma caixa delimitadora, não um tamanho fixo: o ImageMagick mantém a proporção e encaixa a imagem dentro dela. O original de 800x600 virou 320x240.

2. Reduzir o tamanho não reduz o arquivo

clai
$ clai compara o tamanho do arquivo antes e depois→ identify -format '%wx%h %b\n' test1.png out1.jpg800x600 382B320x240 1188B

Essa é uma medição real, não uma suposição. Uma imagem PNG de cor sólida pesava 382 bytes; depois de reduzida para 320x240 e convertida para JPEG, passou a pesar 1188 bytes — o triplo. O PNG comprime áreas sólidas quase perfeitamente, o JPEG não foi feito para isso. Sempre confira o resultado em vez de presumir.

3. A pasta inteira de uma vez, com segurança

clai
$ clai reduza todos os png desta pasta para 800 pixels, sem mexer nos originais→ mkdir -p resized && for f in *.png; do magick "$f" -resize 800x800 "resized/$f"; done

Um loop com uma pasta de destino separada. As aspas ao redor de $f são obrigatórias — sem elas, o primeiro nome de arquivo com espaço quebra todo o processamento.

4. mogrify: rápido, mas irreversível

clai
$ clai reduza todas as imagens da pasta diretamente no lugar→ magick mogrify -resize 800x800 *.png⚠ CAUTION — overwrites originals, no undo

mogrify existe justamente para processamento em lote no lugar, e por isso é mais rápido que um loop — ele não faz nada além de sobrescrever no mesmo lugar. Pelo mesmo motivo é perigoso: depois que roda, os originais somem. Copie a pasta antes de rodar.

5. Trocar o formato da pasta inteira

clai
$ clai transforme todos os png desta pasta em jpeg com qualidade 85→ magick mogrify -format jpg -quality 85 *.png

-format cria arquivos com a nova extensão ao lado dos antigos — os png originais ficam intactos. É o único modo do mogrify que não sobrescreve nada.

6. Reduzir sem esticar

clai
$ clai reduza só as imagens maiores que 1200 pixels→ magick mogrify -resize '1200x1200>' *.jpg

O símbolo > significa «só se for maior». Sem ele, imagens pequenas são esticadas até 1200 e perdem qualidade. As aspas evitam que o shell interprete > como redirecionamento de saída — o erro mais comum com essa flag.

Pegadinhas

  • mogrify sobrescreve os originais. Não é convert, nem magick file out, e sim mogrify especificamente. A única exceção é o modo -format, que cria arquivos novos.
  • No ImageMagick 7 o comando se chama magick. O convert foi mantido por compatibilidade e pode estar totalmente ausente em instalações novas. magick mogrify funciona nas duas gerações.
  • -resize sem flag também aumenta. Os modificadores: > só reduzir, < só aumentar, ! ignorar a proporção, ^ preencher a caixa e cortar.

Perguntas relacionadas

Como recorto no centro para um tamanho exato? magick in.jpg -resize '400x400^' -gravity center -extent 400x400 out.jpg — primeiro preenche a caixa, depois corta o excedente.

Como vejo as dimensões sem abrir o arquivo? identify -format '%wx%h %b\n' file.jpg. Para uma pasta inteira: identify -format '%wx%h %f\n' *.jpg.

Por que o ImageMagick é melhor que um serviço online? Os arquivos nunca saem da sua máquina, não há limite de quantidade, e um único comando processa mil imagens.

Veja também

O CliAI escreve os flags certos do ImageMagick pro que você descrever, redimensionamento e conversão de formato inclusos. Instale em uma linha.