
Why We Don't Use ImageMagick
When we started building Chameleon, we needed to decide how our app would convert images and photos between different file types (like turning a PNG into a JPEG). The obvious choice for many developers would be ImageMagick—the Swiss Army knife of image processing that’s been around since 1990. So naturally, that’s where we started.
What is ImageMagick?
For those unfamiliar, ImageMagick is an incredibly powerful, free tool that can work with images in almost any format you can think of—over 200 different types, from common ones like JPEG and PNG to specialized formats from professional cameras. It works on any computer (Windows, Linux, and macOS), has been trusted by developers for decades, and can be used by almost any software. Many popular apps and websites rely on it behind the scenes.
Our Journey with ImageMagick
We actually started with ImageMagick in Chameleon’s early test versions. It seemed like the natural choice—proven, powerful, and widely used.
But we quickly discovered problems when converting PDFs into images. ImageMagick uses another tool called Ghostscript to handle PDFs, and the results were unreliable. Some parts of the PDF would be missing from the converted image, text might not show up correctly, and certain PDFs would have visual errors that weren’t in the original document. For an app that users trust with their important files, losing any content was completely unacceptable.
So we built an alternative approach using Apple’s built-in PDF tools and gave our testers both options to try. Users could switch between ImageMagick and Apple’s method in Chameleon’s settings. The results were unanimous—Apple’s way worked much better, giving cleaner and more consistent conversions every time.
To illustrate the difference, here’s a comparison from page 2 of Apple’s “The Illusion of Thinking” research paper:

Apple's PDFKit
Correct rendering preserves all text and content

ImageMagick/Ghostscript
Black background makes body text invisible
Only elements with their own backgrounds (like the code snippet and graphs) remain visible in the ImageMagick version. This kind of display issue means users would lose access to the actual text in their PDFs.
By our next round of testing, we’d completely removed ImageMagick from Chameleon. Apple’s own image tools worked better not just for PDFs, but for converting all types of images.
Why We Built Chameleon Differently
Despite ImageMagick’s strengths, we decided to use the image processing tools that Apple already built into macOS. Our benchmarks showed native APIs performed 2-3x faster for typical image conversions, especially when processing batches of photos. A folder of 100 high-resolution images that took ImageMagick 45 seconds to convert processes in just 15 seconds using native APIs.
The Benefits of Going Native
Better Performance: Apple’s tools leverage your Mac’s graphics chip through Metal acceleration, resulting in faster conversions and better battery life on MacBooks.
Smaller App Size: By avoiding the 16MB+ ImageMagick binary, Chameleon stays lean and downloads quickly.
Enhanced Security: Fewer third-party dependencies means a smaller attack surface. We inherit Apple’s security improvements automatically with each macOS update.
Reliability: Native APIs are thoroughly tested with every macOS release, ensuring consistent behavior across all Mac models.
Supporting the Formats You Need
While we don’t support every obscure format that ImageMagick does, we make sure Chameleon handles all the formats you actually encounter. This includes all the essentials like JPEG, PNG, HEIC, TIFF, and GIF, plus:
Modern Format Support
For newer formats like WebP and AVIF that Apple doesn’t include yet, we add small, specialized tools. This focused approach keeps Chameleon’s size reasonable while supporting the formats our users actually encounter.
RAW Format Handling
macOS already includes excellent support for RAW files from all major camera manufacturers, with Apple adding support for new cameras with each system update.
Animated Images
We support animated GIFs using your Mac’s built-in tools and added special support for animated WebP files—all without the complexity that comes with ImageMagick.
The Results: Built-in vs Third-Party
Aspect | Built-in | ImageMagick |
---|---|---|
Performance | 2-3× faster with hardware acceleration | Slower, CPU-bound processing |
App Size Impact | No additional size | +16MB minimum |
Format Support | 29 common formats | 200+ formats |
PDF Rendering | Accurate, reliable | Issues with Ghostscript |
Security Updates | Automatic with macOS | Manual dependency management |
Battery Usage | Optimized for MacBooks | Higher power consumption |
Integration | Seamless Mac experience | Cross-platform consistency |
What This Means for You
Our native approach delivers tangible benefits: lightning-fast conversions that feel instantaneous, a Mac app that works the way you expect, and confidence that your files are processed correctly every time. Your system stays responsive even during large batch operations, and you get all this in a compact app that doesn’t burden your Mac with unnecessary dependencies.
When ImageMagick Makes Sense
ImageMagick is still a great choice for certain situations—just not for a Mac app like Chameleon. It’s perfect for web services that process thousands of images in obscure formats, or for software that needs to work identically on Windows, Linux, and Mac. But for Mac users who just want their files converted quickly and reliably, we believe Apple’s built-in tools are the better choice.
Our Philosophy
Chameleon follows a simple philosophy: use the best tool for each job. For image conversion on macOS, Apple’s built-in tools work best. For video and audio files, we use FFmpeg because Apple’s options aren’t as comprehensive. Every piece of software we include has to genuinely make the app better for our users.
This focused approach might not work for an app that needs to run on Windows and Linux too, but for an app built specifically for Mac, it gives our users the speed and reliability they expect.