Open-Awesome
CategoriesAlternativesStacksSelf-HostedExplore
Open-Awesome

© 2026 Open-Awesome. Curated for the developer elite.

TermsPrivacyAboutGitHubRSS
  1. Home
  2. Elixir
  3. mogrify

mogrify

MITElixir

An Elixir wrapper for ImageMagick command line providing image processing capabilities.

GitHubGitHub
585 stars64 forks0 contributors

What is mogrify?

Mogrify is an Elixir library that wraps ImageMagick command-line tools, enabling developers to perform image manipulation directly from Elixir applications. It simplifies tasks like resizing, converting, and extracting image metadata, making it a valuable tool for projects that require server-side image processing.

Target Audience

Elixir developers building applications that require server-side image processing, such as web applications handling user uploads, content management systems, or media pipelines.

Value Proposition

Developers choose Mogrify for its clean, idiomatic Elixir interface to ImageMagick's powerful utilities, balancing ease of use with the flexibility to leverage advanced image processing features through custom commands.

Overview

Image processing in Elixir (ImageMagick command line wrapper)

Use Cases

Best For

  • Generating thumbnails or resizing images in Elixir web applications.
  • Converting image formats (e.g., JPEG to PNG) within Elixir projects.
  • Extracting image metadata like dimensions and format efficiently.
  • Performing custom ImageMagick operations, such as creating images with markup or plasma backgrounds, from Elixir.
  • Managing server-side image processing pipelines in Elixir-based systems.
  • Integrating ImageMagick functionality into Elixir applications without shelling out manually.

Not Ideal For

  • Environments where installing system dependencies like ImageMagick is restricted or impossible
  • Real-time applications requiring sub-second image processing with minimal latency
  • Projects built in programming languages other than Elixir
  • Use cases demanding pure in-memory image manipulation without file I/O or process spawning overhead

Pros & Cons

Pros

Clean Elixir Interface

Provides idiomatic Elixir functions for common operations like resize and convert, making code readable and reducing boilerplate compared to manual shell commands.

Advanced Customization

Supports custom ImageMagick commands via the custom/2 function, enabling access to advanced features like plasma backgrounds and markup creation directly from Elixir.

Efficient Metadata Extraction

Offers both verbose and lightweight identify methods, allowing developers to choose based on memory and performance needs, as noted in the README's 'lighter' way example.

Seamless File Management

Simplifies saving processed images either in place or as copies with controlled output paths, streamlining image pipeline workflows in server-side applications.

Cons

System Dependency Burden

Requires ImageMagick to be installed on the host system, adding deployment complexity, potential version conflicts, and making it unsuitable for restricted environments.

Performance Overhead

Wraps command-line tools, introducing process spawning and I/O overhead that can be slower and more resource-intensive than native image libraries or bindings.

Limited Error Handling

Errors from ImageMagick are passed through with minimal abstraction, which might not integrate well with Elixir's error patterns and can be less informative for debugging.

Frequently Asked Questions

Quick Stats

Stars585
Forks64
Contributors0
Open Issues8
Last commit3 years ago
CreatedSince 2014

Tags

#elixir#command-line-tools#graphics#server-side#wrapper-library#imagemagick#image-processing#wrapper#hex-package

Built With

E
Elixir

Included in

Elixir13.1k
Auto-fetched 19 hours ago

Related Projects

imagineerimagineer

Image processing in Elixir

Stars118
Forks16
Last commit7 years ago
cloudexcloudex

An elixir library which helps with uploading image files or urls to cloudinary

Stars105
Forks67
Last commit2 years ago
ex_image_infoex_image_info

ExImageInfo is an Elixir library to parse images (binaries) and get the dimensions (size), detected mime-type and overall validity for a set of image formats. It is the fastest and supports multiple formats.

Stars101
Forks5
Last commit1 year ago
thumbnexthumbnex

Elixir library to create thumbnails from images and video screenshots.

Stars74
Forks7
Last commit2 years ago
Community-curated · Updated weekly · 100% open source

Found a gem we're missing?

Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.

Submit a projectStar on GitHub