How to Install ImageMagick on Fedora 44

Install ImageMagick 7 on Fedora 44 via DNF or source. Complete guide with commands, troubleshooting, and practical image editing examples.

Last updatedAuthorJoshua JamesRead time7 minGuide typeFedora

Batch image work gets tedious fast when every resize, format conversion, contact sheet, or watermark needs a graphical editor. To install ImageMagick on Fedora, use the package in Fedora’s default repositories so DNF manages the command-line tools, plugins, security updates, and removal cleanly.

Fedora ships ImageMagick 7, so new commands should use the unified magick command. Fedora 44 currently packages the 7.1.2 branch, while Fedora 43 remains on the 7.1.1 branch; both use the same command structure for the examples in this article.

Install ImageMagick on Fedora

Some Fedora Workstation installs may already include ImageMagick through another desktop package, but Server, minimal, and custom installs usually need the package added manually. Check first if you want to avoid a no-op install transaction:

rpm -q ImageMagick

If the package is not installed, RPM returns a line like this:

package ImageMagick is not installed

Update Fedora Before Installing ImageMagick

Refresh Fedora’s package metadata and apply available updates before installing ImageMagick:

sudo dnf upgrade --refresh

If your account cannot run sudo, configure administrator access first with the Fedora sudoers workflow in how to add a user to sudoers on Fedora.

Install ImageMagick with DNF

Install the main ImageMagick package from Fedora’s repositories:

sudo dnf install ImageMagick

The Fedora package page for ImageMagick in Fedora repositories lists the current release packages, related subpackages, and maintainer-owned source RPM. For broader package-manager syntax, see DNF5 install examples for Fedora.

Add Optional ImageMagick Packages

The base package covers common command-line work with JPEG, PNG, WebP, JPEG-XL, SVG, TIFF, PDF, and many other formats. Add optional packages only when your workflow needs the extra role:

PackageRoleInstall When
ImageMagick-heicHEIC and HEIF coder pluginYou need to read iPhone HEIC photos or HEIF images.
ImageMagick-develC headers, libraries, and pkg-config filesYou compile software against MagickCore or MagickWand.
ImageMagick-c++ and ImageMagick-c++-develMagick++ runtime and development filesYou build C++ applications that use ImageMagick APIs.
ImageMagick-perlPerl bindingsYou run Perl scripts that use the Image::Magick module.
ImageMagick-docLocal HTML documentationYou want offline API and command reference files.
ImageMagick-djvuDjVu coder pluginYou process DjVu image or document files.

For HEIC and HEIF photo support, install the plugin package:

sudo dnf install ImageMagick-heic

For C or C++ development against ImageMagick libraries, install the matching development packages:

sudo dnf install ImageMagick-devel ImageMagick-c++ ImageMagick-c++-devel

For Perl bindings, offline documentation, or DjVu support, install the specific companion package you need. For example, local documentation uses:

sudo dnf install ImageMagick-doc

Use the same DNF form with ImageMagick-perl or ImageMagick-djvu when those roles apply.

Source builds are best reserved for custom developer workflows. On Fedora 44, the build-dependency path requires extra DNF tooling plus a large compiler and development-library transaction, and a source install under /usr/local is not managed by DNF. Use the Fedora package unless you specifically need custom delegates or upstream build flags.

Verify ImageMagick on Fedora

Confirm that Fedora installed the magick command and inspect the version banner:

command -v magick
magick --version

Relevant output includes the binary path, ImageMagick 7 version line, and delegate list. The exact package revision can change as Fedora publishes updates:

/usr/bin/magick
Version: ImageMagick 7.1.2-13 Q16-HDRI x86_64 23522 https://imagemagick.org
Features: Cipher DPC HDRI Modules OpenMP
Delegates (built-in): bzlib cairo djvu fftw fontconfig freetype gslib gvc heic jbig jng jp2 jpeg jxl lcms lqr ltdl lzma openexr pangocairo png ps raqm raw rsvg tiff uhdr webp wmf x xml zip zlib zstd

Create a small test image from ImageMagick’s built-in logo fixture:

magick logo: logo.gif
ls -lh logo.gif

A successful conversion creates a GIF file in the current directory:

-rw-r--r--. 1 user user 28K May 16 09:44 logo.gif

Use ImageMagick Commands on Fedora

ImageMagick 7 centers normal work on the magick command. The official ImageMagick command-line tools documentation recommends starting with magick, while compatibility subcommands such as magick identify, magick mogrify, and magick montage cover older ImageMagick 6 tool names.

TaskCommand PatternWhat It Does
Convert formatsmagick input.jpg output.pngReads the input and writes the output format based on the file extension.
Inspect an imagemagick identify image.pngShows format, dimensions, color space, and related metadata.
Modify files in placemagick mogrify -resize 1200x *.jpgChanges matching files directly, so use it carefully.
Create a contact sheetmagick montage *.jpg -tile 2x sheet.jpgArranges images in a two-column grid.
Compare imagesmagick compare old.png new.png diff.pngCreates an image that highlights differences.
Display an imagemagick display image.jpgOpens a window through X11 or XWayland when a graphical session is available.

Fedora GNOME uses Wayland by default. Commands that need an X server, such as magick display and magick import, can work through XWayland for compatible windows, but magick import is not a full Wayland screenshot tool.

For magick compare, an exit code of 1 can simply mean the input images differ after the diff image is written. Treat the diff file and any metric output as the useful signal instead of assuming the command failed to run.

Convert Images with ImageMagick

Convert a JPEG image to PNG when you need lossless output or transparency support:

magick input.jpg output.png

Convert a PNG image to WebP for web delivery:

magick input.png -quality 80 output.webp

The -quality 80 option sets the compression target for formats that support quality settings. Compare the result visually before replacing original files, especially for photos or artwork.

Create a PDF from one or more images when you need a portable document output:

magick page1.jpg page2.jpg output.pdf
magick identify -format '%m %n pages\n' output.pdf

For a two-image input, the verification line reports a two-page PDF:

PDF 2 pages

Render PDF pages to numbered JPG files when you need raster image copies. The -density option controls the rasterization resolution before ImageMagick reads the PDF:

magick -density 150 input.pdf page-%02d.jpg

Convert HEIC Images to JPG

Install ImageMagick-heic before converting iPhone HEIC or HEIF photos. After the plugin is installed, this format check should show readable HEIC entries:

magick identify -list format | grep -Ei 'HEIC|HEIF'

Relevant output includes read support for HEIC and HEIF:

     HEIC  HEIC      r--   High Efficiency Image Format (1.21.2)
     HEIF  HEIC      r--   High Efficiency Image Format (1.21.2)

Convert one HEIC file to JPG:

magick input.heic output.jpg

Convert every HEIC file in the current directory to JPG copies. Run this in a directory that contains matching *.heic files; otherwise the shell may pass the literal pattern and ImageMagick will report a missing file:

magick mogrify -format jpg *.heic

Create a Contact Sheet with Montage

The -tile 2x syntax tells magick montage to use two columns and as many rows as needed. Add -geometry to set each thumbnail size and spacing:

magick montage image1.jpg image2.jpg image3.jpg image4.jpg -tile 2x -geometry 300x300+8+8 contact-sheet.jpg

For a quick local test without your own files, create two sample images from ImageMagick fixtures and build a two-column montage:

magick rose: rose-1.png
magick rose: -rotate 90 rose-2.png
magick montage rose-1.png rose-2.png -tile 2x -geometry 70x46+4+4 montage.png
magick identify -format '%m %wx%h\n' montage.png

The sample montage reports its output format and final dimensions:

PNG 156x54

Resize Images

Resize an image to fit within an 800×600 box while preserving the original aspect ratio:

magick input.png -resize 800x600 output.png

Force exact dimensions only when stretching or squeezing the image is acceptable:

magick input.png -resize 800x600! output.png

The ImageMagick geometry documentation explains resize operators such as !, >, <, and @ in more detail.

Batch Process Multiple Files

Use mogrify when you want to process many files in one directory. Before using a wildcard, preview which filenames the shell will pass:

printf '%s\n' *.jpg

If that prints the literal *.jpg, move to a directory with JPG files or adjust the pattern before running a batch command.

mogrify overwrites input files unless you use an option such as -format that writes a different output extension. Even then, existing output files with the same names can be replaced, so back up important images before running batch operations in a working directory.

This command creates PNG copies from all JPG files and leaves the JPG originals in place because -format png changes the output extension:

magick mogrify -format png *.jpg

Resize JPG files wider than 1920 pixels down to a maximum width of 1920 pixels:

magick mogrify -resize '1920x>' *.jpg

For deeper examples, the upstream ImageMagick usage examples cover composition, masking, animation, text, and advanced transformations.

Troubleshoot ImageMagick on Fedora

Fix magick Command Not Found

If the shell cannot find magick, Fedora either does not have the package installed or the current shell has stale command lookup state:

bash: magick: command not found

Check the package state and install ImageMagick if it is missing:

rpm -q ImageMagick || sudo dnf install ImageMagick

Clear Bash’s command cache and verify the command path:

hash -r
command -v magick
magick --version | head -n 1

A working DNF installation resolves to /usr/bin/magick and prints an ImageMagick 7 version line.

Fix convert Deprecation Warnings

Fedora keeps compatibility links such as convert, but ImageMagick 7 warns when you call the old command name directly:

WARNING: The convert command is deprecated in IMv7, use "magick" instead of "convert" or "magick convert"

Replace old format-conversion syntax with the unified magick command:

magick input.jpg output.png

For scripts that previously called another standalone ImageMagick tool, add the tool name after magick:

magick identify image.png
magick mogrify -resize 1200x *.jpg
magick montage *.jpg -tile 2x contact-sheet.jpg

Fix Missing HEIC or Other Format Support

If ImageMagick reports that a file format has no decode delegate, inspect the enabled format list. Use the grep command to filter the long output to the formats you care about:

magick identify -list format | grep -Ei 'HEIC|HEIF|JXL|WEBP|PNG|JPEG'

On a Fedora system with ImageMagick-heic installed, relevant output includes HEIC and HEIF entries. Without that plugin, HEIC and HEIF may be absent even though common formats such as JPEG, PNG, JXL, and WebP are present.

sudo dnf install ImageMagick-heic

For compiled applications or language bindings, install the matching development or binding package instead of adding random library packages one at a time:

sudo dnf install ImageMagick-devel ImageMagick-c++-devel ImageMagick-perl

Find ImageMagick Policy and Delegate Files

Fedora stores the package-managed policy and delegate files under /etc/ImageMagick-7. The dependency package ImageMagick-libs owns these files, so query that package when you need the exact paths:

rpm -ql ImageMagick-libs | grep -E '/policy.xml|/delegates.xml'

Expected paths are:

/etc/ImageMagick-7/delegates.xml
/etc/ImageMagick-7/policy.xml

Update or Remove ImageMagick on Fedora

Update ImageMagick with DNF

DNF updates ImageMagick with the rest of your Fedora packages:

sudo dnf upgrade --refresh

If you installed optional ImageMagick subpackages, the same update command covers them when Fedora publishes matching updates.

Remove ImageMagick DNF Packages

Preview removal first if ImageMagick arrived as a dependency of another desktop package or if you installed optional subpackages:

sudo dnf remove --assumeno ImageMagick ImageMagick-heic ImageMagick-devel ImageMagick-doc ImageMagick-perl ImageMagick-c++ ImageMagick-c++-devel ImageMagick-djvu

If the transaction list matches what you intend to remove, rerun the command without --assumeno:

sudo dnf remove ImageMagick ImageMagick-heic ImageMagick-devel ImageMagick-doc ImageMagick-perl ImageMagick-c++ ImageMagick-c++-devel ImageMagick-djvu

Verify the main packages are no longer installed, then clear Bash’s command cache before checking the command path:

rpm -q ImageMagick ImageMagick-heic ImageMagick-devel ImageMagick-doc ImageMagick-perl ImageMagick-c++ ImageMagick-c++-devel ImageMagick-djvu || true
hash -r
command -v magick || echo "magick is not in PATH"

Expected output after removal looks like this when no other package provides magick:

package ImageMagick is not installed
package ImageMagick-heic is not installed
package ImageMagick-devel is not installed
package ImageMagick-doc is not installed
package ImageMagick-perl is not installed
package ImageMagick-c++ is not installed
package ImageMagick-c++-devel is not installed
package ImageMagick-djvu is not installed
magick is not in PATH

Conclusion

ImageMagick is ready on Fedora with DNF-managed updates, the modern magick command, and optional plugins for formats such as HEIC. Use it for quick terminal conversions, batch resizing, and contact sheets, then pair it with FFmpeg for video processing on Fedora or GIMP for advanced image editing on Fedora when a project needs video or full graphical editing.

Share this guide

Help another Linux user troubleshoot faster

Share this guide with someone troubleshooting Linux systems or saving it for later.

Follow LinuxCapable

Want more LinuxCapable guides in Google?

Add LinuxCapable as a preferred source so Google can show more of our fresh Linux tutorials in Top Stories and From your sources when relevant.

Add LinuxCapable as a preferred source on Google
Search LinuxCapable

Need another guide?

Search LinuxCapable for package installs, commands, troubleshooting, and follow-up guides related to what you just read.

Found this guide useful?

Support LinuxCapable to keep tutorials free and up to date.

Buy me a coffeeBuy me a coffee
Before commenting, please review our Comments Policy.
Formatting tips for your comment

You can use basic HTML to format your comment. Useful tags currently allowed in published comments:

You type Result
<code>command</code> command
<strong>bold</strong> bold
<em>italic</em> italic
<blockquote>quote</blockquote> quote block

Got a Question or Feedback?

We read and reply to every comment - let us know how we can help or improve this guide.

Verify before posting: