ImageMagick Command-line suite for creating, converting, and editing raster images

FAQ

Should I use magick or convert?

Use magick (as in magick convert ... or the shorthand magick in.jpg out.png) on any current install — it's the unified entry point introduced in ImageMagick 7 and is what the project recommends. The standalone convert binary still exists on many distros for backward compatibility and behaves the same way, but it may eventually be removed, and on some systems (notably some Windows setups) convert resolves to an unrelated built-in tool.

What's the difference between -resize and -thumbnail?

They both scale an image, but -thumbnail is a faster, lower-quality shortcut intended for generating small previews: it skips some filtering steps and automatically strips embedded color profiles and metadata. Use -resize when output quality matters (e.g. a resized photo for publishing) and -thumbnail when generating many small preview images quickly.

Can I resize a JPEG without any quality loss?

Not with a true resize — resizing always resamples pixels, and re-encoding a JPEG is inherently lossy. What you can do losslessly is crop and rotate by multiples of 90°, using -crop together with +repage, since those operations can work on whole JPEG blocks without re-encoding pixel data. For genuinely lossless resizing, convert to a lossless format (PNG, WebP lossless) first.

Why do I get a "not authorized" / policy error converting a PDF?

Many distributions ship a policy.xml (usually at /etc/ImageMagick-7/policy.xml) that disables certain coders — PDF and PS/EPS in particular — by default, as a security hardening measure against maliciously crafted files (this followed a real vulnerability class dubbed "ImageTragick" in 2016). If you trust your inputs, find the relevant <policy domain="coder" rights="none" pattern="PDF" /> line and change rights="none" to rights="read|write".

Why did my GIF lose its animation after editing?

Most single-image operations (like a plain -resize) only touch the first frame by default. Add -coalesce before the operation to expand every frame to full size first, and -layers optimize after it to re-compress the result back into an efficient animated GIF:

magick in.gif -coalesce -resize 50% -layers optimize out.gif

ImageMagick is using huge amounts of memory/disk on a large image. Why?

ImageMagick decodes images to an uncompressed pixel cache, which can be far larger than the source file, and it will spill that cache to disk (/tmp by default) once memory limits are hit. For very large images or batch jobs, raise or lower the relevant limits explicitly with -limit memory 2GiB / -limit disk 4GiB, or process files one at a time instead of globbing an entire folder into one command.