| name | imagemagick |
| description | ImageMagick commands for image conversion, resizing, cropping, and batch processing. Use when user mentions "imagemagick", "convert image", "resize image", "crop image", "image format", "batch resize", "thumbnail", "watermark", "image manipulation", "magick", "mogrify", or processing images from the command line. |
ImageMagick Commands
ImageMagick v7 uses magick as the main command. On older systems (v6), use convert, mogrify, identify, montage directly.
Image Info
magick identify image.png
magick identify -verbose image.png
magick identify -format "%wx%h" image.png
magick identify -format "Format: %m, Size: %wx%h, Filesize: %b, Colorspace: %[colorspace]\n" image.png
magick identify *.jpg
Convert Between Formats
magick input.png output.jpg
magick input.jpg output.webp
magick input.png output.gif
magick input.svg output.png
magick input.png output.pdf
magick input.webp output.png
magick PNG:input output.jpg
Resize
magick input.png -resize 800x600! output.png
magick input.png -resize 800x600 output.png
magick input.png -resize 800x output.png
magick input.png -resize x600 output.png
magick input.png -resize 50% output.png
magick input.png -resize 800x600\> output.png
magick input.png -resize 800x600\< output.png
magick input.png -resize 800x600^ -gravity center -extent 800x600 output.png
Crop
magick input.png -crop 400x300+100+50 +repage output.png
magick input.png -gravity center -crop 400x300+0+0 +repage output.png
magick input.png -trim +repage output.png
magick input.png -fuzz 10% -trim +repage output.png
magick input.png -crop 33.33%x33.33% +repage tile_%d.png
Quality and Compression
magick input.png -quality 85 output.jpg
magick input.png -quality 80 output.webp
magick input.png -quality 90 output.png
magick input.png -define webp:lossless=true output.webp
magick input.png -sampling-factor 4:2:0 -quality 85 output.jpg
Batch Processing with Mogrify
Mogrify modifies files in place. Use -path to write to a different directory.
mkdir -p converted
magick mogrify -path converted -format jpg *.png
magick mogrify -resize 800x600 *.jpg
mkdir -p resized
magick mogrify -path resized -resize 50% *.png
mkdir -p compressed
magick mogrify -path compressed -quality 80 *.jpg
mkdir -p thumbnails
magick mogrify -path thumbnails -resize 200x200 -format webp *.png
Create Thumbnails
magick input.png -thumbnail 150x150 thumb.png
magick input.png -thumbnail 150x150^ -gravity center -extent 150x150 thumb.png
magick input.png -thumbnail 150x150 -strip thumb.png
mkdir -p thumbs
magick mogrify -path thumbs -thumbnail 200x200^ -gravity center -extent 200x200 *.jpg
Watermark
magick input.png \
-gravity southeast \
-fill "rgba(255,255,255,0.5)" \
-pointsize 24 \
-annotate +10+10 "Copyright 2026" \
output.png
magick input.png \
-gravity south \
-fill white -undercolor "rgba(0,0,0,0.5)" \
-pointsize 20 \
-annotate +0+10 " My Watermark " \
output.png
magick input.png \
\( watermark.png -resize 200x -alpha set -channel A -evaluate set 20% +channel \) \
-gravity southeast -geometry +10+10 \
-composite output.png
magick input.png \
\( watermark.png -resize 100x -alpha set -channel A -evaluate set 15% +channel \
-write mpr:wm +delete +clone -fill mpr:wm -draw "color 0,0 reset" \) \
-composite output.png
Combine Images
magick input1.png input2.png +append combined.png
magick input1.png input2.png -append combined.png
magick montage img1.png img2.png img3.png img4.png \
-geometry 300x300+5+5 -tile 2x2 grid.png
magick montage img1.png img2.png img3.png img4.png \
-label "%f" -geometry 300x300+5+5 -tile 2x grid.png
magick montage *.jpg \
-geometry 200x200+4+4 -tile 3x -background "#f0f0f0" grid.png
Color Adjustments
magick input.png -colorspace Gray output.png
magick input.png -brightness-contrast 10x20 output.png
magick input.png -negate output.png
magick input.png -sepia-tone 80% output.png
magick input.png -modulate 100,130,100 output.png
magick input.png -modulate 100,50,100 output.png
magick input.png -colorspace CMYK output.tiff
magick input.tiff -colorspace sRGB output.png
magick input.png -auto-level output.png
magick input.png -normalize output.png
Borders and Padding
magick input.png -bordercolor "#333333" -border 10 output.png
magick input.png -gravity center -background white -extent 900x700 output.png
magick input.png \
\( +clone -alpha extract \
-draw "fill black polygon 0,0 0,15 15,0 fill white circle 15,15 15,0" \
\( +clone -flip \) -compose Multiply -composite \
\( +clone -flop \) -compose Multiply -composite \
\) -alpha off -compose CopyOpacity -composite output.png
magick input.png \
\( +clone -background black -shadow 60x5+4+4 \) \
+swap -background none -layers merge +repage output.png
Optimize for Web
magick input.jpg -strip output.jpg
magick input.png -interlace Plane -quality 85 -strip output.jpg
magick input.png -quality 80 -define webp:method=6 -strip output.webp
magick input.png -resize 1200x -quality 82 -strip -interlace Plane output.jpg
mkdir -p web
magick mogrify -path web -resize "1920x1920>" -quality 82 -strip -interlace Plane -format jpg *.png
Favicon from PNG
magick input.png -define icon:auto-resize=256,128,64,48,32,16 favicon.ico
magick input.png -resize 32x32 favicon-32.png
magick input.png -resize 16x16 favicon-16.png
magick input.png -resize 180x180 apple-touch-icon.png
magick input.png -resize 192x192 android-chrome-192.png
magick input.png -resize 512x512 android-chrome-512.png
PDF Operations
magick -density 300 input.pdf output_%03d.png
magick -density 300 "input.pdf[0]" first_page.png
magick -density 300 "input.pdf[0-4]" page_%03d.png
magick *.jpg output.pdf
magick *.png -resize 595x842 -gravity center -extent 595x842 output.pdf
magick -density 150 input.pdf -quality 80 compressed.pdf
Transparent Background
magick input.png -fuzz 10% -transparent white output.png
magick input.png -fuzz 15% -transparent "#00ff00" output.png
magick input.png -background white -alpha remove -alpha off output.png
magick input.png -flatten output.jpg
magick input.png -fill none -fuzz 10% -draw "alpha 0,0 floodfill" output.png
magick input.jpg -alpha set output.png
Useful Flags Reference
| Flag | Purpose |
|---|
-strip | Remove metadata |
-auto-orient | Fix rotation from EXIF |
+repage | Reset virtual canvas after crop |
-fuzz N% | Color matching tolerance |
-gravity | Anchor point: center, north, southeast, etc. |
-density N | DPI for rasterizing vector/PDF (use before input) |
-depth 8 | Set bit depth |
-alpha set | Enable alpha channel |
-alpha remove | Flatten alpha to background |
-verbose | Show processing details |