Cloudinary vs Imgix: What is the difference?

Cloudinary and Imgix are big names in the image and video processing industry.

Imgix offers a subset of the functionality of Cloudinary, as it's specialized in media processing, whereas Cloudinary supports media processing, media storage, and media management (functionally to make organizing and searching through assets easier).

Both services offer image processing and video processing, so it's natural to ask:

When it comes to image and video processing, which is right for me?

In this article, we'll answer this question by giving you a side-by-side comparison of Imgix S3 vs. Cloudinary, with a summary of when to use each.

As a bonus: we'll present Bytescale's Image CDN as a 3rd option, which is a great cost-effective alternative to both for image processing.

Cloudinary vs Imgix: Features

Both Cloudinary and Imgix offer a similar core set of features:

The difference is primarily in integrated storage: Cloudinary provides it, but Imgix doesn't.

This makes Cloudinary better suited to users who want an all-inclusive solution, which handles the end-to-end process from a user uploading a file in a form, to displaying it resized on another page.

By contrast, Imgix's feature set makes it more appealing – at least at first glance – to those wanting to handle file uploads and storage themselves.

Let's take a closer look at the features to compare the two services...

Cloudinary vs Imgix: User Interface (UI)

When it comes to dashboards, Cloudinary appears to be the most intuitive, whereas Imgix lacks a few important UX considerations.

Let's start with Imgix's dashboard:

Imgix's dashboard feels a little sparse.

With Imgix's dashboard, our main issue is the lack of a transformation builder, no links to documentation, and next-to-no onboarding. This made the service very difficult to use – and to get to grips with – immediately after signing up.

Since Imgix is an image and video processing platform, after creating your account, the first thing you naturally want to do is process an image or video. However, since there's no obvious way to do this in the dashboard, you're forced to jump back to Imgix's homepage (or to Google) to learn how to use the product.

By contrast, we found Cloudinary's dashboard to be very intuitive: it includes everything you "signed up for" in the top navigation, including a file transformation library and a transformation builder:

Cloudinary's dashboard includes a transformation library & transformation builder.

On the topic of transformation builders: Bytescale's dashboard also includes a transformation library, a transformation builder, links to product documentation, and an interactive "getting started" guide:

Bytescale's dashboard includes a transformation builder & useful links to documentation.

If you want to try Bytescale's dashboard, you can sign up for free here.


If we focus a little more on Imgix's vs Cloudinary's image transformation builders, the first thing we'll highlight is we found Cloudinary's a little easier to use:

Cloudinary's URL Builder is intuitive and contains 33 grouped transformations.

After locating Imgix's transformation builder (it's hosted on a separate microsite), we found the options to be extensive, but the UI itself was lacking:

Imgix's URL Builder offers 127 image transformation parameters.

Imgix's transformation builder UI appeared to have the following shortcomings:

  • No form field validation.
  • All 127 image parameters were displayed in a single dropdown (without any grouping).
  • No inline descriptions against the parameters (within the dropdown), meaning you had to know what all 127 parameters meant (to make an informed selection).
  • No hints around how parameters are related. (For example, the fit parameter has no effect if you don't also specify w and/or h. This should be expressed or enforced through the UI like it is in Cloudinary, but it isn't in Imgix.):

Despite these UI shortcomings, there's no doubt that Imgix has a powerful set of features – it just seems to lack a rich UI. Since this section is about UI and UX, we have to give the point to Cloudinary, since its dashboard – with its built-in transformation builder – is more intuitive than Imgix's.

Winner for User Interface (UI): Cloudinary

Cloudinary vs Imgix: File Storage

Out of the two services, only Cloudinary supports file storage.

Imgix must be used as a proxy for existing storage backends:

Imgix does not provide storage: you must configure external image sources instead.

Imgix supports five different storage backends:

  • Amazon S3 (you must create the bucket yourself).
  • Google Cloud Storage (same as above: create the bucket yourself)
  • Microsoft Azure Storage (same as above: create the bucket yourself)
  • Web Folder (reverse proxy where the upstream path is specified in each HTTP request, and the upstream base URL is pre-configured by you in the Imgix dashboard – see above)
  • Web Proxy (reverse proxy where the entire URL is specified in each HTTP request)
Cloudinary supports file storage, file uploads, and advanced image search.

By contrast, Cloudinary includes both a proxy mode (like Imgix) and file storage. This makes it convenient if you don't currently have a solution configured.

Winner for File Storage: Cloudinary (Imgix is a proxy, so does not provide its own storage)

Cloudinary vs Imgix: Uploading via Website Forms

When it comes to adding file uploads to your website's forms, only Cloudinary provides SDKs and widgets to make the process simpler:

Cloudinary File Upload Widget

While Imgix allows file uploads via the dashboard, they don't provide a file upload API, SDK, or widget to allow you to upload files from your website's or app's forms.

Instead, you must implement all file upload functionality for yourself, using your storage backend's SDKs and APIs (e.g. S3 / Azure Storage / Google Cloud Storage).

Winner for File Uploading (From The Browser): Cloudinary (Imgix does not provide any file upload SDKs, APIs, or widgets)

Cloudinary vs Imgix: Video Processing

Imgix supports "eager processing" only: eager processing is when videos are processed automatically upon upload.

Cloudinary supports eager processing, lazy processing (where the video is encoded at the time it's requested), and explicit processing (when an API call must be made to explicitly encode the video).

More impressive is Cloudinary's support for streaming videos back to the user while they're being encoded – this feature is available under Cloudinary's lazy video encoding.

Cloudinary and Imgix video encoding behaviors:

Encoding Behavior Cloudinary Imgix
Eager Encoding
Explicit Encoding
Lazy Encoding

When it comes to video processing functionality, Cloudinary is the clear winner, since it provides both video transcoding and video manipulation (e.g. trimming, cropping, and other adjustments):

Video Processing Features Cloudinary Imgix
Video Transcoding
Video Manipulation

In terms of browser-friendly video delivery, both Cloudinary and Imgix support adaptive bitrate streaming (ABS).

ABS is a relatively new technology that adjusts the quality of a video stream based on the available bandwidth and CPU capacity. When searching for video processing services, you should always check if they support ABS – and in this case, both do.

Cloudinary and Imgix supported video formats:

Video Output Format Cloudinary Imgix
HLS
MP4
FLV (Flash Video)
MPEG-2
MPEG-2 Transport Stream
MPEG-DASH adaptive streaming
MKV
MOV
OGV (Ogg Video)
WebM
WMV

Sources: Cloudinary video formats and Imgix video formats.

As you can see from these comparison tables: Cloudinary is the clear winner for video processing.

Winner for Video Processing: Cloudinary

Cloudinary vs Imgix: Image Processing

Let's start by comparing the image formats supported by each service:

Cloudinary and Imgix supported image input formats:

Image Input Format Cloudinary Imgix
AI
Animated WebP
Animated PNG
AVIF
BMP
BW
DJVU
EPS
FBX
FLIF
GIF
GLB
GLTF
HEIC
HEIF
ICO
ICNS
JPEG
JPEG2000
JPEG XR
OBJ
PCT
PDF
PLY
PNG
PSD
RAW (ARW)
SVG
TARGA
TIFF
U3MA
USDZ
WEBP

Cloudinary and Imgix supported image output formats:

Image Output Format Cloudinary Imgix
AVIF *
BMP **
GIF
JPG
JPG XR
JPG 2000
PNG
WebP *

* AVIF and WebP are new image formats. Websites and apps can benefit from faster page load times by adopting these output formats.

** BMP isn't particularly useful as an image delivery format: it's an old format that doesn't provide any image compression. For most websites requiring ultra-high image quality, it's often sufficient to use JPG with minimal compression enabled. As such, you shouldn't consider BMP support as a strong advantage.

Next, let's discuss image manipulation:

Operation Type Operation Cloudinary Imgix
Resize Absolute Resize
Resize to Fit
Resize to Cover
Cropping Absolute Crop
Smart Crop (based on entropy/detail)
Smart Crop Objects (using AI) ✅ (Requires add-on)
Smart Crop Faces (using AI)
Masking Manual Masking
Automatic Background Removal
Composition Overlay Images
Overlay Text
Effects Stylistic (Sepia, Vignette, etc.)
Adjustments (Brightness, Contrast, etc.)
Red Eye Removal
Animation (GIF, WebP, etc.) Enable/Disable Looping
Change Frame Rate
Extract Frame as Image
Convert to Video

For image processing, Cloudinary is the clear winner: it supports more input image formats than Imgix. Both support a similar number of image manipulation operations.

Winner for Image Processing: Cloudinary

Cloudinary vs Imgix: CDN Performance

All media processing platforms we're aware of – including Imgix and Cloudinary – use an existing content delivery network (CDN) to improve the download speeds of the images and videos they serve.

When it comes to CDN performance, all we're concerned about is which CDN the service uses, and ultimately if it's a good CDN or a bad CDN. So, the question is...

Which CDN does Imgix use? Which CDN does Cloudinary use?

The answer is both use the Fastly CDN.

We can prove that both Imgix and Cloudinary use Fastly by inspecting the HTTP responses from each.

Below is Imgix's HTTP response header:

Imgix uses Fastly. (The "x-served-by" header indicates the request was routed via the Fastly CDN.)

And here's Cloudinary's HTTP response header:

Cloudinary also uses Fastly. (The "server-timing" header contains evidence of being routed via the Fastly CDN.)

So Cloudinary and Imgix offer the same CDN performance, right?

No, they're not quite the same.

This is because Cloudinary also offers multi-vendor CDN support to its Enterprise Plan customers (currently priced at over $250pm). This feature, which is only offered by Cloudinary, dynamically switches between Akamai, AWS CloudFront, and Fastly, providing even greater CDN coverage. For this reason, Cloudinary wins the CDN performance battle.

Winner for CDN Performance: Cloudinary (Imgix offers the same performance as Cloudinary's off-the-shelf plans. However, Cloudinary offers better performance than Imgix on its Enterprise Plan.)

Cloudinary vs Imgix: Pricing

Cloudinary and Imgix offer very different pricing models:

Cloudinary uses a credit-based system, and you spend credits between 3 resources:

  • Storage
  • Bandwidth
  • Transformations

Imgix uses fixed-quota plans, which focus on how many "origin images" you can transform: an origin image is an original image (hosted on your S3 bucket). For example, if you have 10 original images, and serve 100 variations of each, giving you 1,000 images in total, you would only need a plan to cover 10 "origin images".

Imgix uniquely offers unlimited bandwidth. However, there's a catch! The unlimited bandwidth usage on Imgix comes with a fair usage policy of 100MB per month per "origin image" (explained above). In practical terms, this means if you serve 100KB image thumbnails via Imgix, you can only serve each image thumbnail ~34 times per day (before you exceed the 100MB monthly limit per image).

So, is Imgix cheaper than Cloudinary?

To answer this, we need to perform a total cost of ownership (TCO) analysis for each service, using a realistic example project...

Time to perform a TCO calculation of Imgix vs. Cloudinary!

Let's say we're building Flickr.

Requirements:

  • We need to accept image uploads from our users.
  • We need a file upload UI in our website's forms, with an image cropper, and file upload progress bars.
  • We need to display these uploaded images, resized, on other parts of the website.
  • We estimate 1000 unique visitors per day (immediately after launching the website). Each visitor on average will upload 1 raw photo, and download 100 photo thumbnails. (We've chosen 1 raw upload per visitor to account for the fact that most visitors will only be downloading.)
  • We estimate that of the 100,000 thumbnails downloaded per day, over the course of a month, only 10,000 unique images were used to derive them. (This is relevant for Imgix's pricing, as this equates to 10,000 "origin images" per month.)
  • We assume the average raw photo size is 10MB and the average thumbnail size is 0.1MB.

Our capacity plan:

  • +297GB storage / month. Calculation = 365/12 * 1000 unique visitors * 1 raw uploads * 10MB raw photo size
  • 297GB upload bandwidth / month. Calculation = same as above
  • 297GB download bandwidth / month. Calculation = 365/12 * 1000 unique visitors * 100 photo thumbnails * 0.1MB thumbnail size

Now for the hidden cost: our development team's time!

  • Build a decent file upload flow for our website's forms. This time cost applies to Imgix only, since Cloudinary includes one: 160 man-hours.
  • Build the backend code for signed S3 file uploads. This time cost applies to Imgix only, since Cloudinary's upload widget will handle this for us: 20 man-hours.
  • Maintenance for the above. This applies to Imgix only, since there's no custom development work to be performed for Cloudinary: 4 man-hours per month.
With Imgix, you'll need to build your own file uploader for your website's forms.

To calculate our breakeven point (BEP) for using Imgix vs Cloudinary, we first need to associate some costs to the above resources:

For manual labor costs:

  • Assume $70 per man-hour.

For our Imgix costs:

  • $0.012 per original image per month.

For our AWS costs (when using Imgix):

  • S3 upload bandwidth is free.
  • S3 download bandwidth is $0.09 per GB.
  • S3 storage is $0.023 per GB.

For our Cloudinary costs:

  • Cloudinary uses a credit-based system.
  • One Cloudinary credit is roughly $0.37.
  • One Cloudinary credit buys you 1GB of storage or 1GB of download bandwidth or 1000 image transformations.

Breakeven Point (BEP) for Cloudinary vs. Imgix Pricing:

As you can see, Cloudinary's price curve is far steeper than Imgix's. This is solely due to Cloudinary's higher storage costs, which is the compounding cost in any online service that accepts file uploads from users (and doesn't delete them).

While Imgix's and S3's combined costs (the orange line) appear flat/linear, they are indeed still exponential. It's just not obvious compared to the more aggressive compounding costs of Cloudinary.

So, which is cheaper: Imgix or Cloudinary?

Well, the questions you really need to ask yourself are:

  • How certain is your project's success?
  • Does Imgix offer everything you need? If not, do you have the time to build the missing parts (which may already be offered by Cloudinary)? E.g. building a custom file upload interface, including all the backend code, etc.
  • Are there better things you can use spend your development time on instead? (Generally speaking, you should focus on building your product's unique features first, and then aim to reduce costs later by insourcing common functionality, like file upload UIs and processes.)

If you answered "Yes, yes, no" to the above questions: then Imgix is the better option. However, you may find Cloudinary will save you money in the short term.

Winner for Pricing: Draw (Imgix has lower ongoing costs, but larger upfront costs if you need to accept file uploads from your users. To determine which is most economical, you need to plot your own breakeven point – like the one above – and then answer the above 3 questions.)

Conclusion

Let's conclude our findings for Imgix vs Cloudinary:

Cloudinary vs. Imgix: when the dust settles, which is better for media processing?

If you need image processing:

  • Imgix is best if you want to handle image storage yourself (in S3 / Azure / Google Cloud).
  • Cloudinary is best if want image uploads on your website's forms to be handled for you.
  • Bytescale is a great third option: it supports external storage (both read and write), image/video/audio processing, and comes with easy-to-use file upload SDKs and file upload widgets for your website's forms.

If you need video processing:

  • Cloudinary beats Imgix. Cloudinary supports a lot more video processing and video delivery options than Imgix. Specifically: only Cloudinary supports video manipulation (e.g. trimming, watermarking, etc.), whereas Imgix only supports video transcoding.
  • Bytescale also offers a comprehensive Video Processing API »

Whichever you choose, we hope the above information helps, and that you found it useful! 😊