The functionality of ImageMagick can be driven from the command-line or integrated natively into your favorite programming language. Choose from bindings for C, C++, Python, PHP, .NET, Node.js, Rust, and many others to manipulate or create images dynamically.
Jump to Language Binding
Core C & C++ Libraries
Direct thread-safe native APIs for high-performance image processing applications.
MagickWand & MagickCore
C NativeUse the thread-safe MagickWand library to convert, compose, and edit images, or drop down to the low-level MagickCore API for wizard-level control.
Magick++
C++ OOPMagick++ provides a thread-safe object-oriented C++ interface to ImageMagick.
Third-Party & Official Language Bindings
Select bindings tailored to your preferred software stack.
.NET / C#
EcosystemUse Magick.NET to convert, compose, and edit images from Windows .NET.
Node.js
Async / SyncNode-magickwand offers direct native access to the full C++ library with TypedArray and TypeScript support.
JavaScript / TS
WASMmagick-wasm provides high-performance WebAssembly bindings for browser and server runtimes.
Python
Data / WebUse Wand (ctypes-based) or PythonMagick / PythonMagickWand for object-oriented image processing.
PHP
ExtensionIMagick is a native PHP extension. Explore guides at PHPImagick.com.
Ruby
WrapperRMagick interfaces MagickCore libraries, while MiniMagick provides a lightweight CLI wrapper.
Rust
SafeMagickRust provides robust MagickWand bindings for high-reliability Rust systems.
Go (Golang)
ConcurrentGoImagick connects Go routines directly to ImageMagick's MagickWand and MagickCore C APIs.
Perl
ScriptingUse PerlMagick to convert, compose, and edit images natively from Perl scripts.
R Language
StatsThe magick package wraps Magick++ STL for vectorized statistical image processing in R.
Julia
ScientificJuliaIO provides an object-oriented Julia interface for numerical image workflows.
Additional Community Bindings
ImageMagick also supports community-maintained integrations for niche environments: