{"id":21235,"date":"2014-05-29T11:13:15","date_gmt":"2014-05-29T11:13:15","guid":{"rendered":"http:\/\/optimize_your_jpeg_images_without_compromising_quality_with_jpegmini_and_cloudinary"},"modified":"2025-03-23T14:11:05","modified_gmt":"2025-03-23T21:11:05","slug":"optimize_your_jpeg_images_without_compromising_quality_with_jpegmini_and_cloudinary","status":"publish","type":"post","link":"https:\/\/cloudinary.com\/blog\/optimize_your_jpeg_images_without_compromising_quality_with_jpegmini_and_cloudinary","title":{"rendered":"JPEG Image Optimization Without Compromising Quality With JPEGmini and Cloudinary"},"content":{"rendered":"<div class=\"wp-block-cloudinary-markdown \"><p>Image optimization is an important step to reducing page load times, improving user experience and reducing bandwidth costs. When using the JPEG <a href=\"https:\/\/cloudinary.com\/blog\/image_formats_getting_it_right\">image format<\/a>, which is best used for photos, the most common optimization is controlling the JPEG quality level.<\/p>\n<p>By lowering JPEG quality, say to 90%, 80% or even 50%, you\u2019ll get much smaller JPEG files. But will image quality be good enough? JPEG optimization is tricky because if quality is too low, you\u2019ll get blurry images, pixelation and visible compression artifacts; if it\u2019s too high, images will look good but take too long to load.<\/p>\n<p>We thought it would be great to let our users <strong>automatically<\/strong> optimize their JPEGs without sacrificing quality. So we partnered with <strong><a href=\"http:\/\/www.jpegmini.com\/\">JPEGmini<\/a><\/strong>, an online service that does exactly that &#8211; it smartly balances the need to reduce file size, with the need to deliver high quality visual results. JPEGmini\u2019s JPEG optimization can reduce the file size of your photos by up to 5x, while maintaining their original quality.<\/p>\n<p>We\u2019ve integrated JPEGmini with our cloud-based image management solution, allowing our users to generate JPEGs on the fly with JPEGmini\u2019s smart optimization built in. Read on to see how it\u2019s done.<\/p>\n<h2>Optimizing JPEG images while maintaining high image quality<\/h2>\n<p>Cloudinary is a cloud-based, end-to-end media management solution that automates and streamlines your entire media asset workflow, from upload to transformation to delivery via multiple CDNs.<\/p>\n<p>One of the image transformations we offer is changing JPEG quality. Let\u2019s take a JPG image of a dog that was uploaded to Cloudinary, and assigned the ID \u2018happy_dog\u2019.<\/p>\n<p>The original image is a high-resolution photo of 2082&#215;2975. Is was saved as high-quality JPG and weighs <strong>2.5MB<\/strong>, which is quite a lot of data to deliver to your web or mobile viewers.<\/p>\n<p>Cloudinary allows you to modify the quality level of a <a href=\"https:\/\/cloudinary.com\/tools\/compress-jpg\">JPG<\/a> by setting the <code>quality<\/code> parameter (or <code>q<\/code> if specified within the image URL) to a value between 1 to 100. In addition, further lossless optimizations are applied to the generated images. The following code, or dynamic transformation URL, converts the original image on-the-fly to a JPEG with 90% quality (for illustration purposes, the image below was resized to a 250&#215;358 thumbnail). The generated image weighs only <strong>681KB<\/strong>, which is just 19% of the original high-quality size:<\/p>\n<p><cld-code-widget\n      class=\" c-code-widget\"\n      snippets=\"[{&quot;sdkId&quot;:&quot;nodejs&quot;,&quot;framework&quot;:&quot;nodejs&quot;,&quot;language&quot;:&quot;nodejs&quot;,&quot;rawCodeSnippet&quot;:&quot;cloudinary.image(\\&quot;happy_dog.jpg\\&quot;, {width: 250, quality: 90, crop: \\&quot;scale\\&quot;})&quot;,&quot;codeSnippet&quot;:&quot;cloudinary.image(\\&quot;happy_dog.jpg\\&quot;, {width: 250, quality: 90, crop: \\&quot;scale\\&quot;})&quot;,&quot;status&quot;:0,&quot;statusText&quot;:&quot;Ok&quot;,&quot;displayName&quot;:&quot;Node.js&quot;,&quot;packageName&quot;:&quot;cloudinary&quot;,&quot;packageStatus&quot;:&quot;&quot;,&quot;packageVersion&quot;:&quot;2.x&quot;},{&quot;sdkId&quot;:&quot;react_2&quot;,&quot;framework&quot;:&quot;react_2&quot;,&quot;language&quot;:&quot;react&quot;,&quot;rawCodeSnippet&quot;:&quot;new CloudinaryImage(\\&quot;happy_dog.jpg\\&quot;)\\n  .resize(scale().width(250))\\n  .delivery(quality(90));&quot;,&quot;codeSnippet&quot;:&quot;new CloudinaryImage(\\&quot;happy_dog.jpg\\&quot;)\\n  .resize(scale().width(250))\\n  .delivery(quality(90));&quot;,&quot;status&quot;:0,&quot;statusText&quot;:&quot;Ok&quot;,&quot;displayName&quot;:&quot;React&quot;,&quot;packageName&quot;:&quot;@cloudinary\\\/react&quot;,&quot;packageStatus&quot;:&quot;&quot;,&quot;packageVersion&quot;:&quot;1.x&quot;},{&quot;sdkId&quot;:&quot;react&quot;,&quot;framework&quot;:&quot;react&quot;,&quot;language&quot;:&quot;react&quot;,&quot;rawCodeSnippet&quot;:&quot;&lt;Image publicId=\\&quot;happy_dog.jpg\\&quot; &gt; &lt;Transformation width=\\&quot;250\\&quot; quality=\\&quot;90\\&quot; crop=\\&quot;scale\\&quot; \\\/&gt; &lt;\\\/Image&gt;&quot;,&quot;codeSnippet&quot;:&quot;&lt;Image publicId=\\&quot;happy_dog.jpg\\&quot; &gt;\\n\\t&lt;Transformation width=\\&quot;250\\&quot; quality=\\&quot;90\\&quot; crop=\\&quot;scale\\&quot; \\\/&gt;\\n&lt;\\\/Image&gt;&quot;,&quot;status&quot;:0,&quot;statusText&quot;:&quot;Ok&quot;,&quot;displayName&quot;:&quot;React&quot;,&quot;packageName&quot;:&quot;cloudinary-react&quot;,&quot;packageStatus&quot;:&quot;&quot;,&quot;packageVersion&quot;:&quot;1.x&quot;},{&quot;sdkId&quot;:&quot;vue_2&quot;,&quot;framework&quot;:&quot;vue_2&quot;,&quot;language&quot;:&quot;vue&quot;,&quot;rawCodeSnippet&quot;:&quot;new CloudinaryImage(\\&quot;happy_dog.jpg\\&quot;)\\n  .resize(scale().width(250))\\n  .delivery(quality(90));&quot;,&quot;codeSnippet&quot;:&quot;new CloudinaryImage(\\&quot;happy_dog.jpg\\&quot;)\\n  .resize(scale().width(250))\\n  .delivery(quality(90));&quot;,&quot;status&quot;:0,&quot;statusText&quot;:&quot;Ok&quot;,&quot;displayName&quot;:&quot;Vue.js&quot;,&quot;packageName&quot;:&quot;@cloudinary\\\/vue&quot;,&quot;packageStatus&quot;:&quot;&quot;,&quot;packageVersion&quot;:&quot;1.x&quot;},{&quot;sdkId&quot;:&quot;vue&quot;,&quot;framework&quot;:&quot;vue&quot;,&quot;language&quot;:&quot;vue&quot;,&quot;rawCodeSnippet&quot;:&quot;&lt;cld-image public-id=\\&quot;happy_dog.jpg\\&quot; &gt; &lt;cld-transformation width=\\&quot;250\\&quot; quality=\\&quot;90\\&quot; crop=\\&quot;scale\\&quot; \\\/&gt; &lt;\\\/cld-image&gt;&quot;,&quot;codeSnippet&quot;:&quot;&lt;cld-image public-id=\\&quot;happy_dog.jpg\\&quot; &gt;\\n\\t&lt;cld-transformation width=\\&quot;250\\&quot; quality=\\&quot;90\\&quot; crop=\\&quot;scale\\&quot; \\\/&gt;\\n&lt;\\\/cld-image&gt;&quot;,&quot;status&quot;:0,&quot;statusText&quot;:&quot;Ok&quot;,&quot;displayName&quot;:&quot;Vue.js&quot;,&quot;packageName&quot;:&quot;cloudinary-vue&quot;,&quot;packageStatus&quot;:&quot;legacy&quot;,&quot;packageVersion&quot;:&quot;1.x&quot;},{&quot;sdkId&quot;:&quot;angular_2&quot;,&quot;framework&quot;:&quot;angular_2&quot;,&quot;language&quot;:&quot;angular&quot;,&quot;rawCodeSnippet&quot;:&quot;new CloudinaryImage(\\&quot;happy_dog.jpg\\&quot;)\\n  .resize(scale().width(250))\\n  .delivery(quality(90));&quot;,&quot;codeSnippet&quot;:&quot;new CloudinaryImage(\\&quot;happy_dog.jpg\\&quot;)\\n  .resize(scale().width(250))\\n  .delivery(quality(90));&quot;,&quot;status&quot;:0,&quot;statusText&quot;:&quot;Ok&quot;,&quot;displayName&quot;:&quot;Angular&quot;,&quot;packageName&quot;:&quot;@cloudinary\\\/ng&quot;,&quot;packageStatus&quot;:&quot;&quot;,&quot;packageVersion&quot;:&quot;1.x&quot;},{&quot;sdkId&quot;:&quot;angular&quot;,&quot;framework&quot;:&quot;angular&quot;,&quot;language&quot;:&quot;angular&quot;,&quot;rawCodeSnippet&quot;:&quot;&lt;cl-image public-id=\\&quot;happy_dog.jpg\\&quot; &gt; &lt;cl-transformation width=\\&quot;250\\&quot; quality=\\&quot;90\\&quot; crop=\\&quot;scale\\&quot;&gt; &lt;\\\/cl-transformation&gt; &lt;\\\/cl-image&gt;&quot;,&quot;codeSnippet&quot;:&quot;&lt;cl-image public-id=\\&quot;happy_dog.jpg\\&quot; &gt;\\n\\t&lt;cl-transformation width=\\&quot;250\\&quot; quality=\\&quot;90\\&quot; crop=\\&quot;scale\\&quot;&gt;\\n\\t&lt;\\\/cl-transformation&gt;\\n&lt;\\\/cl-image&gt;&quot;,&quot;status&quot;:0,&quot;statusText&quot;:&quot;Ok&quot;,&quot;displayName&quot;:&quot;Angular&quot;,&quot;packageName&quot;:&quot;@cloudinary\\\/angular-5.x&quot;,&quot;packageStatus&quot;:&quot;legacy&quot;,&quot;packageVersion&quot;:&quot;1.x&quot;},{&quot;sdkId&quot;:&quot;js_2&quot;,&quot;framework&quot;:&quot;js_2&quot;,&quot;language&quot;:&quot;js&quot;,&quot;rawCodeSnippet&quot;:&quot;new CloudinaryImage(\\&quot;happy_dog.jpg\\&quot;)\\n  .resize(scale().width(250))\\n  .delivery(quality(90));&quot;,&quot;codeSnippet&quot;:&quot;new CloudinaryImage(\\&quot;happy_dog.jpg\\&quot;)\\n  .resize(scale().width(250))\\n  .delivery(quality(90));&quot;,&quot;status&quot;:0,&quot;statusText&quot;:&quot;Ok&quot;,&quot;displayName&quot;:&quot;JS&quot;,&quot;packageName&quot;:&quot;@cloudinary\\\/url-gen&quot;,&quot;packageStatus&quot;:&quot;&quot;,&quot;packageVersion&quot;:&quot;1.x&quot;},{&quot;sdkId&quot;:&quot;js&quot;,&quot;framework&quot;:&quot;js&quot;,&quot;language&quot;:&quot;js&quot;,&quot;rawCodeSnippet&quot;:&quot;cloudinary.imageTag(&#039;happy_dog.jpg&#039;, {width: 250, quality: 90, crop: \\&quot;scale\\&quot;}).toHtml();&quot;,&quot;codeSnippet&quot;:&quot;cloudinary.imageTag(&#039;happy_dog.jpg&#039;, {width: 250, quality: 90, crop: \\&quot;scale\\&quot;}).toHtml();&quot;,&quot;status&quot;:0,&quot;statusText&quot;:&quot;Ok&quot;,&quot;displayName&quot;:&quot;JS&quot;,&quot;packageName&quot;:&quot;cloudinary-core&quot;,&quot;packageStatus&quot;:&quot;legacy&quot;,&quot;packageVersion&quot;:&quot;2.x&quot;},{&quot;sdkId&quot;:&quot;python&quot;,&quot;framework&quot;:&quot;python&quot;,&quot;language&quot;:&quot;python&quot;,&quot;rawCodeSnippet&quot;:&quot;CloudinaryImage(\\&quot;happy_dog.jpg\\&quot;).image(width=250, quality=90, crop=\\&quot;scale\\&quot;)&quot;,&quot;codeSnippet&quot;:&quot;CloudinaryImage(\\&quot;happy_dog.jpg\\&quot;).image(width=250, quality=90, crop=\\&quot;scale\\&quot;)&quot;,&quot;status&quot;:0,&quot;statusText&quot;:&quot;Ok&quot;,&quot;displayName&quot;:&quot;Python&quot;,&quot;packageName&quot;:&quot;cloudinary&quot;,&quot;packageStatus&quot;:&quot;&quot;,&quot;packageVersion&quot;:&quot;1.x&quot;},{&quot;sdkId&quot;:&quot;php_2&quot;,&quot;framework&quot;:&quot;php_2&quot;,&quot;language&quot;:&quot;php&quot;,&quot;rawCodeSnippet&quot;:&quot;(new ImageTag(&#039;happy_dog.jpg&#039;))\\n\\t-&gt;resize(Resize::scale()-&gt;width(250))\\n\\t-&gt;delivery(Delivery::quality(90));&quot;,&quot;codeSnippet&quot;:&quot;(new ImageTag(&#039;happy_dog.jpg&#039;))\\n\\t-&gt;resize(Resize::scale()-&gt;width(250))\\n\\t-&gt;delivery(Delivery::quality(90));&quot;,&quot;status&quot;:0,&quot;statusText&quot;:&quot;Ok&quot;,&quot;displayName&quot;:&quot;PHP&quot;,&quot;packageName&quot;:&quot;cloudinary_php&quot;,&quot;packageStatus&quot;:&quot;&quot;,&quot;packageVersion&quot;:&quot;3.x&quot;},{&quot;sdkId&quot;:&quot;php&quot;,&quot;framework&quot;:&quot;php&quot;,&quot;language&quot;:&quot;php&quot;,&quot;rawCodeSnippet&quot;:&quot;cl_image_tag(\\&quot;happy_dog.jpg\\&quot;, array(\\&quot;width\\&quot;=&gt;250, \\&quot;quality\\&quot;=&gt;90, \\&quot;crop\\&quot;=&gt;\\&quot;scale\\&quot;))&quot;,&quot;codeSnippet&quot;:&quot;cl_image_tag(\\&quot;happy_dog.jpg\\&quot;, array(\\&quot;width\\&quot;=&gt;250, \\&quot;quality\\&quot;=&gt;90, \\&quot;crop\\&quot;=&gt;\\&quot;scale\\&quot;))&quot;,&quot;status&quot;:0,&quot;statusText&quot;:&quot;Ok&quot;,&quot;displayName&quot;:&quot;PHP&quot;,&quot;packageName&quot;:&quot;cloudinary_php&quot;,&quot;packageStatus&quot;:&quot;legacy&quot;,&quot;packageVersion&quot;:&quot;1.x&quot;},{&quot;sdkId&quot;:&quot;java&quot;,&quot;framework&quot;:&quot;java&quot;,&quot;language&quot;:&quot;java&quot;,&quot;rawCodeSnippet&quot;:&quot;cloudinary.url().transformation(new Transformation().width(250).quality(90).crop(\\&quot;scale\\&quot;)).imageTag(\\&quot;happy_dog.jpg\\&quot;);&quot;,&quot;codeSnippet&quot;:&quot;cloudinary.url().transformation(new Transformation().width(250).quality(90).crop(\\&quot;scale\\&quot;)).imageTag(\\&quot;happy_dog.jpg\\&quot;);&quot;,&quot;status&quot;:0,&quot;statusText&quot;:&quot;Ok&quot;,&quot;displayName&quot;:&quot;Java&quot;,&quot;packageName&quot;:&quot;cloudinary&quot;,&quot;packageStatus&quot;:&quot;&quot;,&quot;packageVersion&quot;:&quot;2.x&quot;},{&quot;sdkId&quot;:&quot;ruby&quot;,&quot;framework&quot;:&quot;ruby&quot;,&quot;language&quot;:&quot;ruby&quot;,&quot;rawCodeSnippet&quot;:&quot;cl_image_tag(\\&quot;happy_dog.jpg\\&quot;, width: 250, quality: 90, crop: \\&quot;scale\\&quot;)&quot;,&quot;codeSnippet&quot;:&quot;cl_image_tag(\\&quot;happy_dog.jpg\\&quot;, width: 250, quality: 90, crop: \\&quot;scale\\&quot;)&quot;,&quot;status&quot;:0,&quot;statusText&quot;:&quot;Ok&quot;,&quot;displayName&quot;:&quot;Ruby&quot;,&quot;packageName&quot;:&quot;cloudinary&quot;,&quot;packageStatus&quot;:&quot;&quot;,&quot;packageVersion&quot;:&quot;2.x&quot;},{&quot;sdkId&quot;:&quot;csharp&quot;,&quot;framework&quot;:&quot;csharp&quot;,&quot;language&quot;:&quot;csharp&quot;,&quot;rawCodeSnippet&quot;:&quot;cloudinary.Api.UrlImgUp.Transform(new Transformation().Width(250).Quality(90).Crop(\\&quot;scale\\&quot;)).BuildImageTag(\\&quot;happy_dog.jpg\\&quot;)&quot;,&quot;codeSnippet&quot;:&quot;cloudinary.Api.UrlImgUp.Transform(new Transformation().Width(250).Quality(90).Crop(\\&quot;scale\\&quot;)).BuildImageTag(\\&quot;happy_dog.jpg\\&quot;)&quot;,&quot;status&quot;:0,&quot;statusText&quot;:&quot;Ok&quot;,&quot;displayName&quot;:&quot;.NET&quot;,&quot;packageName&quot;:&quot;CloudinaryDotNet&quot;,&quot;packageStatus&quot;:&quot;&quot;,&quot;packageVersion&quot;:&quot;1.x&quot;},{&quot;sdkId&quot;:&quot;dart&quot;,&quot;framework&quot;:&quot;dart&quot;,&quot;language&quot;:&quot;dart&quot;,&quot;rawCodeSnippet&quot;:&quot;cloudinary.image(&#039;happy_dog.jpg&#039;).transformation(Transformation()\\n\\t.resize(Resize.scale().width(250))\\n\\t.delivery(Delivery.quality(90)));&quot;,&quot;codeSnippet&quot;:&quot;cloudinary.image(&#039;happy_dog.jpg&#039;).transformation(Transformation()\\n\\t.resize(Resize.scale().width(250))\\n\\t.delivery(Delivery.quality(90)));&quot;,&quot;status&quot;:0,&quot;statusText&quot;:&quot;Ok&quot;,&quot;displayName&quot;:&quot;Dart&quot;,&quot;packageName&quot;:&quot;cloudinary_dart&quot;,&quot;packageStatus&quot;:&quot;&quot;,&quot;packageVersion&quot;:&quot;1.x&quot;},{&quot;sdkId&quot;:&quot;swift&quot;,&quot;framework&quot;:&quot;swift&quot;,&quot;language&quot;:&quot;swift&quot;,&quot;rawCodeSnippet&quot;:&quot;imageView.cldSetImage(cloudinary.createUrl().setTransformation(CLDTransformation().setWidth(250).setQuality(90).setCrop(\\&quot;scale\\&quot;)).generate(\\&quot;happy_dog.jpg\\&quot;)!, cloudinary: cloudinary)&quot;,&quot;codeSnippet&quot;:&quot;imageView.cldSetImage(cloudinary.createUrl().setTransformation(CLDTransformation().setWidth(250).setQuality(90).setCrop(\\&quot;scale\\&quot;)).generate(\\&quot;happy_dog.jpg\\&quot;)!, cloudinary: cloudinary)&quot;,&quot;status&quot;:0,&quot;statusText&quot;:&quot;Ok&quot;,&quot;displayName&quot;:&quot;iOS&quot;,&quot;packageName&quot;:&quot;cloudinary&quot;,&quot;packageStatus&quot;:&quot;&quot;,&quot;packageVersion&quot;:&quot;5.x&quot;},{&quot;sdkId&quot;:&quot;android&quot;,&quot;framework&quot;:&quot;android&quot;,&quot;language&quot;:&quot;android&quot;,&quot;rawCodeSnippet&quot;:&quot;MediaManager.get().url().transformation(new Transformation().width(250).quality(90).crop(\\&quot;scale\\&quot;)).generate(\\&quot;happy_dog.jpg\\&quot;);&quot;,&quot;codeSnippet&quot;:&quot;MediaManager.get().url().transformation(new Transformation().width(250).quality(90).crop(\\&quot;scale\\&quot;)).generate(\\&quot;happy_dog.jpg\\&quot;);&quot;,&quot;status&quot;:0,&quot;statusText&quot;:&quot;Ok&quot;,&quot;displayName&quot;:&quot;Android&quot;,&quot;packageName&quot;:&quot;cloudinary-android&quot;,&quot;packageStatus&quot;:&quot;&quot;,&quot;packageVersion&quot;:&quot;3.x&quot;},{&quot;sdkId&quot;:&quot;flutter&quot;,&quot;framework&quot;:&quot;flutter&quot;,&quot;language&quot;:&quot;flutter&quot;,&quot;rawCodeSnippet&quot;:&quot;cloudinary.image(&#039;happy_dog.jpg&#039;).transformation(Transformation()\\n\\t.resize(Resize.scale().width(250))\\n\\t.delivery(Delivery.quality(90)));&quot;,&quot;codeSnippet&quot;:&quot;cloudinary.image(&#039;happy_dog.jpg&#039;).transformation(Transformation()\\n\\t.resize(Resize.scale().width(250))\\n\\t.delivery(Delivery.quality(90)));&quot;,&quot;status&quot;:0,&quot;statusText&quot;:&quot;Ok&quot;,&quot;displayName&quot;:&quot;Flutter&quot;,&quot;packageName&quot;:&quot;cloudinary_flutter&quot;,&quot;packageStatus&quot;:&quot;&quot;,&quot;packageVersion&quot;:&quot;1.x&quot;},{&quot;sdkId&quot;:&quot;kotlin&quot;,&quot;framework&quot;:&quot;kotlin&quot;,&quot;language&quot;:&quot;kotlin&quot;,&quot;rawCodeSnippet&quot;:&quot;cloudinary.image {\\n\\tpublicId(\\&quot;happy_dog.jpg\\&quot;)\\n\\t resize(Resize.scale() { width(250) })\\n\\t delivery(Delivery.quality(90)) \\n}.generate()&quot;,&quot;codeSnippet&quot;:&quot;cloudinary.image {\\n\\tpublicId(\\&quot;happy_dog.jpg\\&quot;)\\n\\t resize(Resize.scale() { width(250) })\\n\\t delivery(Delivery.quality(90)) \\n}.generate()&quot;,&quot;status&quot;:0,&quot;statusText&quot;:&quot;Ok&quot;,&quot;displayName&quot;:&quot;Kotlin&quot;,&quot;packageName&quot;:&quot;kotlin-url-gen&quot;,&quot;packageStatus&quot;:&quot;&quot;,&quot;packageVersion&quot;:&quot;1.x&quot;},{&quot;sdkId&quot;:&quot;jquery&quot;,&quot;framework&quot;:&quot;jquery&quot;,&quot;language&quot;:&quot;jquery&quot;,&quot;rawCodeSnippet&quot;:&quot;$.cloudinary.image(\\&quot;happy_dog.jpg\\&quot;, {width: 250, quality: 90, crop: \\&quot;scale\\&quot;})&quot;,&quot;codeSnippet&quot;:&quot;$.cloudinary.image(\\&quot;happy_dog.jpg\\&quot;, {width: 250, quality: 90, crop: \\&quot;scale\\&quot;})&quot;,&quot;status&quot;:0,&quot;statusText&quot;:&quot;Ok&quot;,&quot;displayName&quot;:&quot;jQuery&quot;,&quot;packageName&quot;:&quot;cloudinary-jquery&quot;,&quot;packageStatus&quot;:&quot;&quot;,&quot;packageVersion&quot;:&quot;2.x&quot;},{&quot;sdkId&quot;:&quot;react_native&quot;,&quot;framework&quot;:&quot;react_native&quot;,&quot;language&quot;:&quot;react_native&quot;,&quot;rawCodeSnippet&quot;:&quot;new CloudinaryImage(\\&quot;happy_dog.jpg\\&quot;)\\n  .resize(scale().width(250))\\n  .delivery(quality(90));&quot;,&quot;codeSnippet&quot;:&quot;new CloudinaryImage(\\&quot;happy_dog.jpg\\&quot;)\\n  .resize(scale().width(250))\\n  .delivery(quality(90));&quot;,&quot;status&quot;:0,&quot;statusText&quot;:&quot;Ok&quot;,&quot;displayName&quot;:&quot;React Native&quot;,&quot;packageName&quot;:&quot;cloudinary-react-native&quot;,&quot;packageStatus&quot;:&quot;&quot;,&quot;packageVersion&quot;:&quot;1.x&quot;}]\"\n      parsed-url=\"{&quot;url&quot;:&quot;https:\\\/\\\/res.cloudinary.com\\\/demo\\\/image\\\/upload\\\/w_250,q_90\\\/happy_dog.jpg&quot;,&quot;cloud_name&quot;:&quot;demo&quot;,&quot;host&quot;:&quot;res.cloudinary.com&quot;,&quot;type&quot;:&quot;upload&quot;,&quot;resource_type&quot;:&quot;image&quot;,&quot;transformation&quot;:[{&quot;width&quot;:&quot;250&quot;,&quot;quality&quot;:&quot;90&quot;}],&quot;transformation_string&quot;:&quot;w_250,q_90&quot;,&quot;url_suffix&quot;:&quot;&quot;,&quot;version&quot;:&quot;&quot;,&quot;secure&quot;:true,&quot;public_id&quot;:&quot;happy_dog.jpg&quot;,&quot;extension&quot;:&quot;jpg&quot;,&quot;format&quot;:&quot;jpg&quot;,&quot;format_code&quot;:true,&quot;url_code&quot;:false,&quot;signature&quot;:&quot;&quot;,&quot;private_cdn&quot;:false,&quot;result_asset_type&quot;:&quot;image&quot;}\"\n      with-url=\"true\"\n    >\n      <span class=\"u-visually-hidden\">Loading code examples<\/span>\n    <\/cld-code-widget><a class=\"c-image-link\" href=\"https:\/\/res.cloudinary.com\/demo\/image\/upload\/w_250,q_90\/happy_dog.jpg\" target=\"_blank\"><img decoding=\"async\" src=\"https:\/\/res.cloudinary.com\/demo\/image\/upload\/w_250,q_90\/happy_dog.jpg\" alt=\"JPEG with quality 90%\" loading=\"lazy\" class=\"c-transformed-asset\"  width=\"250\" height=\"358\"\/><\/a><\/p>\n<p>In the example above we used 90% quality, which is quite high and ensures a good visual result. However, for photos like the one above, you may be able to set a lower JPEG quality level while is indiscernible from the original to the naked eye. Using Cloudinary\u2019s new JPEGmini add-on, you can apply a JPEG optimization with the best possible quality for the specific photo you\u2019ve uploaded.<\/p>\n<p>Applying JPEGmini optimization is done by simply setting the <code>quality<\/code> parameter, in the code that generates the image URL, to <code>jpegmini<\/code>. The following transformation URL and code optimizes an image uploaded to Cloudinary using JPEGmini, while delivering the result via a CDN. The resulting photo weighs only <strong>425KB<\/strong>. This means we saved almost <strong>40%<\/strong> of file size compared to the 90 quality JPG or more than <strong>80%<\/strong> compared to the original photo. Across an entire site, this can significantly improve user experience and minimize bandwidth costs.<\/p>\n<p><cld-code-widget\n      class=\" c-code-widget\"\n      snippets=\"[{&quot;sdkId&quot;:&quot;nodejs&quot;,&quot;framework&quot;:&quot;nodejs&quot;,&quot;language&quot;:&quot;nodejs&quot;,&quot;rawCodeSnippet&quot;:&quot;cloudinary.image(\\&quot;happy_dog.jpg\\&quot;, {quality: \\&quot;jpegmini\\&quot;, width: 250, crop: \\&quot;scale\\&quot;, sign_url: true})&quot;,&quot;codeSnippet&quot;:&quot;cloudinary.image(\\&quot;happy_dog.jpg\\&quot;, {quality: \\&quot;jpegmini\\&quot;, width: 250, crop: \\&quot;scale\\&quot;, sign_url: true})&quot;,&quot;status&quot;:0,&quot;statusText&quot;:&quot;Ok&quot;,&quot;displayName&quot;:&quot;Node.js&quot;,&quot;packageName&quot;:&quot;cloudinary&quot;,&quot;packageStatus&quot;:&quot;&quot;,&quot;packageVersion&quot;:&quot;2.x&quot;},{&quot;sdkId&quot;:&quot;react_2&quot;,&quot;framework&quot;:&quot;react_2&quot;,&quot;language&quot;:&quot;react&quot;,&quot;rawCodeSnippet&quot;:&quot;new CloudinaryImage(\\&quot;happy_dog.jpg\\&quot;)\\n  .resize(scale().width(250))\\n  .delivery(quality(jpegmini()))\\n  .setSignature(\\&quot;zBdJ64Vk\\&quot;);&quot;,&quot;codeSnippet&quot;:&quot;new CloudinaryImage(\\&quot;happy_dog.jpg\\&quot;)\\n  .resize(scale().width(250))\\n  .delivery(quality(jpegmini()))\\n  .setSignature(\\&quot;zBdJ64Vk\\&quot;);&quot;,&quot;status&quot;:0,&quot;statusText&quot;:&quot;Ok&quot;,&quot;displayName&quot;:&quot;React&quot;,&quot;packageName&quot;:&quot;@cloudinary\\\/react&quot;,&quot;packageStatus&quot;:&quot;&quot;,&quot;packageVersion&quot;:&quot;1.x&quot;},{&quot;sdkId&quot;:&quot;react&quot;,&quot;framework&quot;:&quot;react&quot;,&quot;language&quot;:&quot;react&quot;,&quot;rawCodeSnippet&quot;:&quot;&lt;Image publicId=\\&quot;happy_dog.jpg\\&quot; signUrl=\\&quot;true\\&quot;&gt; &lt;Transformation quality=\\&quot;jpegmini\\&quot; width=\\&quot;250\\&quot; crop=\\&quot;scale\\&quot; \\\/&gt; &lt;\\\/Image&gt;&quot;,&quot;codeSnippet&quot;:&quot;&lt;Image publicId=\\&quot;happy_dog.jpg\\&quot; signUrl=\\&quot;true\\&quot;&gt;\\n\\t&lt;Transformation quality=\\&quot;jpegmini\\&quot; width=\\&quot;250\\&quot; crop=\\&quot;scale\\&quot; \\\/&gt;\\n&lt;\\\/Image&gt;&quot;,&quot;status&quot;:0,&quot;statusText&quot;:&quot;Ok&quot;,&quot;displayName&quot;:&quot;React&quot;,&quot;packageName&quot;:&quot;cloudinary-react&quot;,&quot;packageStatus&quot;:&quot;&quot;,&quot;packageVersion&quot;:&quot;1.x&quot;},{&quot;sdkId&quot;:&quot;vue_2&quot;,&quot;framework&quot;:&quot;vue_2&quot;,&quot;language&quot;:&quot;vue&quot;,&quot;rawCodeSnippet&quot;:&quot;new CloudinaryImage(\\&quot;happy_dog.jpg\\&quot;)\\n  .resize(scale().width(250))\\n  .delivery(quality(jpegmini()))\\n  .setSignature(\\&quot;zBdJ64Vk\\&quot;);&quot;,&quot;codeSnippet&quot;:&quot;new CloudinaryImage(\\&quot;happy_dog.jpg\\&quot;)\\n  .resize(scale().width(250))\\n  .delivery(quality(jpegmini()))\\n  .setSignature(\\&quot;zBdJ64Vk\\&quot;);&quot;,&quot;status&quot;:0,&quot;statusText&quot;:&quot;Ok&quot;,&quot;displayName&quot;:&quot;Vue.js&quot;,&quot;packageName&quot;:&quot;@cloudinary\\\/vue&quot;,&quot;packageStatus&quot;:&quot;&quot;,&quot;packageVersion&quot;:&quot;1.x&quot;},{&quot;sdkId&quot;:&quot;vue&quot;,&quot;framework&quot;:&quot;vue&quot;,&quot;language&quot;:&quot;vue&quot;,&quot;rawCodeSnippet&quot;:&quot;&lt;cld-image public-id=\\&quot;happy_dog.jpg\\&quot; sign-url=\\&quot;true\\&quot;&gt; &lt;cld-transformation quality=\\&quot;jpegmini\\&quot; width=\\&quot;250\\&quot; crop=\\&quot;scale\\&quot; \\\/&gt; &lt;\\\/cld-image&gt;&quot;,&quot;codeSnippet&quot;:&quot;&lt;cld-image public-id=\\&quot;happy_dog.jpg\\&quot; sign-url=\\&quot;true\\&quot;&gt;\\n\\t&lt;cld-transformation quality=\\&quot;jpegmini\\&quot; width=\\&quot;250\\&quot; crop=\\&quot;scale\\&quot; \\\/&gt;\\n&lt;\\\/cld-image&gt;&quot;,&quot;status&quot;:0,&quot;statusText&quot;:&quot;Ok&quot;,&quot;displayName&quot;:&quot;Vue.js&quot;,&quot;packageName&quot;:&quot;cloudinary-vue&quot;,&quot;packageStatus&quot;:&quot;legacy&quot;,&quot;packageVersion&quot;:&quot;1.x&quot;},{&quot;sdkId&quot;:&quot;angular_2&quot;,&quot;framework&quot;:&quot;angular_2&quot;,&quot;language&quot;:&quot;angular&quot;,&quot;rawCodeSnippet&quot;:&quot;new CloudinaryImage(\\&quot;happy_dog.jpg\\&quot;)\\n  .resize(scale().width(250))\\n  .delivery(quality(jpegmini()))\\n  .setSignature(\\&quot;zBdJ64Vk\\&quot;);&quot;,&quot;codeSnippet&quot;:&quot;new CloudinaryImage(\\&quot;happy_dog.jpg\\&quot;)\\n  .resize(scale().width(250))\\n  .delivery(quality(jpegmini()))\\n  .setSignature(\\&quot;zBdJ64Vk\\&quot;);&quot;,&quot;status&quot;:0,&quot;statusText&quot;:&quot;Ok&quot;,&quot;displayName&quot;:&quot;Angular&quot;,&quot;packageName&quot;:&quot;@cloudinary\\\/ng&quot;,&quot;packageStatus&quot;:&quot;&quot;,&quot;packageVersion&quot;:&quot;1.x&quot;},{&quot;sdkId&quot;:&quot;angular&quot;,&quot;framework&quot;:&quot;angular&quot;,&quot;language&quot;:&quot;angular&quot;,&quot;rawCodeSnippet&quot;:&quot;&lt;cl-image public-id=\\&quot;happy_dog.jpg\\&quot; sign-url=\\&quot;true\\&quot;&gt; &lt;cl-transformation quality=\\&quot;jpegmini\\&quot; width=\\&quot;250\\&quot; crop=\\&quot;scale\\&quot;&gt; &lt;\\\/cl-transformation&gt; &lt;\\\/cl-image&gt;&quot;,&quot;codeSnippet&quot;:&quot;&lt;cl-image public-id=\\&quot;happy_dog.jpg\\&quot; sign-url=\\&quot;true\\&quot;&gt;\\n\\t&lt;cl-transformation quality=\\&quot;jpegmini\\&quot; width=\\&quot;250\\&quot; crop=\\&quot;scale\\&quot;&gt;\\n\\t&lt;\\\/cl-transformation&gt;\\n&lt;\\\/cl-image&gt;&quot;,&quot;status&quot;:0,&quot;statusText&quot;:&quot;Ok&quot;,&quot;displayName&quot;:&quot;Angular&quot;,&quot;packageName&quot;:&quot;@cloudinary\\\/angular-5.x&quot;,&quot;packageStatus&quot;:&quot;legacy&quot;,&quot;packageVersion&quot;:&quot;1.x&quot;},{&quot;sdkId&quot;:&quot;js_2&quot;,&quot;framework&quot;:&quot;js_2&quot;,&quot;language&quot;:&quot;js&quot;,&quot;rawCodeSnippet&quot;:&quot;new CloudinaryImage(\\&quot;happy_dog.jpg\\&quot;)\\n  .resize(scale().width(250))\\n  .delivery(quality(jpegmini()))\\n  .setSignature(\\&quot;zBdJ64Vk\\&quot;);&quot;,&quot;codeSnippet&quot;:&quot;new CloudinaryImage(\\&quot;happy_dog.jpg\\&quot;)\\n  .resize(scale().width(250))\\n  .delivery(quality(jpegmini()))\\n  .setSignature(\\&quot;zBdJ64Vk\\&quot;);&quot;,&quot;status&quot;:0,&quot;statusText&quot;:&quot;Ok&quot;,&quot;displayName&quot;:&quot;JS&quot;,&quot;packageName&quot;:&quot;@cloudinary\\\/url-gen&quot;,&quot;packageStatus&quot;:&quot;&quot;,&quot;packageVersion&quot;:&quot;1.x&quot;},{&quot;sdkId&quot;:&quot;js&quot;,&quot;framework&quot;:&quot;js&quot;,&quot;language&quot;:&quot;js&quot;,&quot;rawCodeSnippet&quot;:&quot;cloudinary.imageTag(&#039;happy_dog.jpg&#039;, {quality: \\&quot;jpegmini\\&quot;, width: 250, crop: \\&quot;scale\\&quot;, signUrl: true}).toHtml();&quot;,&quot;codeSnippet&quot;:&quot;cloudinary.imageTag(&#039;happy_dog.jpg&#039;, {quality: \\&quot;jpegmini\\&quot;, width: 250, crop: \\&quot;scale\\&quot;, signUrl: true}).toHtml();&quot;,&quot;status&quot;:0,&quot;statusText&quot;:&quot;Ok&quot;,&quot;displayName&quot;:&quot;JS&quot;,&quot;packageName&quot;:&quot;cloudinary-core&quot;,&quot;packageStatus&quot;:&quot;legacy&quot;,&quot;packageVersion&quot;:&quot;2.x&quot;},{&quot;sdkId&quot;:&quot;python&quot;,&quot;framework&quot;:&quot;python&quot;,&quot;language&quot;:&quot;python&quot;,&quot;rawCodeSnippet&quot;:&quot;CloudinaryImage(\\&quot;happy_dog.jpg\\&quot;).image(quality=\\&quot;jpegmini\\&quot;, width=250, crop=\\&quot;scale\\&quot;, sign_url=True)&quot;,&quot;codeSnippet&quot;:&quot;CloudinaryImage(\\&quot;happy_dog.jpg\\&quot;).image(quality=\\&quot;jpegmini\\&quot;, width=250, crop=\\&quot;scale\\&quot;, sign_url=True)&quot;,&quot;status&quot;:0,&quot;statusText&quot;:&quot;Ok&quot;,&quot;displayName&quot;:&quot;Python&quot;,&quot;packageName&quot;:&quot;cloudinary&quot;,&quot;packageStatus&quot;:&quot;&quot;,&quot;packageVersion&quot;:&quot;1.x&quot;},{&quot;sdkId&quot;:&quot;php_2&quot;,&quot;framework&quot;:&quot;php_2&quot;,&quot;language&quot;:&quot;php&quot;,&quot;rawCodeSnippet&quot;:&quot;(new ImageTag(&#039;happy_dog.jpg&#039;))\\n\\t-&gt;resize(Resize::scale()-&gt;width(250))\\n\\t-&gt;delivery(Delivery::quality(\\n\\tQuality::jpegmini()))\\n\\t-&gt;sign();&quot;,&quot;codeSnippet&quot;:&quot;(new ImageTag(&#039;happy_dog.jpg&#039;))\\n\\t-&gt;resize(Resize::scale()-&gt;width(250))\\n\\t-&gt;delivery(Delivery::quality(\\n\\tQuality::jpegmini()))\\n\\t-&gt;sign();&quot;,&quot;status&quot;:0,&quot;statusText&quot;:&quot;Ok&quot;,&quot;displayName&quot;:&quot;PHP&quot;,&quot;packageName&quot;:&quot;cloudinary_php&quot;,&quot;packageStatus&quot;:&quot;&quot;,&quot;packageVersion&quot;:&quot;3.x&quot;},{&quot;sdkId&quot;:&quot;php&quot;,&quot;framework&quot;:&quot;php&quot;,&quot;language&quot;:&quot;php&quot;,&quot;rawCodeSnippet&quot;:&quot;cl_image_tag(\\&quot;happy_dog.jpg\\&quot;, array(\\&quot;quality\\&quot;=&gt;\\&quot;jpegmini\\&quot;, \\&quot;width\\&quot;=&gt;250, \\&quot;crop\\&quot;=&gt;\\&quot;scale\\&quot;, \\&quot;sign_url\\&quot;=&gt;true))&quot;,&quot;codeSnippet&quot;:&quot;cl_image_tag(\\&quot;happy_dog.jpg\\&quot;, array(\\&quot;quality\\&quot;=&gt;\\&quot;jpegmini\\&quot;, \\&quot;width\\&quot;=&gt;250, \\&quot;crop\\&quot;=&gt;\\&quot;scale\\&quot;, \\&quot;sign_url\\&quot;=&gt;true))&quot;,&quot;status&quot;:0,&quot;statusText&quot;:&quot;Ok&quot;,&quot;displayName&quot;:&quot;PHP&quot;,&quot;packageName&quot;:&quot;cloudinary_php&quot;,&quot;packageStatus&quot;:&quot;legacy&quot;,&quot;packageVersion&quot;:&quot;1.x&quot;},{&quot;sdkId&quot;:&quot;java&quot;,&quot;framework&quot;:&quot;java&quot;,&quot;language&quot;:&quot;java&quot;,&quot;rawCodeSnippet&quot;:&quot;cloudinary.url().transformation(new Transformation().quality(\\&quot;jpegmini\\&quot;).width(250).crop(\\&quot;scale\\&quot;)).signed(true).imageTag(\\&quot;happy_dog.jpg\\&quot;);&quot;,&quot;codeSnippet&quot;:&quot;cloudinary.url().transformation(new Transformation().quality(\\&quot;jpegmini\\&quot;).width(250).crop(\\&quot;scale\\&quot;)).signed(true).imageTag(\\&quot;happy_dog.jpg\\&quot;);&quot;,&quot;status&quot;:0,&quot;statusText&quot;:&quot;Ok&quot;,&quot;displayName&quot;:&quot;Java&quot;,&quot;packageName&quot;:&quot;cloudinary&quot;,&quot;packageStatus&quot;:&quot;&quot;,&quot;packageVersion&quot;:&quot;2.x&quot;},{&quot;sdkId&quot;:&quot;ruby&quot;,&quot;framework&quot;:&quot;ruby&quot;,&quot;language&quot;:&quot;ruby&quot;,&quot;rawCodeSnippet&quot;:&quot;cl_image_tag(\\&quot;happy_dog.jpg\\&quot;, quality: \\&quot;jpegmini\\&quot;, width: 250, crop: \\&quot;scale\\&quot;, sign_url: true)&quot;,&quot;codeSnippet&quot;:&quot;cl_image_tag(\\&quot;happy_dog.jpg\\&quot;, quality: \\&quot;jpegmini\\&quot;, width: 250, crop: \\&quot;scale\\&quot;, sign_url: true)&quot;,&quot;status&quot;:0,&quot;statusText&quot;:&quot;Ok&quot;,&quot;displayName&quot;:&quot;Ruby&quot;,&quot;packageName&quot;:&quot;cloudinary&quot;,&quot;packageStatus&quot;:&quot;&quot;,&quot;packageVersion&quot;:&quot;2.x&quot;},{&quot;sdkId&quot;:&quot;csharp&quot;,&quot;framework&quot;:&quot;csharp&quot;,&quot;language&quot;:&quot;csharp&quot;,&quot;rawCodeSnippet&quot;:&quot;cloudinary.Api.UrlImgUp.Transform(new Transformation().Quality(\\&quot;jpegmini\\&quot;).Width(250).Crop(\\&quot;scale\\&quot;)).Signed(true).BuildImageTag(\\&quot;happy_dog.jpg\\&quot;)&quot;,&quot;codeSnippet&quot;:&quot;cloudinary.Api.UrlImgUp.Transform(new Transformation().Quality(\\&quot;jpegmini\\&quot;).Width(250).Crop(\\&quot;scale\\&quot;)).Signed(true).BuildImageTag(\\&quot;happy_dog.jpg\\&quot;)&quot;,&quot;status&quot;:0,&quot;statusText&quot;:&quot;Ok&quot;,&quot;displayName&quot;:&quot;.NET&quot;,&quot;packageName&quot;:&quot;CloudinaryDotNet&quot;,&quot;packageStatus&quot;:&quot;&quot;,&quot;packageVersion&quot;:&quot;1.x&quot;},{&quot;sdkId&quot;:&quot;dart&quot;,&quot;framework&quot;:&quot;dart&quot;,&quot;language&quot;:&quot;dart&quot;,&quot;rawCodeSnippet&quot;:&quot;cloudinary.image(&#039;happy_dog.jpg&#039;).transformation(Transformation()\\n\\t.resize(Resize.scale().width(250))\\n\\t.delivery(Delivery.quality(\\n\\tQuality.jpegmini()))\\n\\t.setSignature(\\&quot;zBdJ64Vk\\&quot;));&quot;,&quot;codeSnippet&quot;:&quot;cloudinary.image(&#039;happy_dog.jpg&#039;).transformation(Transformation()\\n\\t.resize(Resize.scale().width(250))\\n\\t.delivery(Delivery.quality(\\n\\tQuality.jpegmini()))\\n\\t.setSignature(\\&quot;zBdJ64Vk\\&quot;));&quot;,&quot;status&quot;:0,&quot;statusText&quot;:&quot;Ok&quot;,&quot;displayName&quot;:&quot;Dart&quot;,&quot;packageName&quot;:&quot;cloudinary_dart&quot;,&quot;packageStatus&quot;:&quot;&quot;,&quot;packageVersion&quot;:&quot;1.x&quot;},{&quot;sdkId&quot;:&quot;swift&quot;,&quot;framework&quot;:&quot;swift&quot;,&quot;language&quot;:&quot;swift&quot;,&quot;rawCodeSnippet&quot;:&quot;imageView.cldSetImage(cloudinary.createUrl().setTransformation(CLDTransformation().setQuality(\\&quot;jpegmini\\&quot;).setWidth(250).setCrop(\\&quot;scale\\&quot;)).generate(\\&quot;happy_dog.jpg\\&quot;, signUrl: true)!, cloudinary: cloudinary)&quot;,&quot;codeSnippet&quot;:&quot;imageView.cldSetImage(cloudinary.createUrl().setTransformation(CLDTransformation().setQuality(\\&quot;jpegmini\\&quot;).setWidth(250).setCrop(\\&quot;scale\\&quot;)).generate(\\&quot;happy_dog.jpg\\&quot;, signUrl: true)!, cloudinary: cloudinary)&quot;,&quot;status&quot;:0,&quot;statusText&quot;:&quot;Ok&quot;,&quot;displayName&quot;:&quot;iOS&quot;,&quot;packageName&quot;:&quot;cloudinary&quot;,&quot;packageStatus&quot;:&quot;&quot;,&quot;packageVersion&quot;:&quot;5.x&quot;},{&quot;sdkId&quot;:&quot;android&quot;,&quot;framework&quot;:&quot;android&quot;,&quot;language&quot;:&quot;android&quot;,&quot;rawCodeSnippet&quot;:&quot;MediaManager.get().url().transformation(new Transformation().quality(\\&quot;jpegmini\\&quot;).width(250).crop(\\&quot;scale\\&quot;)).signed(true).generate(\\&quot;happy_dog.jpg\\&quot;);&quot;,&quot;codeSnippet&quot;:&quot;MediaManager.get().url().transformation(new Transformation().quality(\\&quot;jpegmini\\&quot;).width(250).crop(\\&quot;scale\\&quot;)).signed(true).generate(\\&quot;happy_dog.jpg\\&quot;);&quot;,&quot;status&quot;:0,&quot;statusText&quot;:&quot;Ok&quot;,&quot;displayName&quot;:&quot;Android&quot;,&quot;packageName&quot;:&quot;cloudinary-android&quot;,&quot;packageStatus&quot;:&quot;&quot;,&quot;packageVersion&quot;:&quot;3.x&quot;},{&quot;sdkId&quot;:&quot;flutter&quot;,&quot;framework&quot;:&quot;flutter&quot;,&quot;language&quot;:&quot;flutter&quot;,&quot;rawCodeSnippet&quot;:&quot;cloudinary.image(&#039;happy_dog.jpg&#039;).transformation(Transformation()\\n\\t.resize(Resize.scale().width(250))\\n\\t.delivery(Delivery.quality(\\n\\tQuality.jpegmini()))\\n\\t.setSignature(\\&quot;zBdJ64Vk\\&quot;));&quot;,&quot;codeSnippet&quot;:&quot;cloudinary.image(&#039;happy_dog.jpg&#039;).transformation(Transformation()\\n\\t.resize(Resize.scale().width(250))\\n\\t.delivery(Delivery.quality(\\n\\tQuality.jpegmini()))\\n\\t.setSignature(\\&quot;zBdJ64Vk\\&quot;));&quot;,&quot;status&quot;:0,&quot;statusText&quot;:&quot;Ok&quot;,&quot;displayName&quot;:&quot;Flutter&quot;,&quot;packageName&quot;:&quot;cloudinary_flutter&quot;,&quot;packageStatus&quot;:&quot;&quot;,&quot;packageVersion&quot;:&quot;1.x&quot;},{&quot;sdkId&quot;:&quot;kotlin&quot;,&quot;framework&quot;:&quot;kotlin&quot;,&quot;language&quot;:&quot;kotlin&quot;,&quot;rawCodeSnippet&quot;:&quot;cloudinary.image {\\n\\tpublicId(\\&quot;happy_dog.jpg\\&quot;)\\n\\t resize(Resize.scale() { width(250) })\\n\\t delivery(Delivery.quality(\\n\\tQuality.jpegmini()))\\n\\t signature() \\n}.generate()&quot;,&quot;codeSnippet&quot;:&quot;cloudinary.image {\\n\\tpublicId(\\&quot;happy_dog.jpg\\&quot;)\\n\\t resize(Resize.scale() { width(250) })\\n\\t delivery(Delivery.quality(\\n\\tQuality.jpegmini()))\\n\\t signature() \\n}.generate()&quot;,&quot;status&quot;:0,&quot;statusText&quot;:&quot;Ok&quot;,&quot;displayName&quot;:&quot;Kotlin&quot;,&quot;packageName&quot;:&quot;kotlin-url-gen&quot;,&quot;packageStatus&quot;:&quot;&quot;,&quot;packageVersion&quot;:&quot;1.x&quot;},{&quot;sdkId&quot;:&quot;jquery&quot;,&quot;framework&quot;:&quot;jquery&quot;,&quot;language&quot;:&quot;jquery&quot;,&quot;rawCodeSnippet&quot;:&quot;$.cloudinary.image(\\&quot;happy_dog.jpg\\&quot;, {quality: \\&quot;jpegmini\\&quot;, width: 250, crop: \\&quot;scale\\&quot;})&quot;,&quot;codeSnippet&quot;:&quot;$.cloudinary.image(\\&quot;happy_dog.jpg\\&quot;, {quality: \\&quot;jpegmini\\&quot;, width: 250, crop: \\&quot;scale\\&quot;})&quot;,&quot;status&quot;:0,&quot;statusText&quot;:&quot;Ok&quot;,&quot;displayName&quot;:&quot;jQuery&quot;,&quot;packageName&quot;:&quot;cloudinary-jquery&quot;,&quot;packageStatus&quot;:&quot;&quot;,&quot;packageVersion&quot;:&quot;2.x&quot;},{&quot;sdkId&quot;:&quot;react_native&quot;,&quot;framework&quot;:&quot;react_native&quot;,&quot;language&quot;:&quot;react_native&quot;,&quot;rawCodeSnippet&quot;:&quot;new CloudinaryImage(\\&quot;happy_dog.jpg\\&quot;)\\n  .resize(scale().width(250))\\n  .delivery(quality(jpegmini()))\\n  .setSignature(\\&quot;zBdJ64Vk\\&quot;);&quot;,&quot;codeSnippet&quot;:&quot;new CloudinaryImage(\\&quot;happy_dog.jpg\\&quot;)\\n  .resize(scale().width(250))\\n  .delivery(quality(jpegmini()))\\n  .setSignature(\\&quot;zBdJ64Vk\\&quot;);&quot;,&quot;status&quot;:0,&quot;statusText&quot;:&quot;Ok&quot;,&quot;displayName&quot;:&quot;React Native&quot;,&quot;packageName&quot;:&quot;cloudinary-react-native&quot;,&quot;packageStatus&quot;:&quot;&quot;,&quot;packageVersion&quot;:&quot;1.x&quot;}]\"\n      parsed-url=\"{&quot;url&quot;:&quot;https:\\\/\\\/res.cloudinary.com\\\/demo\\\/image\\\/upload\\\/s--zBdJ64Vk--\\\/c_scale,q_jpegmini,w_250\\\/happy_dog.jpg&quot;,&quot;cloud_name&quot;:&quot;demo&quot;,&quot;host&quot;:&quot;res.cloudinary.com&quot;,&quot;type&quot;:&quot;upload&quot;,&quot;resource_type&quot;:&quot;image&quot;,&quot;transformation&quot;:[{&quot;crop_mode&quot;:&quot;scale&quot;,&quot;quality&quot;:&quot;jpegmini&quot;,&quot;width&quot;:&quot;250&quot;}],&quot;transformation_string&quot;:&quot;c_scale,q_jpegmini,w_250&quot;,&quot;url_suffix&quot;:&quot;&quot;,&quot;version&quot;:&quot;&quot;,&quot;secure&quot;:true,&quot;public_id&quot;:&quot;happy_dog.jpg&quot;,&quot;extension&quot;:&quot;jpg&quot;,&quot;format&quot;:&quot;jpg&quot;,&quot;format_code&quot;:true,&quot;url_code&quot;:false,&quot;signature&quot;:&quot;zBdJ64Vk&quot;,&quot;private_cdn&quot;:false,&quot;result_asset_type&quot;:&quot;image&quot;}\"\n      with-url=\"true\"\n    >\n      <span class=\"u-visually-hidden\">Loading code examples<\/span>\n    <\/cld-code-widget><a class=\"c-image-link\" href=\"https:\/\/res.cloudinary.com\/demo\/image\/upload\/s--zBdJ64Vk--\/c_scale,q_jpegmini,w_250\/happy_dog.jpg\" target=\"_blank\"><img decoding=\"async\" src=\"https:\/\/res.cloudinary.com\/demo\/image\/upload\/s--zBdJ64Vk--\/c_scale,q_jpegmini,w_250\/happy_dog.jpg\" alt=\"JPEGMini optimized photo\" loading=\"lazy\" class=\"c-transformed-asset\"  width=\"250\" height=\"358\"\/><\/a><\/p>\n<p>As you can see, the generated photo looks identical to the original photo, which weighs so much more.<\/p>\n<p>The thumbnails above were generated on-the-fly by Cloudinary, by specifying the <code>width<\/code> and <code>height<\/code> parameters &#8211; this is an easy way to automatically create thumbnails of large images for your site or mobile app.<\/p>\n<p>Note that the <strong>250&#215;358<\/strong> thumbnail optimized by JPEGmini weighs only <strong>15.9KB<\/strong>, which means saving almost <strong>50%<\/strong> of file size compared to a 90 quality version of the same thumbnail which weighs <strong>30.2KB<\/strong>, while the results seem identical to the human eye.<\/p>\n<h2>Ensuring high visual quality for all images<\/h2>\n<p>Reducing file size, and thus improving user experience and reducing bandwidth costs is an important goal. In parallel, you\u2019ll also want to make sure that all photos are visually clear and are displayed with acceptable (or higher) quality. JPEGmini\u2019s JPEG optimization reduces JPEG quality and image size, but only up to the point at which the JPEG still looks good to the human eye. It analyzes each image and finds the quality threshold required to keep this specific image looking good, and applies that level of quality to the image.<\/p>\n<p>For example, the following image was uploaded to Cloudinary with the ID of \u2018blue_sky\u2019. This image is 310&#215;207 and weighs <strong>87.1KB<\/strong>.<\/p>\n<p><cld-code-widget\n      class=\" c-code-widget\"\n      snippets=\"[{&quot;sdkId&quot;:&quot;nodejs&quot;,&quot;framework&quot;:&quot;nodejs&quot;,&quot;language&quot;:&quot;nodejs&quot;,&quot;rawCodeSnippet&quot;:&quot;cloudinary.image(\\&quot;blue_sky.jpg\\&quot;)&quot;,&quot;codeSnippet&quot;:&quot;cloudinary.image(\\&quot;blue_sky.jpg\\&quot;)&quot;,&quot;status&quot;:0,&quot;statusText&quot;:&quot;Ok&quot;,&quot;displayName&quot;:&quot;Node.js&quot;,&quot;packageName&quot;:&quot;cloudinary&quot;,&quot;packageStatus&quot;:&quot;&quot;,&quot;packageVersion&quot;:&quot;2.x&quot;},{&quot;sdkId&quot;:&quot;react_2&quot;,&quot;framework&quot;:&quot;react_2&quot;,&quot;language&quot;:&quot;react&quot;,&quot;rawCodeSnippet&quot;:&quot;new CloudinaryImage(\\&quot;blue_sky.jpg\\&quot;);&quot;,&quot;codeSnippet&quot;:&quot;new CloudinaryImage(\\&quot;blue_sky.jpg\\&quot;);&quot;,&quot;status&quot;:0,&quot;statusText&quot;:&quot;Ok&quot;,&quot;displayName&quot;:&quot;React&quot;,&quot;packageName&quot;:&quot;@cloudinary\\\/react&quot;,&quot;packageStatus&quot;:&quot;&quot;,&quot;packageVersion&quot;:&quot;1.x&quot;},{&quot;sdkId&quot;:&quot;react&quot;,&quot;framework&quot;:&quot;react&quot;,&quot;language&quot;:&quot;react&quot;,&quot;rawCodeSnippet&quot;:&quot;&lt;Image publicId=\\&quot;blue_sky.jpg\\&quot; &gt; &lt;\\\/Image&gt;&quot;,&quot;codeSnippet&quot;:&quot;&lt;Image publicId=\\&quot;blue_sky.jpg\\&quot; &gt;\\n\\n&lt;\\\/Image&gt;&quot;,&quot;status&quot;:0,&quot;statusText&quot;:&quot;Ok&quot;,&quot;displayName&quot;:&quot;React&quot;,&quot;packageName&quot;:&quot;cloudinary-react&quot;,&quot;packageStatus&quot;:&quot;&quot;,&quot;packageVersion&quot;:&quot;1.x&quot;},{&quot;sdkId&quot;:&quot;vue_2&quot;,&quot;framework&quot;:&quot;vue_2&quot;,&quot;language&quot;:&quot;vue&quot;,&quot;rawCodeSnippet&quot;:&quot;new CloudinaryImage(\\&quot;blue_sky.jpg\\&quot;);&quot;,&quot;codeSnippet&quot;:&quot;new CloudinaryImage(\\&quot;blue_sky.jpg\\&quot;);&quot;,&quot;status&quot;:0,&quot;statusText&quot;:&quot;Ok&quot;,&quot;displayName&quot;:&quot;Vue.js&quot;,&quot;packageName&quot;:&quot;@cloudinary\\\/vue&quot;,&quot;packageStatus&quot;:&quot;&quot;,&quot;packageVersion&quot;:&quot;1.x&quot;},{&quot;sdkId&quot;:&quot;vue&quot;,&quot;framework&quot;:&quot;vue&quot;,&quot;language&quot;:&quot;vue&quot;,&quot;rawCodeSnippet&quot;:&quot;&lt;cld-image public-id=\\&quot;blue_sky.jpg\\&quot; &gt; &lt;\\\/cld-image&gt;&quot;,&quot;codeSnippet&quot;:&quot;&lt;cld-image public-id=\\&quot;blue_sky.jpg\\&quot; &gt;\\n\\n&lt;\\\/cld-image&gt;&quot;,&quot;status&quot;:0,&quot;statusText&quot;:&quot;Ok&quot;,&quot;displayName&quot;:&quot;Vue.js&quot;,&quot;packageName&quot;:&quot;cloudinary-vue&quot;,&quot;packageStatus&quot;:&quot;legacy&quot;,&quot;packageVersion&quot;:&quot;1.x&quot;},{&quot;sdkId&quot;:&quot;angular_2&quot;,&quot;framework&quot;:&quot;angular_2&quot;,&quot;language&quot;:&quot;angular&quot;,&quot;rawCodeSnippet&quot;:&quot;new CloudinaryImage(\\&quot;blue_sky.jpg\\&quot;);&quot;,&quot;codeSnippet&quot;:&quot;new CloudinaryImage(\\&quot;blue_sky.jpg\\&quot;);&quot;,&quot;status&quot;:0,&quot;statusText&quot;:&quot;Ok&quot;,&quot;displayName&quot;:&quot;Angular&quot;,&quot;packageName&quot;:&quot;@cloudinary\\\/ng&quot;,&quot;packageStatus&quot;:&quot;&quot;,&quot;packageVersion&quot;:&quot;1.x&quot;},{&quot;sdkId&quot;:&quot;angular&quot;,&quot;framework&quot;:&quot;angular&quot;,&quot;language&quot;:&quot;angular&quot;,&quot;rawCodeSnippet&quot;:&quot;&lt;cl-image public-id=\\&quot;blue_sky.jpg\\&quot; &gt; &lt;\\\/cl-image&gt;&quot;,&quot;codeSnippet&quot;:&quot;&lt;cl-image public-id=\\&quot;blue_sky.jpg\\&quot; &gt;\\n\\n&lt;\\\/cl-image&gt;&quot;,&quot;status&quot;:0,&quot;statusText&quot;:&quot;Ok&quot;,&quot;displayName&quot;:&quot;Angular&quot;,&quot;packageName&quot;:&quot;@cloudinary\\\/angular-5.x&quot;,&quot;packageStatus&quot;:&quot;legacy&quot;,&quot;packageVersion&quot;:&quot;1.x&quot;},{&quot;sdkId&quot;:&quot;js_2&quot;,&quot;framework&quot;:&quot;js_2&quot;,&quot;language&quot;:&quot;js&quot;,&quot;rawCodeSnippet&quot;:&quot;new CloudinaryImage(\\&quot;blue_sky.jpg\\&quot;);&quot;,&quot;codeSnippet&quot;:&quot;new CloudinaryImage(\\&quot;blue_sky.jpg\\&quot;);&quot;,&quot;status&quot;:0,&quot;statusText&quot;:&quot;Ok&quot;,&quot;displayName&quot;:&quot;JS&quot;,&quot;packageName&quot;:&quot;@cloudinary\\\/url-gen&quot;,&quot;packageStatus&quot;:&quot;&quot;,&quot;packageVersion&quot;:&quot;1.x&quot;},{&quot;sdkId&quot;:&quot;js&quot;,&quot;framework&quot;:&quot;js&quot;,&quot;language&quot;:&quot;js&quot;,&quot;rawCodeSnippet&quot;:&quot;cloudinary.imageTag(&#039;blue_sky.jpg&#039;).toHtml();&quot;,&quot;codeSnippet&quot;:&quot;cloudinary.imageTag(&#039;blue_sky.jpg&#039;).toHtml();&quot;,&quot;status&quot;:0,&quot;statusText&quot;:&quot;Ok&quot;,&quot;displayName&quot;:&quot;JS&quot;,&quot;packageName&quot;:&quot;cloudinary-core&quot;,&quot;packageStatus&quot;:&quot;legacy&quot;,&quot;packageVersion&quot;:&quot;2.x&quot;},{&quot;sdkId&quot;:&quot;python&quot;,&quot;framework&quot;:&quot;python&quot;,&quot;language&quot;:&quot;python&quot;,&quot;rawCodeSnippet&quot;:&quot;CloudinaryImage(\\&quot;blue_sky.jpg\\&quot;).image()&quot;,&quot;codeSnippet&quot;:&quot;CloudinaryImage(\\&quot;blue_sky.jpg\\&quot;).image()&quot;,&quot;status&quot;:0,&quot;statusText&quot;:&quot;Ok&quot;,&quot;displayName&quot;:&quot;Python&quot;,&quot;packageName&quot;:&quot;cloudinary&quot;,&quot;packageStatus&quot;:&quot;&quot;,&quot;packageVersion&quot;:&quot;1.x&quot;},{&quot;sdkId&quot;:&quot;php_2&quot;,&quot;framework&quot;:&quot;php_2&quot;,&quot;language&quot;:&quot;php&quot;,&quot;rawCodeSnippet&quot;:&quot;(new ImageTag(&#039;blue_sky.jpg&#039;));&quot;,&quot;codeSnippet&quot;:&quot;(new ImageTag(&#039;blue_sky.jpg&#039;));&quot;,&quot;status&quot;:0,&quot;statusText&quot;:&quot;Ok&quot;,&quot;displayName&quot;:&quot;PHP&quot;,&quot;packageName&quot;:&quot;cloudinary_php&quot;,&quot;packageStatus&quot;:&quot;&quot;,&quot;packageVersion&quot;:&quot;3.x&quot;},{&quot;sdkId&quot;:&quot;php&quot;,&quot;framework&quot;:&quot;php&quot;,&quot;language&quot;:&quot;php&quot;,&quot;rawCodeSnippet&quot;:&quot;cl_image_tag(\\&quot;blue_sky.jpg\\&quot;)&quot;,&quot;codeSnippet&quot;:&quot;cl_image_tag(\\&quot;blue_sky.jpg\\&quot;)&quot;,&quot;status&quot;:0,&quot;statusText&quot;:&quot;Ok&quot;,&quot;displayName&quot;:&quot;PHP&quot;,&quot;packageName&quot;:&quot;cloudinary_php&quot;,&quot;packageStatus&quot;:&quot;legacy&quot;,&quot;packageVersion&quot;:&quot;1.x&quot;},{&quot;sdkId&quot;:&quot;java&quot;,&quot;framework&quot;:&quot;java&quot;,&quot;language&quot;:&quot;java&quot;,&quot;rawCodeSnippet&quot;:&quot;cloudinary.url().transformation(new Transformation().imageTag(\\&quot;blue_sky.jpg\\&quot;);&quot;,&quot;codeSnippet&quot;:&quot;cloudinary.url().transformation(new Transformation().imageTag(\\&quot;blue_sky.jpg\\&quot;);&quot;,&quot;status&quot;:0,&quot;statusText&quot;:&quot;Ok&quot;,&quot;displayName&quot;:&quot;Java&quot;,&quot;packageName&quot;:&quot;cloudinary&quot;,&quot;packageStatus&quot;:&quot;&quot;,&quot;packageVersion&quot;:&quot;2.x&quot;},{&quot;sdkId&quot;:&quot;ruby&quot;,&quot;framework&quot;:&quot;ruby&quot;,&quot;language&quot;:&quot;ruby&quot;,&quot;rawCodeSnippet&quot;:&quot;cl_image_tag(\\&quot;blue_sky.jpg\\&quot;)&quot;,&quot;codeSnippet&quot;:&quot;cl_image_tag(\\&quot;blue_sky.jpg\\&quot;)&quot;,&quot;status&quot;:0,&quot;statusText&quot;:&quot;Ok&quot;,&quot;displayName&quot;:&quot;Ruby&quot;,&quot;packageName&quot;:&quot;cloudinary&quot;,&quot;packageStatus&quot;:&quot;&quot;,&quot;packageVersion&quot;:&quot;2.x&quot;},{&quot;sdkId&quot;:&quot;csharp&quot;,&quot;framework&quot;:&quot;csharp&quot;,&quot;language&quot;:&quot;csharp&quot;,&quot;rawCodeSnippet&quot;:&quot;cloudinary.Api.UrlImgUp.BuildImageTag(\\&quot;blue_sky.jpg\\&quot;)&quot;,&quot;codeSnippet&quot;:&quot;cloudinary.Api.UrlImgUp.BuildImageTag(\\&quot;blue_sky.jpg\\&quot;)&quot;,&quot;status&quot;:0,&quot;statusText&quot;:&quot;Ok&quot;,&quot;displayName&quot;:&quot;.NET&quot;,&quot;packageName&quot;:&quot;CloudinaryDotNet&quot;,&quot;packageStatus&quot;:&quot;&quot;,&quot;packageVersion&quot;:&quot;1.x&quot;},{&quot;sdkId&quot;:&quot;dart&quot;,&quot;framework&quot;:&quot;dart&quot;,&quot;language&quot;:&quot;dart&quot;,&quot;rawCodeSnippet&quot;:&quot;cloudinary.image(&#039;blue_sky.jpg&#039;).transformation(Transformation());&quot;,&quot;codeSnippet&quot;:&quot;cloudinary.image(&#039;blue_sky.jpg&#039;).transformation(Transformation());&quot;,&quot;status&quot;:0,&quot;statusText&quot;:&quot;Ok&quot;,&quot;displayName&quot;:&quot;Dart&quot;,&quot;packageName&quot;:&quot;cloudinary_dart&quot;,&quot;packageStatus&quot;:&quot;&quot;,&quot;packageVersion&quot;:&quot;1.x&quot;},{&quot;sdkId&quot;:&quot;swift&quot;,&quot;framework&quot;:&quot;swift&quot;,&quot;language&quot;:&quot;swift&quot;,&quot;rawCodeSnippet&quot;:&quot;imageView.cldSetImage(cloudinary.createUrl().generate(\\&quot;blue_sky.jpg\\&quot;)!, cloudinary: cloudinary)&quot;,&quot;codeSnippet&quot;:&quot;imageView.cldSetImage(cloudinary.createUrl().generate(\\&quot;blue_sky.jpg\\&quot;)!, cloudinary: cloudinary)&quot;,&quot;status&quot;:0,&quot;statusText&quot;:&quot;Ok&quot;,&quot;displayName&quot;:&quot;iOS&quot;,&quot;packageName&quot;:&quot;cloudinary&quot;,&quot;packageStatus&quot;:&quot;&quot;,&quot;packageVersion&quot;:&quot;5.x&quot;},{&quot;sdkId&quot;:&quot;android&quot;,&quot;framework&quot;:&quot;android&quot;,&quot;language&quot;:&quot;android&quot;,&quot;rawCodeSnippet&quot;:&quot;MediaManager.get().url().transformation(new Transformation().generate(\\&quot;blue_sky.jpg\\&quot;);&quot;,&quot;codeSnippet&quot;:&quot;MediaManager.get().url().transformation(new Transformation().generate(\\&quot;blue_sky.jpg\\&quot;);&quot;,&quot;status&quot;:0,&quot;statusText&quot;:&quot;Ok&quot;,&quot;displayName&quot;:&quot;Android&quot;,&quot;packageName&quot;:&quot;cloudinary-android&quot;,&quot;packageStatus&quot;:&quot;&quot;,&quot;packageVersion&quot;:&quot;3.x&quot;},{&quot;sdkId&quot;:&quot;flutter&quot;,&quot;framework&quot;:&quot;flutter&quot;,&quot;language&quot;:&quot;flutter&quot;,&quot;rawCodeSnippet&quot;:&quot;cloudinary.image(&#039;blue_sky.jpg&#039;).transformation(Transformation());&quot;,&quot;codeSnippet&quot;:&quot;cloudinary.image(&#039;blue_sky.jpg&#039;).transformation(Transformation());&quot;,&quot;status&quot;:0,&quot;statusText&quot;:&quot;Ok&quot;,&quot;displayName&quot;:&quot;Flutter&quot;,&quot;packageName&quot;:&quot;cloudinary_flutter&quot;,&quot;packageStatus&quot;:&quot;&quot;,&quot;packageVersion&quot;:&quot;1.x&quot;},{&quot;sdkId&quot;:&quot;kotlin&quot;,&quot;framework&quot;:&quot;kotlin&quot;,&quot;language&quot;:&quot;kotlin&quot;,&quot;rawCodeSnippet&quot;:&quot;cloudinary.image {\\n\\tpublicId(\\&quot;blue_sky.jpg\\&quot;) \\n}.generate()&quot;,&quot;codeSnippet&quot;:&quot;cloudinary.image {\\n\\tpublicId(\\&quot;blue_sky.jpg\\&quot;) \\n}.generate()&quot;,&quot;status&quot;:0,&quot;statusText&quot;:&quot;Ok&quot;,&quot;displayName&quot;:&quot;Kotlin&quot;,&quot;packageName&quot;:&quot;kotlin-url-gen&quot;,&quot;packageStatus&quot;:&quot;&quot;,&quot;packageVersion&quot;:&quot;1.x&quot;},{&quot;sdkId&quot;:&quot;jquery&quot;,&quot;framework&quot;:&quot;jquery&quot;,&quot;language&quot;:&quot;jquery&quot;,&quot;rawCodeSnippet&quot;:&quot;$.cloudinary.image(\\&quot;blue_sky.jpg\\&quot;)&quot;,&quot;codeSnippet&quot;:&quot;$.cloudinary.image(\\&quot;blue_sky.jpg\\&quot;)&quot;,&quot;status&quot;:0,&quot;statusText&quot;:&quot;Ok&quot;,&quot;displayName&quot;:&quot;jQuery&quot;,&quot;packageName&quot;:&quot;cloudinary-jquery&quot;,&quot;packageStatus&quot;:&quot;&quot;,&quot;packageVersion&quot;:&quot;2.x&quot;},{&quot;sdkId&quot;:&quot;react_native&quot;,&quot;framework&quot;:&quot;react_native&quot;,&quot;language&quot;:&quot;react_native&quot;,&quot;rawCodeSnippet&quot;:&quot;new CloudinaryImage(\\&quot;blue_sky.jpg\\&quot;);&quot;,&quot;codeSnippet&quot;:&quot;new CloudinaryImage(\\&quot;blue_sky.jpg\\&quot;);&quot;,&quot;status&quot;:0,&quot;statusText&quot;:&quot;Ok&quot;,&quot;displayName&quot;:&quot;React Native&quot;,&quot;packageName&quot;:&quot;cloudinary-react-native&quot;,&quot;packageStatus&quot;:&quot;&quot;,&quot;packageVersion&quot;:&quot;1.x&quot;}]\"\n      parsed-url=\"{&quot;url&quot;:&quot;https:\\\/\\\/res.cloudinary.com\\\/demo\\\/image\\\/upload\\\/blue_sky.jpg&quot;,&quot;cloud_name&quot;:&quot;demo&quot;,&quot;host&quot;:&quot;res.cloudinary.com&quot;,&quot;type&quot;:&quot;upload&quot;,&quot;resource_type&quot;:&quot;image&quot;,&quot;transformation&quot;:[],&quot;transformation_string&quot;:&quot;&quot;,&quot;url_suffix&quot;:&quot;&quot;,&quot;version&quot;:&quot;&quot;,&quot;secure&quot;:true,&quot;public_id&quot;:&quot;blue_sky.jpg&quot;,&quot;extension&quot;:&quot;jpg&quot;,&quot;format&quot;:&quot;jpg&quot;,&quot;format_code&quot;:true,&quot;url_code&quot;:false,&quot;signature&quot;:&quot;&quot;,&quot;private_cdn&quot;:false,&quot;result_asset_type&quot;:&quot;image&quot;}\"\n      with-url=\"true\"\n    >\n      <span class=\"u-visually-hidden\">Loading code examples<\/span>\n    <\/cld-code-widget><a class=\"c-image-link\" href=\"https:\/\/res.cloudinary.com\/demo\/image\/upload\/blue_sky.jpg\" target=\"_blank\"><img decoding=\"async\" src=\"https:\/\/res.cloudinary.com\/demo\/image\/upload\/blue_sky.jpg\" alt=\"Original blue sky photo\" loading=\"lazy\" class=\"c-transformed-asset\"  width=\"310\" height=\"207\"\/><\/a><\/p>\n<p>Trying to convert the image to a JPEG of quality 80 indeed reduces file size to <strong>17.5KB<\/strong>, which saves <strong>80%<\/strong> of the original file size. However, the result doesn\u2019t look good enough. The sky\u2019s gradient has some \u201cnoise\u201d, and so do the white lines and text.<\/p>\n<p><cld-code-widget\n      class=\" c-code-widget\"\n      snippets=\"[{&quot;sdkId&quot;:&quot;nodejs&quot;,&quot;framework&quot;:&quot;nodejs&quot;,&quot;language&quot;:&quot;nodejs&quot;,&quot;rawCodeSnippet&quot;:&quot;cloudinary.image(\\&quot;blue_sky.jpg\\&quot;, {quality: 80})&quot;,&quot;codeSnippet&quot;:&quot;cloudinary.image(\\&quot;blue_sky.jpg\\&quot;, {quality: 80})&quot;,&quot;status&quot;:0,&quot;statusText&quot;:&quot;Ok&quot;,&quot;displayName&quot;:&quot;Node.js&quot;,&quot;packageName&quot;:&quot;cloudinary&quot;,&quot;packageStatus&quot;:&quot;&quot;,&quot;packageVersion&quot;:&quot;2.x&quot;},{&quot;sdkId&quot;:&quot;react_2&quot;,&quot;framework&quot;:&quot;react_2&quot;,&quot;language&quot;:&quot;react&quot;,&quot;rawCodeSnippet&quot;:&quot;new CloudinaryImage(\\&quot;blue_sky.jpg\\&quot;).delivery(quality(80));&quot;,&quot;codeSnippet&quot;:&quot;new CloudinaryImage(\\&quot;blue_sky.jpg\\&quot;).delivery(quality(80));&quot;,&quot;status&quot;:0,&quot;statusText&quot;:&quot;Ok&quot;,&quot;displayName&quot;:&quot;React&quot;,&quot;packageName&quot;:&quot;@cloudinary\\\/react&quot;,&quot;packageStatus&quot;:&quot;&quot;,&quot;packageVersion&quot;:&quot;1.x&quot;},{&quot;sdkId&quot;:&quot;react&quot;,&quot;framework&quot;:&quot;react&quot;,&quot;language&quot;:&quot;react&quot;,&quot;rawCodeSnippet&quot;:&quot;&lt;Image publicId=\\&quot;blue_sky.jpg\\&quot; &gt; &lt;Transformation quality=\\&quot;80\\&quot; \\\/&gt; &lt;\\\/Image&gt;&quot;,&quot;codeSnippet&quot;:&quot;&lt;Image publicId=\\&quot;blue_sky.jpg\\&quot; &gt;\\n\\t&lt;Transformation quality=\\&quot;80\\&quot; \\\/&gt;\\n&lt;\\\/Image&gt;&quot;,&quot;status&quot;:0,&quot;statusText&quot;:&quot;Ok&quot;,&quot;displayName&quot;:&quot;React&quot;,&quot;packageName&quot;:&quot;cloudinary-react&quot;,&quot;packageStatus&quot;:&quot;&quot;,&quot;packageVersion&quot;:&quot;1.x&quot;},{&quot;sdkId&quot;:&quot;vue_2&quot;,&quot;framework&quot;:&quot;vue_2&quot;,&quot;language&quot;:&quot;vue&quot;,&quot;rawCodeSnippet&quot;:&quot;new CloudinaryImage(\\&quot;blue_sky.jpg\\&quot;).delivery(quality(80));&quot;,&quot;codeSnippet&quot;:&quot;new CloudinaryImage(\\&quot;blue_sky.jpg\\&quot;).delivery(quality(80));&quot;,&quot;status&quot;:0,&quot;statusText&quot;:&quot;Ok&quot;,&quot;displayName&quot;:&quot;Vue.js&quot;,&quot;packageName&quot;:&quot;@cloudinary\\\/vue&quot;,&quot;packageStatus&quot;:&quot;&quot;,&quot;packageVersion&quot;:&quot;1.x&quot;},{&quot;sdkId&quot;:&quot;vue&quot;,&quot;framework&quot;:&quot;vue&quot;,&quot;language&quot;:&quot;vue&quot;,&quot;rawCodeSnippet&quot;:&quot;&lt;cld-image public-id=\\&quot;blue_sky.jpg\\&quot; &gt; &lt;cld-transformation quality=\\&quot;80\\&quot; \\\/&gt; &lt;\\\/cld-image&gt;&quot;,&quot;codeSnippet&quot;:&quot;&lt;cld-image public-id=\\&quot;blue_sky.jpg\\&quot; &gt;\\n\\t&lt;cld-transformation quality=\\&quot;80\\&quot; \\\/&gt;\\n&lt;\\\/cld-image&gt;&quot;,&quot;status&quot;:0,&quot;statusText&quot;:&quot;Ok&quot;,&quot;displayName&quot;:&quot;Vue.js&quot;,&quot;packageName&quot;:&quot;cloudinary-vue&quot;,&quot;packageStatus&quot;:&quot;legacy&quot;,&quot;packageVersion&quot;:&quot;1.x&quot;},{&quot;sdkId&quot;:&quot;angular_2&quot;,&quot;framework&quot;:&quot;angular_2&quot;,&quot;language&quot;:&quot;angular&quot;,&quot;rawCodeSnippet&quot;:&quot;new CloudinaryImage(\\&quot;blue_sky.jpg\\&quot;).delivery(quality(80));&quot;,&quot;codeSnippet&quot;:&quot;new CloudinaryImage(\\&quot;blue_sky.jpg\\&quot;).delivery(quality(80));&quot;,&quot;status&quot;:0,&quot;statusText&quot;:&quot;Ok&quot;,&quot;displayName&quot;:&quot;Angular&quot;,&quot;packageName&quot;:&quot;@cloudinary\\\/ng&quot;,&quot;packageStatus&quot;:&quot;&quot;,&quot;packageVersion&quot;:&quot;1.x&quot;},{&quot;sdkId&quot;:&quot;angular&quot;,&quot;framework&quot;:&quot;angular&quot;,&quot;language&quot;:&quot;angular&quot;,&quot;rawCodeSnippet&quot;:&quot;&lt;cl-image public-id=\\&quot;blue_sky.jpg\\&quot; &gt; &lt;cl-transformation quality=\\&quot;80\\&quot;&gt; &lt;\\\/cl-transformation&gt; &lt;\\\/cl-image&gt;&quot;,&quot;codeSnippet&quot;:&quot;&lt;cl-image public-id=\\&quot;blue_sky.jpg\\&quot; &gt;\\n\\t&lt;cl-transformation quality=\\&quot;80\\&quot;&gt;\\n\\t&lt;\\\/cl-transformation&gt;\\n&lt;\\\/cl-image&gt;&quot;,&quot;status&quot;:0,&quot;statusText&quot;:&quot;Ok&quot;,&quot;displayName&quot;:&quot;Angular&quot;,&quot;packageName&quot;:&quot;@cloudinary\\\/angular-5.x&quot;,&quot;packageStatus&quot;:&quot;legacy&quot;,&quot;packageVersion&quot;:&quot;1.x&quot;},{&quot;sdkId&quot;:&quot;js_2&quot;,&quot;framework&quot;:&quot;js_2&quot;,&quot;language&quot;:&quot;js&quot;,&quot;rawCodeSnippet&quot;:&quot;new CloudinaryImage(\\&quot;blue_sky.jpg\\&quot;).delivery(quality(80));&quot;,&quot;codeSnippet&quot;:&quot;new CloudinaryImage(\\&quot;blue_sky.jpg\\&quot;).delivery(quality(80));&quot;,&quot;status&quot;:0,&quot;statusText&quot;:&quot;Ok&quot;,&quot;displayName&quot;:&quot;JS&quot;,&quot;packageName&quot;:&quot;@cloudinary\\\/url-gen&quot;,&quot;packageStatus&quot;:&quot;&quot;,&quot;packageVersion&quot;:&quot;1.x&quot;},{&quot;sdkId&quot;:&quot;js&quot;,&quot;framework&quot;:&quot;js&quot;,&quot;language&quot;:&quot;js&quot;,&quot;rawCodeSnippet&quot;:&quot;cloudinary.imageTag(&#039;blue_sky.jpg&#039;, {quality: 80}).toHtml();&quot;,&quot;codeSnippet&quot;:&quot;cloudinary.imageTag(&#039;blue_sky.jpg&#039;, {quality: 80}).toHtml();&quot;,&quot;status&quot;:0,&quot;statusText&quot;:&quot;Ok&quot;,&quot;displayName&quot;:&quot;JS&quot;,&quot;packageName&quot;:&quot;cloudinary-core&quot;,&quot;packageStatus&quot;:&quot;legacy&quot;,&quot;packageVersion&quot;:&quot;2.x&quot;},{&quot;sdkId&quot;:&quot;python&quot;,&quot;framework&quot;:&quot;python&quot;,&quot;language&quot;:&quot;python&quot;,&quot;rawCodeSnippet&quot;:&quot;CloudinaryImage(\\&quot;blue_sky.jpg\\&quot;).image(quality=80)&quot;,&quot;codeSnippet&quot;:&quot;CloudinaryImage(\\&quot;blue_sky.jpg\\&quot;).image(quality=80)&quot;,&quot;status&quot;:0,&quot;statusText&quot;:&quot;Ok&quot;,&quot;displayName&quot;:&quot;Python&quot;,&quot;packageName&quot;:&quot;cloudinary&quot;,&quot;packageStatus&quot;:&quot;&quot;,&quot;packageVersion&quot;:&quot;1.x&quot;},{&quot;sdkId&quot;:&quot;php_2&quot;,&quot;framework&quot;:&quot;php_2&quot;,&quot;language&quot;:&quot;php&quot;,&quot;rawCodeSnippet&quot;:&quot;(new ImageTag(&#039;blue_sky.jpg&#039;))\\n\\t-&gt;delivery(Delivery::quality(80));&quot;,&quot;codeSnippet&quot;:&quot;(new ImageTag(&#039;blue_sky.jpg&#039;))\\n\\t-&gt;delivery(Delivery::quality(80));&quot;,&quot;status&quot;:0,&quot;statusText&quot;:&quot;Ok&quot;,&quot;displayName&quot;:&quot;PHP&quot;,&quot;packageName&quot;:&quot;cloudinary_php&quot;,&quot;packageStatus&quot;:&quot;&quot;,&quot;packageVersion&quot;:&quot;3.x&quot;},{&quot;sdkId&quot;:&quot;php&quot;,&quot;framework&quot;:&quot;php&quot;,&quot;language&quot;:&quot;php&quot;,&quot;rawCodeSnippet&quot;:&quot;cl_image_tag(\\&quot;blue_sky.jpg\\&quot;, array(\\&quot;quality\\&quot;=&gt;80))&quot;,&quot;codeSnippet&quot;:&quot;cl_image_tag(\\&quot;blue_sky.jpg\\&quot;, array(\\&quot;quality\\&quot;=&gt;80))&quot;,&quot;status&quot;:0,&quot;statusText&quot;:&quot;Ok&quot;,&quot;displayName&quot;:&quot;PHP&quot;,&quot;packageName&quot;:&quot;cloudinary_php&quot;,&quot;packageStatus&quot;:&quot;legacy&quot;,&quot;packageVersion&quot;:&quot;1.x&quot;},{&quot;sdkId&quot;:&quot;java&quot;,&quot;framework&quot;:&quot;java&quot;,&quot;language&quot;:&quot;java&quot;,&quot;rawCodeSnippet&quot;:&quot;cloudinary.url().transformation(new Transformation().quality(80)).imageTag(\\&quot;blue_sky.jpg\\&quot;);&quot;,&quot;codeSnippet&quot;:&quot;cloudinary.url().transformation(new Transformation().quality(80)).imageTag(\\&quot;blue_sky.jpg\\&quot;);&quot;,&quot;status&quot;:0,&quot;statusText&quot;:&quot;Ok&quot;,&quot;displayName&quot;:&quot;Java&quot;,&quot;packageName&quot;:&quot;cloudinary&quot;,&quot;packageStatus&quot;:&quot;&quot;,&quot;packageVersion&quot;:&quot;2.x&quot;},{&quot;sdkId&quot;:&quot;ruby&quot;,&quot;framework&quot;:&quot;ruby&quot;,&quot;language&quot;:&quot;ruby&quot;,&quot;rawCodeSnippet&quot;:&quot;cl_image_tag(\\&quot;blue_sky.jpg\\&quot;, quality: 80)&quot;,&quot;codeSnippet&quot;:&quot;cl_image_tag(\\&quot;blue_sky.jpg\\&quot;, quality: 80)&quot;,&quot;status&quot;:0,&quot;statusText&quot;:&quot;Ok&quot;,&quot;displayName&quot;:&quot;Ruby&quot;,&quot;packageName&quot;:&quot;cloudinary&quot;,&quot;packageStatus&quot;:&quot;&quot;,&quot;packageVersion&quot;:&quot;2.x&quot;},{&quot;sdkId&quot;:&quot;csharp&quot;,&quot;framework&quot;:&quot;csharp&quot;,&quot;language&quot;:&quot;csharp&quot;,&quot;rawCodeSnippet&quot;:&quot;cloudinary.Api.UrlImgUp.Transform(new Transformation().Quality(80)).BuildImageTag(\\&quot;blue_sky.jpg\\&quot;)&quot;,&quot;codeSnippet&quot;:&quot;cloudinary.Api.UrlImgUp.Transform(new Transformation().Quality(80)).BuildImageTag(\\&quot;blue_sky.jpg\\&quot;)&quot;,&quot;status&quot;:0,&quot;statusText&quot;:&quot;Ok&quot;,&quot;displayName&quot;:&quot;.NET&quot;,&quot;packageName&quot;:&quot;CloudinaryDotNet&quot;,&quot;packageStatus&quot;:&quot;&quot;,&quot;packageVersion&quot;:&quot;1.x&quot;},{&quot;sdkId&quot;:&quot;dart&quot;,&quot;framework&quot;:&quot;dart&quot;,&quot;language&quot;:&quot;dart&quot;,&quot;rawCodeSnippet&quot;:&quot;cloudinary.image(&#039;blue_sky.jpg&#039;).transformation(Transformation()\\n\\t.delivery(Delivery.quality(80)));&quot;,&quot;codeSnippet&quot;:&quot;cloudinary.image(&#039;blue_sky.jpg&#039;).transformation(Transformation()\\n\\t.delivery(Delivery.quality(80)));&quot;,&quot;status&quot;:0,&quot;statusText&quot;:&quot;Ok&quot;,&quot;displayName&quot;:&quot;Dart&quot;,&quot;packageName&quot;:&quot;cloudinary_dart&quot;,&quot;packageStatus&quot;:&quot;&quot;,&quot;packageVersion&quot;:&quot;1.x&quot;},{&quot;sdkId&quot;:&quot;swift&quot;,&quot;framework&quot;:&quot;swift&quot;,&quot;language&quot;:&quot;swift&quot;,&quot;rawCodeSnippet&quot;:&quot;imageView.cldSetImage(cloudinary.createUrl().setTransformation(CLDTransformation().setQuality(80)).generate(\\&quot;blue_sky.jpg\\&quot;)!, cloudinary: cloudinary)&quot;,&quot;codeSnippet&quot;:&quot;imageView.cldSetImage(cloudinary.createUrl().setTransformation(CLDTransformation().setQuality(80)).generate(\\&quot;blue_sky.jpg\\&quot;)!, cloudinary: cloudinary)&quot;,&quot;status&quot;:0,&quot;statusText&quot;:&quot;Ok&quot;,&quot;displayName&quot;:&quot;iOS&quot;,&quot;packageName&quot;:&quot;cloudinary&quot;,&quot;packageStatus&quot;:&quot;&quot;,&quot;packageVersion&quot;:&quot;5.x&quot;},{&quot;sdkId&quot;:&quot;android&quot;,&quot;framework&quot;:&quot;android&quot;,&quot;language&quot;:&quot;android&quot;,&quot;rawCodeSnippet&quot;:&quot;MediaManager.get().url().transformation(new Transformation().quality(80)).generate(\\&quot;blue_sky.jpg\\&quot;);&quot;,&quot;codeSnippet&quot;:&quot;MediaManager.get().url().transformation(new Transformation().quality(80)).generate(\\&quot;blue_sky.jpg\\&quot;);&quot;,&quot;status&quot;:0,&quot;statusText&quot;:&quot;Ok&quot;,&quot;displayName&quot;:&quot;Android&quot;,&quot;packageName&quot;:&quot;cloudinary-android&quot;,&quot;packageStatus&quot;:&quot;&quot;,&quot;packageVersion&quot;:&quot;3.x&quot;},{&quot;sdkId&quot;:&quot;flutter&quot;,&quot;framework&quot;:&quot;flutter&quot;,&quot;language&quot;:&quot;flutter&quot;,&quot;rawCodeSnippet&quot;:&quot;cloudinary.image(&#039;blue_sky.jpg&#039;).transformation(Transformation()\\n\\t.delivery(Delivery.quality(80)));&quot;,&quot;codeSnippet&quot;:&quot;cloudinary.image(&#039;blue_sky.jpg&#039;).transformation(Transformation()\\n\\t.delivery(Delivery.quality(80)));&quot;,&quot;status&quot;:0,&quot;statusText&quot;:&quot;Ok&quot;,&quot;displayName&quot;:&quot;Flutter&quot;,&quot;packageName&quot;:&quot;cloudinary_flutter&quot;,&quot;packageStatus&quot;:&quot;&quot;,&quot;packageVersion&quot;:&quot;1.x&quot;},{&quot;sdkId&quot;:&quot;kotlin&quot;,&quot;framework&quot;:&quot;kotlin&quot;,&quot;language&quot;:&quot;kotlin&quot;,&quot;rawCodeSnippet&quot;:&quot;cloudinary.image {\\n\\tpublicId(\\&quot;blue_sky.jpg\\&quot;)\\n\\t delivery(Delivery.quality(80)) \\n}.generate()&quot;,&quot;codeSnippet&quot;:&quot;cloudinary.image {\\n\\tpublicId(\\&quot;blue_sky.jpg\\&quot;)\\n\\t delivery(Delivery.quality(80)) \\n}.generate()&quot;,&quot;status&quot;:0,&quot;statusText&quot;:&quot;Ok&quot;,&quot;displayName&quot;:&quot;Kotlin&quot;,&quot;packageName&quot;:&quot;kotlin-url-gen&quot;,&quot;packageStatus&quot;:&quot;&quot;,&quot;packageVersion&quot;:&quot;1.x&quot;},{&quot;sdkId&quot;:&quot;jquery&quot;,&quot;framework&quot;:&quot;jquery&quot;,&quot;language&quot;:&quot;jquery&quot;,&quot;rawCodeSnippet&quot;:&quot;$.cloudinary.image(\\&quot;blue_sky.jpg\\&quot;, {quality: 80})&quot;,&quot;codeSnippet&quot;:&quot;$.cloudinary.image(\\&quot;blue_sky.jpg\\&quot;, {quality: 80})&quot;,&quot;status&quot;:0,&quot;statusText&quot;:&quot;Ok&quot;,&quot;displayName&quot;:&quot;jQuery&quot;,&quot;packageName&quot;:&quot;cloudinary-jquery&quot;,&quot;packageStatus&quot;:&quot;&quot;,&quot;packageVersion&quot;:&quot;2.x&quot;},{&quot;sdkId&quot;:&quot;react_native&quot;,&quot;framework&quot;:&quot;react_native&quot;,&quot;language&quot;:&quot;react_native&quot;,&quot;rawCodeSnippet&quot;:&quot;new CloudinaryImage(\\&quot;blue_sky.jpg\\&quot;).delivery(quality(80));&quot;,&quot;codeSnippet&quot;:&quot;new CloudinaryImage(\\&quot;blue_sky.jpg\\&quot;).delivery(quality(80));&quot;,&quot;status&quot;:0,&quot;statusText&quot;:&quot;Ok&quot;,&quot;displayName&quot;:&quot;React Native&quot;,&quot;packageName&quot;:&quot;cloudinary-react-native&quot;,&quot;packageStatus&quot;:&quot;&quot;,&quot;packageVersion&quot;:&quot;1.x&quot;}]\"\n      parsed-url=\"{&quot;url&quot;:&quot;https:\\\/\\\/res.cloudinary.com\\\/demo\\\/image\\\/upload\\\/q_80\\\/blue_sky.jpg&quot;,&quot;cloud_name&quot;:&quot;demo&quot;,&quot;host&quot;:&quot;res.cloudinary.com&quot;,&quot;type&quot;:&quot;upload&quot;,&quot;resource_type&quot;:&quot;image&quot;,&quot;transformation&quot;:[{&quot;quality&quot;:&quot;80&quot;}],&quot;transformation_string&quot;:&quot;q_80&quot;,&quot;url_suffix&quot;:&quot;&quot;,&quot;version&quot;:&quot;&quot;,&quot;secure&quot;:true,&quot;public_id&quot;:&quot;blue_sky.jpg&quot;,&quot;extension&quot;:&quot;jpg&quot;,&quot;format&quot;:&quot;jpg&quot;,&quot;format_code&quot;:true,&quot;url_code&quot;:false,&quot;signature&quot;:&quot;&quot;,&quot;private_cdn&quot;:false,&quot;result_asset_type&quot;:&quot;image&quot;}\"\n      with-url=\"true\"\n    >\n      <span class=\"u-visually-hidden\">Loading code examples<\/span>\n    <\/cld-code-widget><a class=\"c-image-link\" href=\"https:\/\/res.cloudinary.com\/demo\/image\/upload\/q_80\/blue_sky.jpg\" target=\"_blank\"><img decoding=\"async\" src=\"https:\/\/res.cloudinary.com\/demo\/image\/upload\/q_80\/blue_sky.jpg\" alt=\"Quality 80% blue sky JPEG photo\" loading=\"lazy\" class=\"c-transformed-asset\"  width=\"310\" height=\"207\"\/><\/a><\/p>\n<p>Setting the <code>quality<\/code> parameter to <code>jpegmini<\/code> generates a better looking image with less \u201cnoise\u201d, so you can safely embed it in your site. The image weighs <strong>28KB<\/strong>, which is larger than the <strong>80%<\/strong> quality version, but still saves almost 70% of the original image\u2019s size.<\/p>\n<p><cld-code-widget\n      class=\" c-code-widget\"\n      snippets=\"[{&quot;sdkId&quot;:&quot;nodejs&quot;,&quot;framework&quot;:&quot;nodejs&quot;,&quot;language&quot;:&quot;nodejs&quot;,&quot;rawCodeSnippet&quot;:&quot;cloudinary.image(\\&quot;blue_sky.jpg\\&quot;, {quality: \\&quot;jpegmini\\&quot;, sign_url: true})&quot;,&quot;codeSnippet&quot;:&quot;cloudinary.image(\\&quot;blue_sky.jpg\\&quot;, {quality: \\&quot;jpegmini\\&quot;, sign_url: true})&quot;,&quot;status&quot;:0,&quot;statusText&quot;:&quot;Ok&quot;,&quot;displayName&quot;:&quot;Node.js&quot;,&quot;packageName&quot;:&quot;cloudinary&quot;,&quot;packageStatus&quot;:&quot;&quot;,&quot;packageVersion&quot;:&quot;2.x&quot;},{&quot;sdkId&quot;:&quot;react_2&quot;,&quot;framework&quot;:&quot;react_2&quot;,&quot;language&quot;:&quot;react&quot;,&quot;rawCodeSnippet&quot;:&quot;new CloudinaryImage(\\&quot;blue_sky.jpg\\&quot;)\\n  .delivery(quality(jpegmini()))\\n  .setSignature(\\&quot;HneLfqnx\\&quot;);&quot;,&quot;codeSnippet&quot;:&quot;new CloudinaryImage(\\&quot;blue_sky.jpg\\&quot;)\\n  .delivery(quality(jpegmini()))\\n  .setSignature(\\&quot;HneLfqnx\\&quot;);&quot;,&quot;status&quot;:0,&quot;statusText&quot;:&quot;Ok&quot;,&quot;displayName&quot;:&quot;React&quot;,&quot;packageName&quot;:&quot;@cloudinary\\\/react&quot;,&quot;packageStatus&quot;:&quot;&quot;,&quot;packageVersion&quot;:&quot;1.x&quot;},{&quot;sdkId&quot;:&quot;react&quot;,&quot;framework&quot;:&quot;react&quot;,&quot;language&quot;:&quot;react&quot;,&quot;rawCodeSnippet&quot;:&quot;&lt;Image publicId=\\&quot;blue_sky.jpg\\&quot; signUrl=\\&quot;true\\&quot;&gt; &lt;Transformation quality=\\&quot;jpegmini\\&quot; \\\/&gt; &lt;\\\/Image&gt;&quot;,&quot;codeSnippet&quot;:&quot;&lt;Image publicId=\\&quot;blue_sky.jpg\\&quot; signUrl=\\&quot;true\\&quot;&gt;\\n\\t&lt;Transformation quality=\\&quot;jpegmini\\&quot; \\\/&gt;\\n&lt;\\\/Image&gt;&quot;,&quot;status&quot;:0,&quot;statusText&quot;:&quot;Ok&quot;,&quot;displayName&quot;:&quot;React&quot;,&quot;packageName&quot;:&quot;cloudinary-react&quot;,&quot;packageStatus&quot;:&quot;&quot;,&quot;packageVersion&quot;:&quot;1.x&quot;},{&quot;sdkId&quot;:&quot;vue_2&quot;,&quot;framework&quot;:&quot;vue_2&quot;,&quot;language&quot;:&quot;vue&quot;,&quot;rawCodeSnippet&quot;:&quot;new CloudinaryImage(\\&quot;blue_sky.jpg\\&quot;)\\n  .delivery(quality(jpegmini()))\\n  .setSignature(\\&quot;HneLfqnx\\&quot;);&quot;,&quot;codeSnippet&quot;:&quot;new CloudinaryImage(\\&quot;blue_sky.jpg\\&quot;)\\n  .delivery(quality(jpegmini()))\\n  .setSignature(\\&quot;HneLfqnx\\&quot;);&quot;,&quot;status&quot;:0,&quot;statusText&quot;:&quot;Ok&quot;,&quot;displayName&quot;:&quot;Vue.js&quot;,&quot;packageName&quot;:&quot;@cloudinary\\\/vue&quot;,&quot;packageStatus&quot;:&quot;&quot;,&quot;packageVersion&quot;:&quot;1.x&quot;},{&quot;sdkId&quot;:&quot;vue&quot;,&quot;framework&quot;:&quot;vue&quot;,&quot;language&quot;:&quot;vue&quot;,&quot;rawCodeSnippet&quot;:&quot;&lt;cld-image public-id=\\&quot;blue_sky.jpg\\&quot; sign-url=\\&quot;true\\&quot;&gt; &lt;cld-transformation quality=\\&quot;jpegmini\\&quot; \\\/&gt; &lt;\\\/cld-image&gt;&quot;,&quot;codeSnippet&quot;:&quot;&lt;cld-image public-id=\\&quot;blue_sky.jpg\\&quot; sign-url=\\&quot;true\\&quot;&gt;\\n\\t&lt;cld-transformation quality=\\&quot;jpegmini\\&quot; \\\/&gt;\\n&lt;\\\/cld-image&gt;&quot;,&quot;status&quot;:0,&quot;statusText&quot;:&quot;Ok&quot;,&quot;displayName&quot;:&quot;Vue.js&quot;,&quot;packageName&quot;:&quot;cloudinary-vue&quot;,&quot;packageStatus&quot;:&quot;legacy&quot;,&quot;packageVersion&quot;:&quot;1.x&quot;},{&quot;sdkId&quot;:&quot;angular_2&quot;,&quot;framework&quot;:&quot;angular_2&quot;,&quot;language&quot;:&quot;angular&quot;,&quot;rawCodeSnippet&quot;:&quot;new CloudinaryImage(\\&quot;blue_sky.jpg\\&quot;)\\n  .delivery(quality(jpegmini()))\\n  .setSignature(\\&quot;HneLfqnx\\&quot;);&quot;,&quot;codeSnippet&quot;:&quot;new CloudinaryImage(\\&quot;blue_sky.jpg\\&quot;)\\n  .delivery(quality(jpegmini()))\\n  .setSignature(\\&quot;HneLfqnx\\&quot;);&quot;,&quot;status&quot;:0,&quot;statusText&quot;:&quot;Ok&quot;,&quot;displayName&quot;:&quot;Angular&quot;,&quot;packageName&quot;:&quot;@cloudinary\\\/ng&quot;,&quot;packageStatus&quot;:&quot;&quot;,&quot;packageVersion&quot;:&quot;1.x&quot;},{&quot;sdkId&quot;:&quot;angular&quot;,&quot;framework&quot;:&quot;angular&quot;,&quot;language&quot;:&quot;angular&quot;,&quot;rawCodeSnippet&quot;:&quot;&lt;cl-image public-id=\\&quot;blue_sky.jpg\\&quot; sign-url=\\&quot;true\\&quot;&gt; &lt;cl-transformation quality=\\&quot;jpegmini\\&quot;&gt; &lt;\\\/cl-transformation&gt; &lt;\\\/cl-image&gt;&quot;,&quot;codeSnippet&quot;:&quot;&lt;cl-image public-id=\\&quot;blue_sky.jpg\\&quot; sign-url=\\&quot;true\\&quot;&gt;\\n\\t&lt;cl-transformation quality=\\&quot;jpegmini\\&quot;&gt;\\n\\t&lt;\\\/cl-transformation&gt;\\n&lt;\\\/cl-image&gt;&quot;,&quot;status&quot;:0,&quot;statusText&quot;:&quot;Ok&quot;,&quot;displayName&quot;:&quot;Angular&quot;,&quot;packageName&quot;:&quot;@cloudinary\\\/angular-5.x&quot;,&quot;packageStatus&quot;:&quot;legacy&quot;,&quot;packageVersion&quot;:&quot;1.x&quot;},{&quot;sdkId&quot;:&quot;js_2&quot;,&quot;framework&quot;:&quot;js_2&quot;,&quot;language&quot;:&quot;js&quot;,&quot;rawCodeSnippet&quot;:&quot;new CloudinaryImage(\\&quot;blue_sky.jpg\\&quot;)\\n  .delivery(quality(jpegmini()))\\n  .setSignature(\\&quot;HneLfqnx\\&quot;);&quot;,&quot;codeSnippet&quot;:&quot;new CloudinaryImage(\\&quot;blue_sky.jpg\\&quot;)\\n  .delivery(quality(jpegmini()))\\n  .setSignature(\\&quot;HneLfqnx\\&quot;);&quot;,&quot;status&quot;:0,&quot;statusText&quot;:&quot;Ok&quot;,&quot;displayName&quot;:&quot;JS&quot;,&quot;packageName&quot;:&quot;@cloudinary\\\/url-gen&quot;,&quot;packageStatus&quot;:&quot;&quot;,&quot;packageVersion&quot;:&quot;1.x&quot;},{&quot;sdkId&quot;:&quot;js&quot;,&quot;framework&quot;:&quot;js&quot;,&quot;language&quot;:&quot;js&quot;,&quot;rawCodeSnippet&quot;:&quot;cloudinary.imageTag(&#039;blue_sky.jpg&#039;, {quality: \\&quot;jpegmini\\&quot;, signUrl: true}).toHtml();&quot;,&quot;codeSnippet&quot;:&quot;cloudinary.imageTag(&#039;blue_sky.jpg&#039;, {quality: \\&quot;jpegmini\\&quot;, signUrl: true}).toHtml();&quot;,&quot;status&quot;:0,&quot;statusText&quot;:&quot;Ok&quot;,&quot;displayName&quot;:&quot;JS&quot;,&quot;packageName&quot;:&quot;cloudinary-core&quot;,&quot;packageStatus&quot;:&quot;legacy&quot;,&quot;packageVersion&quot;:&quot;2.x&quot;},{&quot;sdkId&quot;:&quot;python&quot;,&quot;framework&quot;:&quot;python&quot;,&quot;language&quot;:&quot;python&quot;,&quot;rawCodeSnippet&quot;:&quot;CloudinaryImage(\\&quot;blue_sky.jpg\\&quot;).image(quality=\\&quot;jpegmini\\&quot;, sign_url=True)&quot;,&quot;codeSnippet&quot;:&quot;CloudinaryImage(\\&quot;blue_sky.jpg\\&quot;).image(quality=\\&quot;jpegmini\\&quot;, sign_url=True)&quot;,&quot;status&quot;:0,&quot;statusText&quot;:&quot;Ok&quot;,&quot;displayName&quot;:&quot;Python&quot;,&quot;packageName&quot;:&quot;cloudinary&quot;,&quot;packageStatus&quot;:&quot;&quot;,&quot;packageVersion&quot;:&quot;1.x&quot;},{&quot;sdkId&quot;:&quot;php_2&quot;,&quot;framework&quot;:&quot;php_2&quot;,&quot;language&quot;:&quot;php&quot;,&quot;rawCodeSnippet&quot;:&quot;(new ImageTag(&#039;blue_sky.jpg&#039;))\\n\\t-&gt;delivery(Delivery::quality(\\n\\tQuality::jpegmini()))\\n\\t-&gt;sign();&quot;,&quot;codeSnippet&quot;:&quot;(new ImageTag(&#039;blue_sky.jpg&#039;))\\n\\t-&gt;delivery(Delivery::quality(\\n\\tQuality::jpegmini()))\\n\\t-&gt;sign();&quot;,&quot;status&quot;:0,&quot;statusText&quot;:&quot;Ok&quot;,&quot;displayName&quot;:&quot;PHP&quot;,&quot;packageName&quot;:&quot;cloudinary_php&quot;,&quot;packageStatus&quot;:&quot;&quot;,&quot;packageVersion&quot;:&quot;3.x&quot;},{&quot;sdkId&quot;:&quot;php&quot;,&quot;framework&quot;:&quot;php&quot;,&quot;language&quot;:&quot;php&quot;,&quot;rawCodeSnippet&quot;:&quot;cl_image_tag(\\&quot;blue_sky.jpg\\&quot;, array(\\&quot;quality\\&quot;=&gt;\\&quot;jpegmini\\&quot;, \\&quot;sign_url\\&quot;=&gt;true))&quot;,&quot;codeSnippet&quot;:&quot;cl_image_tag(\\&quot;blue_sky.jpg\\&quot;, array(\\&quot;quality\\&quot;=&gt;\\&quot;jpegmini\\&quot;, \\&quot;sign_url\\&quot;=&gt;true))&quot;,&quot;status&quot;:0,&quot;statusText&quot;:&quot;Ok&quot;,&quot;displayName&quot;:&quot;PHP&quot;,&quot;packageName&quot;:&quot;cloudinary_php&quot;,&quot;packageStatus&quot;:&quot;legacy&quot;,&quot;packageVersion&quot;:&quot;1.x&quot;},{&quot;sdkId&quot;:&quot;java&quot;,&quot;framework&quot;:&quot;java&quot;,&quot;language&quot;:&quot;java&quot;,&quot;rawCodeSnippet&quot;:&quot;cloudinary.url().transformation(new Transformation().quality(\\&quot;jpegmini\\&quot;)).signed(true).imageTag(\\&quot;blue_sky.jpg\\&quot;);&quot;,&quot;codeSnippet&quot;:&quot;cloudinary.url().transformation(new Transformation().quality(\\&quot;jpegmini\\&quot;)).signed(true).imageTag(\\&quot;blue_sky.jpg\\&quot;);&quot;,&quot;status&quot;:0,&quot;statusText&quot;:&quot;Ok&quot;,&quot;displayName&quot;:&quot;Java&quot;,&quot;packageName&quot;:&quot;cloudinary&quot;,&quot;packageStatus&quot;:&quot;&quot;,&quot;packageVersion&quot;:&quot;2.x&quot;},{&quot;sdkId&quot;:&quot;ruby&quot;,&quot;framework&quot;:&quot;ruby&quot;,&quot;language&quot;:&quot;ruby&quot;,&quot;rawCodeSnippet&quot;:&quot;cl_image_tag(\\&quot;blue_sky.jpg\\&quot;, quality: \\&quot;jpegmini\\&quot;, sign_url: true)&quot;,&quot;codeSnippet&quot;:&quot;cl_image_tag(\\&quot;blue_sky.jpg\\&quot;, quality: \\&quot;jpegmini\\&quot;, sign_url: true)&quot;,&quot;status&quot;:0,&quot;statusText&quot;:&quot;Ok&quot;,&quot;displayName&quot;:&quot;Ruby&quot;,&quot;packageName&quot;:&quot;cloudinary&quot;,&quot;packageStatus&quot;:&quot;&quot;,&quot;packageVersion&quot;:&quot;2.x&quot;},{&quot;sdkId&quot;:&quot;csharp&quot;,&quot;framework&quot;:&quot;csharp&quot;,&quot;language&quot;:&quot;csharp&quot;,&quot;rawCodeSnippet&quot;:&quot;cloudinary.Api.UrlImgUp.Transform(new Transformation().Quality(\\&quot;jpegmini\\&quot;)).Signed(true).BuildImageTag(\\&quot;blue_sky.jpg\\&quot;)&quot;,&quot;codeSnippet&quot;:&quot;cloudinary.Api.UrlImgUp.Transform(new Transformation().Quality(\\&quot;jpegmini\\&quot;)).Signed(true).BuildImageTag(\\&quot;blue_sky.jpg\\&quot;)&quot;,&quot;status&quot;:0,&quot;statusText&quot;:&quot;Ok&quot;,&quot;displayName&quot;:&quot;.NET&quot;,&quot;packageName&quot;:&quot;CloudinaryDotNet&quot;,&quot;packageStatus&quot;:&quot;&quot;,&quot;packageVersion&quot;:&quot;1.x&quot;},{&quot;sdkId&quot;:&quot;dart&quot;,&quot;framework&quot;:&quot;dart&quot;,&quot;language&quot;:&quot;dart&quot;,&quot;rawCodeSnippet&quot;:&quot;cloudinary.image(&#039;blue_sky.jpg&#039;).transformation(Transformation()\\n\\t.delivery(Delivery.quality(\\n\\tQuality.jpegmini()))\\n\\t.setSignature(\\&quot;HneLfqnx\\&quot;));&quot;,&quot;codeSnippet&quot;:&quot;cloudinary.image(&#039;blue_sky.jpg&#039;).transformation(Transformation()\\n\\t.delivery(Delivery.quality(\\n\\tQuality.jpegmini()))\\n\\t.setSignature(\\&quot;HneLfqnx\\&quot;));&quot;,&quot;status&quot;:0,&quot;statusText&quot;:&quot;Ok&quot;,&quot;displayName&quot;:&quot;Dart&quot;,&quot;packageName&quot;:&quot;cloudinary_dart&quot;,&quot;packageStatus&quot;:&quot;&quot;,&quot;packageVersion&quot;:&quot;1.x&quot;},{&quot;sdkId&quot;:&quot;swift&quot;,&quot;framework&quot;:&quot;swift&quot;,&quot;language&quot;:&quot;swift&quot;,&quot;rawCodeSnippet&quot;:&quot;imageView.cldSetImage(cloudinary.createUrl().setTransformation(CLDTransformation().setQuality(\\&quot;jpegmini\\&quot;)).generate(\\&quot;blue_sky.jpg\\&quot;, signUrl: true)!, cloudinary: cloudinary)&quot;,&quot;codeSnippet&quot;:&quot;imageView.cldSetImage(cloudinary.createUrl().setTransformation(CLDTransformation().setQuality(\\&quot;jpegmini\\&quot;)).generate(\\&quot;blue_sky.jpg\\&quot;, signUrl: true)!, cloudinary: cloudinary)&quot;,&quot;status&quot;:0,&quot;statusText&quot;:&quot;Ok&quot;,&quot;displayName&quot;:&quot;iOS&quot;,&quot;packageName&quot;:&quot;cloudinary&quot;,&quot;packageStatus&quot;:&quot;&quot;,&quot;packageVersion&quot;:&quot;5.x&quot;},{&quot;sdkId&quot;:&quot;android&quot;,&quot;framework&quot;:&quot;android&quot;,&quot;language&quot;:&quot;android&quot;,&quot;rawCodeSnippet&quot;:&quot;MediaManager.get().url().transformation(new Transformation().quality(\\&quot;jpegmini\\&quot;)).signed(true).generate(\\&quot;blue_sky.jpg\\&quot;);&quot;,&quot;codeSnippet&quot;:&quot;MediaManager.get().url().transformation(new Transformation().quality(\\&quot;jpegmini\\&quot;)).signed(true).generate(\\&quot;blue_sky.jpg\\&quot;);&quot;,&quot;status&quot;:0,&quot;statusText&quot;:&quot;Ok&quot;,&quot;displayName&quot;:&quot;Android&quot;,&quot;packageName&quot;:&quot;cloudinary-android&quot;,&quot;packageStatus&quot;:&quot;&quot;,&quot;packageVersion&quot;:&quot;3.x&quot;},{&quot;sdkId&quot;:&quot;flutter&quot;,&quot;framework&quot;:&quot;flutter&quot;,&quot;language&quot;:&quot;flutter&quot;,&quot;rawCodeSnippet&quot;:&quot;cloudinary.image(&#039;blue_sky.jpg&#039;).transformation(Transformation()\\n\\t.delivery(Delivery.quality(\\n\\tQuality.jpegmini()))\\n\\t.setSignature(\\&quot;HneLfqnx\\&quot;));&quot;,&quot;codeSnippet&quot;:&quot;cloudinary.image(&#039;blue_sky.jpg&#039;).transformation(Transformation()\\n\\t.delivery(Delivery.quality(\\n\\tQuality.jpegmini()))\\n\\t.setSignature(\\&quot;HneLfqnx\\&quot;));&quot;,&quot;status&quot;:0,&quot;statusText&quot;:&quot;Ok&quot;,&quot;displayName&quot;:&quot;Flutter&quot;,&quot;packageName&quot;:&quot;cloudinary_flutter&quot;,&quot;packageStatus&quot;:&quot;&quot;,&quot;packageVersion&quot;:&quot;1.x&quot;},{&quot;sdkId&quot;:&quot;kotlin&quot;,&quot;framework&quot;:&quot;kotlin&quot;,&quot;language&quot;:&quot;kotlin&quot;,&quot;rawCodeSnippet&quot;:&quot;cloudinary.image {\\n\\tpublicId(\\&quot;blue_sky.jpg\\&quot;)\\n\\t delivery(Delivery.quality(\\n\\tQuality.jpegmini()))\\n\\t signature() \\n}.generate()&quot;,&quot;codeSnippet&quot;:&quot;cloudinary.image {\\n\\tpublicId(\\&quot;blue_sky.jpg\\&quot;)\\n\\t delivery(Delivery.quality(\\n\\tQuality.jpegmini()))\\n\\t signature() \\n}.generate()&quot;,&quot;status&quot;:0,&quot;statusText&quot;:&quot;Ok&quot;,&quot;displayName&quot;:&quot;Kotlin&quot;,&quot;packageName&quot;:&quot;kotlin-url-gen&quot;,&quot;packageStatus&quot;:&quot;&quot;,&quot;packageVersion&quot;:&quot;1.x&quot;},{&quot;sdkId&quot;:&quot;jquery&quot;,&quot;framework&quot;:&quot;jquery&quot;,&quot;language&quot;:&quot;jquery&quot;,&quot;rawCodeSnippet&quot;:&quot;$.cloudinary.image(\\&quot;blue_sky.jpg\\&quot;, {quality: \\&quot;jpegmini\\&quot;})&quot;,&quot;codeSnippet&quot;:&quot;$.cloudinary.image(\\&quot;blue_sky.jpg\\&quot;, {quality: \\&quot;jpegmini\\&quot;})&quot;,&quot;status&quot;:0,&quot;statusText&quot;:&quot;Ok&quot;,&quot;displayName&quot;:&quot;jQuery&quot;,&quot;packageName&quot;:&quot;cloudinary-jquery&quot;,&quot;packageStatus&quot;:&quot;&quot;,&quot;packageVersion&quot;:&quot;2.x&quot;},{&quot;sdkId&quot;:&quot;react_native&quot;,&quot;framework&quot;:&quot;react_native&quot;,&quot;language&quot;:&quot;react_native&quot;,&quot;rawCodeSnippet&quot;:&quot;new CloudinaryImage(\\&quot;blue_sky.jpg\\&quot;)\\n  .delivery(quality(jpegmini()))\\n  .setSignature(\\&quot;HneLfqnx\\&quot;);&quot;,&quot;codeSnippet&quot;:&quot;new CloudinaryImage(\\&quot;blue_sky.jpg\\&quot;)\\n  .delivery(quality(jpegmini()))\\n  .setSignature(\\&quot;HneLfqnx\\&quot;);&quot;,&quot;status&quot;:0,&quot;statusText&quot;:&quot;Ok&quot;,&quot;displayName&quot;:&quot;React Native&quot;,&quot;packageName&quot;:&quot;cloudinary-react-native&quot;,&quot;packageStatus&quot;:&quot;&quot;,&quot;packageVersion&quot;:&quot;1.x&quot;}]\"\n      parsed-url=\"{&quot;url&quot;:&quot;https:\\\/\\\/res.cloudinary.com\\\/demo\\\/image\\\/upload\\\/s--HneLfqnx--\\\/q_jpegmini\\\/blue_sky.jpg&quot;,&quot;cloud_name&quot;:&quot;demo&quot;,&quot;host&quot;:&quot;res.cloudinary.com&quot;,&quot;type&quot;:&quot;upload&quot;,&quot;resource_type&quot;:&quot;image&quot;,&quot;transformation&quot;:[{&quot;quality&quot;:&quot;jpegmini&quot;}],&quot;transformation_string&quot;:&quot;q_jpegmini&quot;,&quot;url_suffix&quot;:&quot;&quot;,&quot;version&quot;:&quot;&quot;,&quot;secure&quot;:true,&quot;public_id&quot;:&quot;blue_sky.jpg&quot;,&quot;extension&quot;:&quot;jpg&quot;,&quot;format&quot;:&quot;jpg&quot;,&quot;format_code&quot;:true,&quot;url_code&quot;:false,&quot;signature&quot;:&quot;HneLfqnx&quot;,&quot;private_cdn&quot;:false,&quot;result_asset_type&quot;:&quot;image&quot;}\"\n      with-url=\"true\"\n    >\n      <span class=\"u-visually-hidden\">Loading code examples<\/span>\n    <\/cld-code-widget><a class=\"c-image-link\" href=\"https:\/\/res.cloudinary.com\/demo\/image\/upload\/s--HneLfqnx--\/q_jpegmini\/blue_sky.jpg\" target=\"_blank\"><img decoding=\"async\" src=\"https:\/\/res.cloudinary.com\/demo\/image\/upload\/s--HneLfqnx--\/q_jpegmini\/blue_sky.jpg\" alt=\"JPEGmini optimized blue sky photo\" loading=\"lazy\" class=\"c-transformed-asset\"  width=\"310\" height=\"207\"\/><\/a><\/p>\n<h2>Complex image transformations<\/h2>\n<p>Cloudinary lets you apply various transformations to your images. We\u2019ve shown you a few above and <a href=\"https:\/\/cloudinary.com\/documentation\/image_transformations\">many more image transformations <\/a> are supported. The JPEGmini optimization can be combined with any other image transformations supported by Cloudinary. Here\u2019s a taste of advanced editing you can do with Cloudinary\u2019s image transformations , combined with JPEGmini.<\/p>\n<p>The following dynamic transformations  URL and sample code crops the dog\u2019s photo to a 200&#215;230 ellipse, applies a smart photo-improving filter, adds a shadow, and finally, optimizes the result using JPEGmini for best delivery.<\/p>\n<p><cld-code-widget\n      class=\" c-code-widget\"\n      snippets=\"[{&quot;sdkId&quot;:&quot;nodejs&quot;,&quot;framework&quot;:&quot;nodejs&quot;,&quot;language&quot;:&quot;nodejs&quot;,&quot;rawCodeSnippet&quot;:&quot;cloudinary.image(\\&quot;happy_dog.jpg\\&quot;, {sign_url: true, transformation: [ {effect: \\&quot;improve\\&quot;, gravity: \\&quot;north\\&quot;, height: 230, radius: \\&quot;max\\&quot;, width: 200, crop: \\&quot;fill\\&quot;}, {effect: \\&quot;shadow\\&quot;, quality: \\&quot;jpegmini\\&quot;} ]})&quot;,&quot;codeSnippet&quot;:&quot;cloudinary.image(\\&quot;happy_dog.jpg\\&quot;, {sign_url: true, transformation: [\\n  {effect: \\&quot;improve\\&quot;, gravity: \\&quot;north\\&quot;, height: 230, radius: \\&quot;max\\&quot;, width: 200, crop: \\&quot;fill\\&quot;},\\n  {effect: \\&quot;shadow\\&quot;, quality: \\&quot;jpegmini\\&quot;}\\n  ]})&quot;,&quot;status&quot;:0,&quot;statusText&quot;:&quot;Ok&quot;,&quot;displayName&quot;:&quot;Node.js&quot;,&quot;packageName&quot;:&quot;cloudinary&quot;,&quot;packageStatus&quot;:&quot;&quot;,&quot;packageVersion&quot;:&quot;2.x&quot;},{&quot;sdkId&quot;:&quot;react_2&quot;,&quot;framework&quot;:&quot;react_2&quot;,&quot;language&quot;:&quot;react&quot;,&quot;rawCodeSnippet&quot;:&quot;new CloudinaryImage(\\&quot;happy_dog.jpg\\&quot;)\\n  .resize(\\n    fill()\\n      .width(200)\\n      .height(230)\\n      .gravity(compass(\\&quot;north\\&quot;))\\n  )\\n  .roundCorners(max())\\n  .adjust(improve())\\n  .effect(shadow())\\n  .delivery(quality(jpegmini()))\\n  .setSignature(\\&quot;dR18Vfyz\\&quot;);&quot;,&quot;codeSnippet&quot;:&quot;new CloudinaryImage(\\&quot;happy_dog.jpg\\&quot;)\\n  .resize(\\n    fill()\\n      .width(200)\\n      .height(230)\\n      .gravity(compass(\\&quot;north\\&quot;))\\n  )\\n  .roundCorners(max())\\n  .adjust(improve())\\n  .effect(shadow())\\n  .delivery(quality(jpegmini()))\\n  .setSignature(\\&quot;dR18Vfyz\\&quot;);&quot;,&quot;status&quot;:0,&quot;statusText&quot;:&quot;Ok&quot;,&quot;displayName&quot;:&quot;React&quot;,&quot;packageName&quot;:&quot;@cloudinary\\\/react&quot;,&quot;packageStatus&quot;:&quot;&quot;,&quot;packageVersion&quot;:&quot;1.x&quot;},{&quot;sdkId&quot;:&quot;react&quot;,&quot;framework&quot;:&quot;react&quot;,&quot;language&quot;:&quot;react&quot;,&quot;rawCodeSnippet&quot;:&quot;&lt;Image publicId=\\&quot;happy_dog.jpg\\&quot; signUrl=\\&quot;true\\&quot;&gt; &lt;Transformation effect=\\&quot;improve\\&quot; gravity=\\&quot;north\\&quot; height=\\&quot;230\\&quot; radius=\\&quot;max\\&quot; width=\\&quot;200\\&quot; crop=\\&quot;fill\\&quot; \\\/&gt; &lt;Transformation effect=\\&quot;shadow\\&quot; quality=\\&quot;jpegmini\\&quot; \\\/&gt; &lt;\\\/Image&gt;&quot;,&quot;codeSnippet&quot;:&quot;&lt;Image publicId=\\&quot;happy_dog.jpg\\&quot; signUrl=\\&quot;true\\&quot;&gt;\\n\\t&lt;Transformation effect=\\&quot;improve\\&quot; gravity=\\&quot;north\\&quot; height=\\&quot;230\\&quot; radius=\\&quot;max\\&quot; width=\\&quot;200\\&quot; crop=\\&quot;fill\\&quot; \\\/&gt;\\n\\t&lt;Transformation effect=\\&quot;shadow\\&quot; quality=\\&quot;jpegmini\\&quot; \\\/&gt;\\n&lt;\\\/Image&gt;&quot;,&quot;status&quot;:0,&quot;statusText&quot;:&quot;Ok&quot;,&quot;displayName&quot;:&quot;React&quot;,&quot;packageName&quot;:&quot;cloudinary-react&quot;,&quot;packageStatus&quot;:&quot;&quot;,&quot;packageVersion&quot;:&quot;1.x&quot;},{&quot;sdkId&quot;:&quot;vue_2&quot;,&quot;framework&quot;:&quot;vue_2&quot;,&quot;language&quot;:&quot;vue&quot;,&quot;rawCodeSnippet&quot;:&quot;new CloudinaryImage(\\&quot;happy_dog.jpg\\&quot;)\\n  .resize(\\n    fill()\\n      .width(200)\\n      .height(230)\\n      .gravity(compass(\\&quot;north\\&quot;))\\n  )\\n  .roundCorners(max())\\n  .adjust(improve())\\n  .effect(shadow())\\n  .delivery(quality(jpegmini()))\\n  .setSignature(\\&quot;dR18Vfyz\\&quot;);&quot;,&quot;codeSnippet&quot;:&quot;new CloudinaryImage(\\&quot;happy_dog.jpg\\&quot;)\\n  .resize(\\n    fill()\\n      .width(200)\\n      .height(230)\\n      .gravity(compass(\\&quot;north\\&quot;))\\n  )\\n  .roundCorners(max())\\n  .adjust(improve())\\n  .effect(shadow())\\n  .delivery(quality(jpegmini()))\\n  .setSignature(\\&quot;dR18Vfyz\\&quot;);&quot;,&quot;status&quot;:0,&quot;statusText&quot;:&quot;Ok&quot;,&quot;displayName&quot;:&quot;Vue.js&quot;,&quot;packageName&quot;:&quot;@cloudinary\\\/vue&quot;,&quot;packageStatus&quot;:&quot;&quot;,&quot;packageVersion&quot;:&quot;1.x&quot;},{&quot;sdkId&quot;:&quot;vue&quot;,&quot;framework&quot;:&quot;vue&quot;,&quot;language&quot;:&quot;vue&quot;,&quot;rawCodeSnippet&quot;:&quot;&lt;cld-image public-id=\\&quot;happy_dog.jpg\\&quot; sign-url=\\&quot;true\\&quot;&gt; &lt;cld-transformation effect=\\&quot;improve\\&quot; gravity=\\&quot;north\\&quot; height=\\&quot;230\\&quot; radius=\\&quot;max\\&quot; width=\\&quot;200\\&quot; crop=\\&quot;fill\\&quot; \\\/&gt; &lt;cld-transformation effect=\\&quot;shadow\\&quot; quality=\\&quot;jpegmini\\&quot; \\\/&gt; &lt;\\\/cld-image&gt;&quot;,&quot;codeSnippet&quot;:&quot;&lt;cld-image public-id=\\&quot;happy_dog.jpg\\&quot; sign-url=\\&quot;true\\&quot;&gt;\\n\\t&lt;cld-transformation effect=\\&quot;improve\\&quot; gravity=\\&quot;north\\&quot; height=\\&quot;230\\&quot; radius=\\&quot;max\\&quot; width=\\&quot;200\\&quot; crop=\\&quot;fill\\&quot; \\\/&gt;\\n\\t&lt;cld-transformation effect=\\&quot;shadow\\&quot; quality=\\&quot;jpegmini\\&quot; \\\/&gt;\\n&lt;\\\/cld-image&gt;&quot;,&quot;status&quot;:0,&quot;statusText&quot;:&quot;Ok&quot;,&quot;displayName&quot;:&quot;Vue.js&quot;,&quot;packageName&quot;:&quot;cloudinary-vue&quot;,&quot;packageStatus&quot;:&quot;legacy&quot;,&quot;packageVersion&quot;:&quot;1.x&quot;},{&quot;sdkId&quot;:&quot;angular_2&quot;,&quot;framework&quot;:&quot;angular_2&quot;,&quot;language&quot;:&quot;angular&quot;,&quot;rawCodeSnippet&quot;:&quot;new CloudinaryImage(\\&quot;happy_dog.jpg\\&quot;)\\n  .resize(\\n    fill()\\n      .width(200)\\n      .height(230)\\n      .gravity(compass(\\&quot;north\\&quot;))\\n  )\\n  .roundCorners(max())\\n  .adjust(improve())\\n  .effect(shadow())\\n  .delivery(quality(jpegmini()))\\n  .setSignature(\\&quot;dR18Vfyz\\&quot;);&quot;,&quot;codeSnippet&quot;:&quot;new CloudinaryImage(\\&quot;happy_dog.jpg\\&quot;)\\n  .resize(\\n    fill()\\n      .width(200)\\n      .height(230)\\n      .gravity(compass(\\&quot;north\\&quot;))\\n  )\\n  .roundCorners(max())\\n  .adjust(improve())\\n  .effect(shadow())\\n  .delivery(quality(jpegmini()))\\n  .setSignature(\\&quot;dR18Vfyz\\&quot;);&quot;,&quot;status&quot;:0,&quot;statusText&quot;:&quot;Ok&quot;,&quot;displayName&quot;:&quot;Angular&quot;,&quot;packageName&quot;:&quot;@cloudinary\\\/ng&quot;,&quot;packageStatus&quot;:&quot;&quot;,&quot;packageVersion&quot;:&quot;1.x&quot;},{&quot;sdkId&quot;:&quot;angular&quot;,&quot;framework&quot;:&quot;angular&quot;,&quot;language&quot;:&quot;angular&quot;,&quot;rawCodeSnippet&quot;:&quot;&lt;cl-image public-id=\\&quot;happy_dog.jpg\\&quot; sign-url=\\&quot;true\\&quot;&gt; &lt;cl-transformation effect=\\&quot;improve\\&quot; gravity=\\&quot;north\\&quot; height=\\&quot;230\\&quot; radius=\\&quot;max\\&quot; width=\\&quot;200\\&quot; crop=\\&quot;fill\\&quot;&gt; &lt;\\\/cl-transformation&gt; &lt;cl-transformation effect=\\&quot;shadow\\&quot; quality=\\&quot;jpegmini\\&quot;&gt; &lt;\\\/cl-transformation&gt; &lt;\\\/cl-image&gt;&quot;,&quot;codeSnippet&quot;:&quot;&lt;cl-image public-id=\\&quot;happy_dog.jpg\\&quot; sign-url=\\&quot;true\\&quot;&gt;\\n\\t&lt;cl-transformation effect=\\&quot;improve\\&quot; gravity=\\&quot;north\\&quot; height=\\&quot;230\\&quot; radius=\\&quot;max\\&quot; width=\\&quot;200\\&quot; crop=\\&quot;fill\\&quot;&gt;\\n\\t&lt;\\\/cl-transformation&gt;\\n\\t&lt;cl-transformation effect=\\&quot;shadow\\&quot; quality=\\&quot;jpegmini\\&quot;&gt;\\n\\t&lt;\\\/cl-transformation&gt;\\n&lt;\\\/cl-image&gt;&quot;,&quot;status&quot;:0,&quot;statusText&quot;:&quot;Ok&quot;,&quot;displayName&quot;:&quot;Angular&quot;,&quot;packageName&quot;:&quot;@cloudinary\\\/angular-5.x&quot;,&quot;packageStatus&quot;:&quot;legacy&quot;,&quot;packageVersion&quot;:&quot;1.x&quot;},{&quot;sdkId&quot;:&quot;js_2&quot;,&quot;framework&quot;:&quot;js_2&quot;,&quot;language&quot;:&quot;js&quot;,&quot;rawCodeSnippet&quot;:&quot;new CloudinaryImage(\\&quot;happy_dog.jpg\\&quot;)\\n  .resize(\\n    fill()\\n      .width(200)\\n      .height(230)\\n      .gravity(compass(\\&quot;north\\&quot;))\\n  )\\n  .roundCorners(max())\\n  .adjust(improve())\\n  .effect(shadow())\\n  .delivery(quality(jpegmini()))\\n  .setSignature(\\&quot;dR18Vfyz\\&quot;);&quot;,&quot;codeSnippet&quot;:&quot;new CloudinaryImage(\\&quot;happy_dog.jpg\\&quot;)\\n  .resize(\\n    fill()\\n      .width(200)\\n      .height(230)\\n      .gravity(compass(\\&quot;north\\&quot;))\\n  )\\n  .roundCorners(max())\\n  .adjust(improve())\\n  .effect(shadow())\\n  .delivery(quality(jpegmini()))\\n  .setSignature(\\&quot;dR18Vfyz\\&quot;);&quot;,&quot;status&quot;:0,&quot;statusText&quot;:&quot;Ok&quot;,&quot;displayName&quot;:&quot;JS&quot;,&quot;packageName&quot;:&quot;@cloudinary\\\/url-gen&quot;,&quot;packageStatus&quot;:&quot;&quot;,&quot;packageVersion&quot;:&quot;1.x&quot;},{&quot;sdkId&quot;:&quot;js&quot;,&quot;framework&quot;:&quot;js&quot;,&quot;language&quot;:&quot;js&quot;,&quot;rawCodeSnippet&quot;:&quot;cloudinary.imageTag(&#039;happy_dog.jpg&#039;, {signUrl: true, transformation: [ {effect: \\&quot;improve\\&quot;, gravity: \\&quot;north\\&quot;, height: 230, radius: \\&quot;max\\&quot;, width: 200, crop: \\&quot;fill\\&quot;}, {effect: \\&quot;shadow\\&quot;, quality: \\&quot;jpegmini\\&quot;} ]}).toHtml();&quot;,&quot;codeSnippet&quot;:&quot;cloudinary.imageTag(&#039;happy_dog.jpg&#039;, {signUrl: true, transformation: [\\n  {effect: \\&quot;improve\\&quot;, gravity: \\&quot;north\\&quot;, height: 230, radius: \\&quot;max\\&quot;, width: 200, crop: \\&quot;fill\\&quot;},\\n  {effect: \\&quot;shadow\\&quot;, quality: \\&quot;jpegmini\\&quot;}\\n  ]}).toHtml();&quot;,&quot;status&quot;:0,&quot;statusText&quot;:&quot;Ok&quot;,&quot;displayName&quot;:&quot;JS&quot;,&quot;packageName&quot;:&quot;cloudinary-core&quot;,&quot;packageStatus&quot;:&quot;legacy&quot;,&quot;packageVersion&quot;:&quot;2.x&quot;},{&quot;sdkId&quot;:&quot;python&quot;,&quot;framework&quot;:&quot;python&quot;,&quot;language&quot;:&quot;python&quot;,&quot;rawCodeSnippet&quot;:&quot;CloudinaryImage(\\&quot;happy_dog.jpg\\&quot;).image(sign_url=True, transformation=[ {&#039;effect&#039;: \\&quot;improve\\&quot;, &#039;gravity&#039;: \\&quot;north\\&quot;, &#039;height&#039;: 230, &#039;radius&#039;: \\&quot;max\\&quot;, &#039;width&#039;: 200, &#039;crop&#039;: \\&quot;fill\\&quot;}, {&#039;effect&#039;: \\&quot;shadow\\&quot;, &#039;quality&#039;: \\&quot;jpegmini\\&quot;} ])&quot;,&quot;codeSnippet&quot;:&quot;CloudinaryImage(\\&quot;happy_dog.jpg\\&quot;).image(sign_url=True, transformation=[\\n  {&#039;effect&#039;: \\&quot;improve\\&quot;, &#039;gravity&#039;: \\&quot;north\\&quot;, &#039;height&#039;: 230, &#039;radius&#039;: \\&quot;max\\&quot;, &#039;width&#039;: 200, &#039;crop&#039;: \\&quot;fill\\&quot;},\\n  {&#039;effect&#039;: \\&quot;shadow\\&quot;, &#039;quality&#039;: \\&quot;jpegmini\\&quot;}\\n  ])&quot;,&quot;status&quot;:0,&quot;statusText&quot;:&quot;Ok&quot;,&quot;displayName&quot;:&quot;Python&quot;,&quot;packageName&quot;:&quot;cloudinary&quot;,&quot;packageStatus&quot;:&quot;&quot;,&quot;packageVersion&quot;:&quot;1.x&quot;},{&quot;sdkId&quot;:&quot;php_2&quot;,&quot;framework&quot;:&quot;php_2&quot;,&quot;language&quot;:&quot;php&quot;,&quot;rawCodeSnippet&quot;:&quot;(new ImageTag(&#039;happy_dog.jpg&#039;))\\n\\t-&gt;resize(Resize::fill()-&gt;width(200)\\n-&gt;height(230)\\n\\t-&gt;gravity(\\n\\tGravity::compass(\\n\\tCompass::north()))\\n\\t)\\n\\t-&gt;roundCorners(RoundCorners::max())\\n\\t-&gt;adjust(Adjust::improve())\\n\\t-&gt;effect(Effect::shadow())\\n\\t-&gt;delivery(Delivery::quality(\\n\\tQuality::jpegmini()))\\n\\t-&gt;sign();&quot;,&quot;codeSnippet&quot;:&quot;(new ImageTag(&#039;happy_dog.jpg&#039;))\\n\\t-&gt;resize(Resize::fill()-&gt;width(200)\\n-&gt;height(230)\\n\\t-&gt;gravity(\\n\\tGravity::compass(\\n\\tCompass::north()))\\n\\t)\\n\\t-&gt;roundCorners(RoundCorners::max())\\n\\t-&gt;adjust(Adjust::improve())\\n\\t-&gt;effect(Effect::shadow())\\n\\t-&gt;delivery(Delivery::quality(\\n\\tQuality::jpegmini()))\\n\\t-&gt;sign();&quot;,&quot;status&quot;:0,&quot;statusText&quot;:&quot;Ok&quot;,&quot;displayName&quot;:&quot;PHP&quot;,&quot;packageName&quot;:&quot;cloudinary_php&quot;,&quot;packageStatus&quot;:&quot;&quot;,&quot;packageVersion&quot;:&quot;3.x&quot;},{&quot;sdkId&quot;:&quot;php&quot;,&quot;framework&quot;:&quot;php&quot;,&quot;language&quot;:&quot;php&quot;,&quot;rawCodeSnippet&quot;:&quot;cl_image_tag(\\&quot;happy_dog.jpg\\&quot;, array(\\&quot;sign_url\\&quot;=&gt;true, \\&quot;transformation\\&quot;=&gt;array( array(\\&quot;effect\\&quot;=&gt;\\&quot;improve\\&quot;, \\&quot;gravity\\&quot;=&gt;\\&quot;north\\&quot;, \\&quot;height\\&quot;=&gt;230, \\&quot;radius\\&quot;=&gt;\\&quot;max\\&quot;, \\&quot;width\\&quot;=&gt;200, \\&quot;crop\\&quot;=&gt;\\&quot;fill\\&quot;), array(\\&quot;effect\\&quot;=&gt;\\&quot;shadow\\&quot;, \\&quot;quality\\&quot;=&gt;\\&quot;jpegmini\\&quot;) )))&quot;,&quot;codeSnippet&quot;:&quot;cl_image_tag(\\&quot;happy_dog.jpg\\&quot;, array(\\&quot;sign_url\\&quot;=&gt;true, \\&quot;transformation\\&quot;=&gt;array(\\n  array(\\&quot;effect\\&quot;=&gt;\\&quot;improve\\&quot;, \\&quot;gravity\\&quot;=&gt;\\&quot;north\\&quot;, \\&quot;height\\&quot;=&gt;230, \\&quot;radius\\&quot;=&gt;\\&quot;max\\&quot;, \\&quot;width\\&quot;=&gt;200, \\&quot;crop\\&quot;=&gt;\\&quot;fill\\&quot;),\\n  array(\\&quot;effect\\&quot;=&gt;\\&quot;shadow\\&quot;, \\&quot;quality\\&quot;=&gt;\\&quot;jpegmini\\&quot;)\\n  )))&quot;,&quot;status&quot;:0,&quot;statusText&quot;:&quot;Ok&quot;,&quot;displayName&quot;:&quot;PHP&quot;,&quot;packageName&quot;:&quot;cloudinary_php&quot;,&quot;packageStatus&quot;:&quot;legacy&quot;,&quot;packageVersion&quot;:&quot;1.x&quot;},{&quot;sdkId&quot;:&quot;java&quot;,&quot;framework&quot;:&quot;java&quot;,&quot;language&quot;:&quot;java&quot;,&quot;rawCodeSnippet&quot;:&quot;cloudinary.url().transformation(new Transformation().effect(\\&quot;improve\\&quot;).gravity(\\&quot;north\\&quot;).height(230).radius(\\&quot;max\\&quot;).width(200).crop(\\&quot;fill\\&quot;).chain() .effect(\\&quot;shadow\\&quot;).quality(\\&quot;jpegmini\\&quot;)).signed(true).imageTag(\\&quot;happy_dog.jpg\\&quot;);&quot;,&quot;codeSnippet&quot;:&quot;cloudinary.url().transformation(new Transformation()\\n  .effect(\\&quot;improve\\&quot;).gravity(\\&quot;north\\&quot;).height(230).radius(\\&quot;max\\&quot;).width(200).crop(\\&quot;fill\\&quot;).chain()\\n  .effect(\\&quot;shadow\\&quot;).quality(\\&quot;jpegmini\\&quot;)).signed(true).imageTag(\\&quot;happy_dog.jpg\\&quot;);&quot;,&quot;status&quot;:0,&quot;statusText&quot;:&quot;Ok&quot;,&quot;displayName&quot;:&quot;Java&quot;,&quot;packageName&quot;:&quot;cloudinary&quot;,&quot;packageStatus&quot;:&quot;&quot;,&quot;packageVersion&quot;:&quot;2.x&quot;},{&quot;sdkId&quot;:&quot;ruby&quot;,&quot;framework&quot;:&quot;ruby&quot;,&quot;language&quot;:&quot;ruby&quot;,&quot;rawCodeSnippet&quot;:&quot;cl_image_tag(\\&quot;happy_dog.jpg\\&quot;, sign_url: true, transformation: [ {effect: \\&quot;improve\\&quot;, gravity: \\&quot;north\\&quot;, height: 230, radius: \\&quot;max\\&quot;, width: 200, crop: \\&quot;fill\\&quot;}, {effect: \\&quot;shadow\\&quot;, quality: \\&quot;jpegmini\\&quot;} ])&quot;,&quot;codeSnippet&quot;:&quot;cl_image_tag(\\&quot;happy_dog.jpg\\&quot;, sign_url: true, transformation: [\\n  {effect: \\&quot;improve\\&quot;, gravity: \\&quot;north\\&quot;, height: 230, radius: \\&quot;max\\&quot;, width: 200, crop: \\&quot;fill\\&quot;},\\n  {effect: \\&quot;shadow\\&quot;, quality: \\&quot;jpegmini\\&quot;}\\n  ])&quot;,&quot;status&quot;:0,&quot;statusText&quot;:&quot;Ok&quot;,&quot;displayName&quot;:&quot;Ruby&quot;,&quot;packageName&quot;:&quot;cloudinary&quot;,&quot;packageStatus&quot;:&quot;&quot;,&quot;packageVersion&quot;:&quot;2.x&quot;},{&quot;sdkId&quot;:&quot;csharp&quot;,&quot;framework&quot;:&quot;csharp&quot;,&quot;language&quot;:&quot;csharp&quot;,&quot;rawCodeSnippet&quot;:&quot;cloudinary.Api.UrlImgUp.Transform(new Transformation().Effect(\\&quot;improve\\&quot;).Gravity(\\&quot;north\\&quot;).Height(230).Radius(\\&quot;max\\&quot;).Width(200).Crop(\\&quot;fill\\&quot;).Chain() .Effect(\\&quot;shadow\\&quot;).Quality(\\&quot;jpegmini\\&quot;)).Signed(true).BuildImageTag(\\&quot;happy_dog.jpg\\&quot;)&quot;,&quot;codeSnippet&quot;:&quot;cloudinary.Api.UrlImgUp.Transform(new Transformation()\\n  .Effect(\\&quot;improve\\&quot;).Gravity(\\&quot;north\\&quot;).Height(230).Radius(\\&quot;max\\&quot;).Width(200).Crop(\\&quot;fill\\&quot;).Chain()\\n  .Effect(\\&quot;shadow\\&quot;).Quality(\\&quot;jpegmini\\&quot;)).Signed(true).BuildImageTag(\\&quot;happy_dog.jpg\\&quot;)&quot;,&quot;status&quot;:0,&quot;statusText&quot;:&quot;Ok&quot;,&quot;displayName&quot;:&quot;.NET&quot;,&quot;packageName&quot;:&quot;CloudinaryDotNet&quot;,&quot;packageStatus&quot;:&quot;&quot;,&quot;packageVersion&quot;:&quot;1.x&quot;},{&quot;sdkId&quot;:&quot;dart&quot;,&quot;framework&quot;:&quot;dart&quot;,&quot;language&quot;:&quot;dart&quot;,&quot;rawCodeSnippet&quot;:&quot;cloudinary.image(&#039;happy_dog.jpg&#039;).transformation(Transformation()\\n\\t.resize(Resize.fill().width(200)\\n.height(230)\\n\\t.gravity(\\n\\tGravity.compass(\\n\\tCompass.north()))\\n\\t)\\n\\t.roundCorners(RoundCorners.max())\\n\\t.adjust(Adjust.improve())\\n\\t.effect(Effect.shadow())\\n\\t.delivery(Delivery.quality(\\n\\tQuality.jpegmini()))\\n\\t.setSignature(\\&quot;dR18Vfyz\\&quot;));&quot;,&quot;codeSnippet&quot;:&quot;cloudinary.image(&#039;happy_dog.jpg&#039;).transformation(Transformation()\\n\\t.resize(Resize.fill().width(200)\\n.height(230)\\n\\t.gravity(\\n\\tGravity.compass(\\n\\tCompass.north()))\\n\\t)\\n\\t.roundCorners(RoundCorners.max())\\n\\t.adjust(Adjust.improve())\\n\\t.effect(Effect.shadow())\\n\\t.delivery(Delivery.quality(\\n\\tQuality.jpegmini()))\\n\\t.setSignature(\\&quot;dR18Vfyz\\&quot;));&quot;,&quot;status&quot;:0,&quot;statusText&quot;:&quot;Ok&quot;,&quot;displayName&quot;:&quot;Dart&quot;,&quot;packageName&quot;:&quot;cloudinary_dart&quot;,&quot;packageStatus&quot;:&quot;&quot;,&quot;packageVersion&quot;:&quot;1.x&quot;},{&quot;sdkId&quot;:&quot;swift&quot;,&quot;framework&quot;:&quot;swift&quot;,&quot;language&quot;:&quot;swift&quot;,&quot;rawCodeSnippet&quot;:&quot;imageView.cldSetImage(cloudinary.createUrl().setTransformation(CLDTransformation().setEffect(\\&quot;improve\\&quot;).setGravity(\\&quot;north\\&quot;).setHeight(230).setRadius(\\&quot;max\\&quot;).setWidth(200).setCrop(\\&quot;fill\\&quot;).chain() .setEffect(\\&quot;shadow\\&quot;).setQuality(\\&quot;jpegmini\\&quot;)).generate(\\&quot;happy_dog.jpg\\&quot;, signUrl: true)!, cloudinary: cloudinary)&quot;,&quot;codeSnippet&quot;:&quot;imageView.cldSetImage(cloudinary.createUrl().setTransformation(CLDTransformation()\\n  .setEffect(\\&quot;improve\\&quot;).setGravity(\\&quot;north\\&quot;).setHeight(230).setRadius(\\&quot;max\\&quot;).setWidth(200).setCrop(\\&quot;fill\\&quot;).chain()\\n  .setEffect(\\&quot;shadow\\&quot;).setQuality(\\&quot;jpegmini\\&quot;)).generate(\\&quot;happy_dog.jpg\\&quot;, signUrl: true)!, cloudinary: cloudinary)&quot;,&quot;status&quot;:0,&quot;statusText&quot;:&quot;Ok&quot;,&quot;displayName&quot;:&quot;iOS&quot;,&quot;packageName&quot;:&quot;cloudinary&quot;,&quot;packageStatus&quot;:&quot;&quot;,&quot;packageVersion&quot;:&quot;5.x&quot;},{&quot;sdkId&quot;:&quot;android&quot;,&quot;framework&quot;:&quot;android&quot;,&quot;language&quot;:&quot;android&quot;,&quot;rawCodeSnippet&quot;:&quot;MediaManager.get().url().transformation(new Transformation().effect(\\&quot;improve\\&quot;).gravity(\\&quot;north\\&quot;).height(230).radius(\\&quot;max\\&quot;).width(200).crop(\\&quot;fill\\&quot;).chain() .effect(\\&quot;shadow\\&quot;).quality(\\&quot;jpegmini\\&quot;)).signed(true).generate(\\&quot;happy_dog.jpg\\&quot;);&quot;,&quot;codeSnippet&quot;:&quot;MediaManager.get().url().transformation(new Transformation()\\n  .effect(\\&quot;improve\\&quot;).gravity(\\&quot;north\\&quot;).height(230).radius(\\&quot;max\\&quot;).width(200).crop(\\&quot;fill\\&quot;).chain()\\n  .effect(\\&quot;shadow\\&quot;).quality(\\&quot;jpegmini\\&quot;)).signed(true).generate(\\&quot;happy_dog.jpg\\&quot;);&quot;,&quot;status&quot;:0,&quot;statusText&quot;:&quot;Ok&quot;,&quot;displayName&quot;:&quot;Android&quot;,&quot;packageName&quot;:&quot;cloudinary-android&quot;,&quot;packageStatus&quot;:&quot;&quot;,&quot;packageVersion&quot;:&quot;3.x&quot;},{&quot;sdkId&quot;:&quot;flutter&quot;,&quot;framework&quot;:&quot;flutter&quot;,&quot;language&quot;:&quot;flutter&quot;,&quot;rawCodeSnippet&quot;:&quot;cloudinary.image(&#039;happy_dog.jpg&#039;).transformation(Transformation()\\n\\t.addTransformation(\\&quot;c_fill,e_improve,g_north,h_230,r_max,w_200\\\/e_shadow,q_jpegmini\\&quot;)\\n\\t.setSignature(\\&quot;dR18Vfyz\\&quot;));&quot;,&quot;codeSnippet&quot;:&quot;cloudinary.image(&#039;happy_dog.jpg&#039;).transformation(Transformation()\\n\\t.addTransformation(\\&quot;c_fill,e_improve,g_north,h_230,r_max,w_200\\\/e_shadow,q_jpegmini\\&quot;)\\n\\t.setSignature(\\&quot;dR18Vfyz\\&quot;));&quot;,&quot;status&quot;:0,&quot;statusText&quot;:&quot;Ok&quot;,&quot;displayName&quot;:&quot;Flutter&quot;,&quot;packageName&quot;:&quot;cloudinary_flutter&quot;,&quot;packageStatus&quot;:&quot;&quot;,&quot;packageVersion&quot;:&quot;1.x&quot;},{&quot;sdkId&quot;:&quot;kotlin&quot;,&quot;framework&quot;:&quot;kotlin&quot;,&quot;language&quot;:&quot;kotlin&quot;,&quot;rawCodeSnippet&quot;:&quot;cloudinary.image {\\n\\tpublicId(\\&quot;happy_dog.jpg\\&quot;)\\n\\t resize(Resize.fill() { width(200)\\n height(230)\\n\\t gravity(\\n\\tGravity.compass(\\n\\tCompass.north()))\\n\\t })\\n\\t roundCorners(RoundCorners.max())\\n\\t adjust(Adjust.improve())\\n\\t effect(Effect.shadow())\\n\\t delivery(Delivery.quality(\\n\\tQuality.jpegmini()))\\n\\t signature() \\n}.generate()&quot;,&quot;codeSnippet&quot;:&quot;cloudinary.image {\\n\\tpublicId(\\&quot;happy_dog.jpg\\&quot;)\\n\\t resize(Resize.fill() { width(200)\\n height(230)\\n\\t gravity(\\n\\tGravity.compass(\\n\\tCompass.north()))\\n\\t })\\n\\t roundCorners(RoundCorners.max())\\n\\t adjust(Adjust.improve())\\n\\t effect(Effect.shadow())\\n\\t delivery(Delivery.quality(\\n\\tQuality.jpegmini()))\\n\\t signature() \\n}.generate()&quot;,&quot;status&quot;:0,&quot;statusText&quot;:&quot;Ok&quot;,&quot;displayName&quot;:&quot;Kotlin&quot;,&quot;packageName&quot;:&quot;kotlin-url-gen&quot;,&quot;packageStatus&quot;:&quot;&quot;,&quot;packageVersion&quot;:&quot;1.x&quot;},{&quot;sdkId&quot;:&quot;jquery&quot;,&quot;framework&quot;:&quot;jquery&quot;,&quot;language&quot;:&quot;jquery&quot;,&quot;rawCodeSnippet&quot;:&quot;$.cloudinary.image(\\&quot;happy_dog.jpg\\&quot;, {transformation: [ {effect: \\&quot;improve\\&quot;, gravity: \\&quot;north\\&quot;, height: 230, radius: \\&quot;max\\&quot;, width: 200, crop: \\&quot;fill\\&quot;}, {effect: \\&quot;shadow\\&quot;, quality: \\&quot;jpegmini\\&quot;} ]})&quot;,&quot;codeSnippet&quot;:&quot;$.cloudinary.image(\\&quot;happy_dog.jpg\\&quot;, {transformation: [\\n  {effect: \\&quot;improve\\&quot;, gravity: \\&quot;north\\&quot;, height: 230, radius: \\&quot;max\\&quot;, width: 200, crop: \\&quot;fill\\&quot;},\\n  {effect: \\&quot;shadow\\&quot;, quality: \\&quot;jpegmini\\&quot;}\\n  ]})&quot;,&quot;status&quot;:0,&quot;statusText&quot;:&quot;Ok&quot;,&quot;displayName&quot;:&quot;jQuery&quot;,&quot;packageName&quot;:&quot;cloudinary-jquery&quot;,&quot;packageStatus&quot;:&quot;&quot;,&quot;packageVersion&quot;:&quot;2.x&quot;},{&quot;sdkId&quot;:&quot;react_native&quot;,&quot;framework&quot;:&quot;react_native&quot;,&quot;language&quot;:&quot;react_native&quot;,&quot;rawCodeSnippet&quot;:&quot;new CloudinaryImage(\\&quot;happy_dog.jpg\\&quot;)\\n  .resize(\\n    fill()\\n      .width(200)\\n      .height(230)\\n      .gravity(compass(\\&quot;north\\&quot;))\\n  )\\n  .roundCorners(max())\\n  .adjust(improve())\\n  .effect(shadow())\\n  .delivery(quality(jpegmini()))\\n  .setSignature(\\&quot;dR18Vfyz\\&quot;);&quot;,&quot;codeSnippet&quot;:&quot;new CloudinaryImage(\\&quot;happy_dog.jpg\\&quot;)\\n  .resize(\\n    fill()\\n      .width(200)\\n      .height(230)\\n      .gravity(compass(\\&quot;north\\&quot;))\\n  )\\n  .roundCorners(max())\\n  .adjust(improve())\\n  .effect(shadow())\\n  .delivery(quality(jpegmini()))\\n  .setSignature(\\&quot;dR18Vfyz\\&quot;);&quot;,&quot;status&quot;:0,&quot;statusText&quot;:&quot;Ok&quot;,&quot;displayName&quot;:&quot;React Native&quot;,&quot;packageName&quot;:&quot;cloudinary-react-native&quot;,&quot;packageStatus&quot;:&quot;&quot;,&quot;packageVersion&quot;:&quot;1.x&quot;}]\"\n      parsed-url=\"{&quot;url&quot;:&quot;https:\\\/\\\/res.cloudinary.com\\\/demo\\\/image\\\/upload\\\/s--dR18Vfyz--\\\/c_fill,e_improve,g_north,h_230,r_max,w_200\\\/e_shadow,q_jpegmini\\\/happy_dog.jpg&quot;,&quot;cloud_name&quot;:&quot;demo&quot;,&quot;host&quot;:&quot;res.cloudinary.com&quot;,&quot;type&quot;:&quot;upload&quot;,&quot;resource_type&quot;:&quot;image&quot;,&quot;transformation&quot;:[{&quot;crop_mode&quot;:&quot;fill&quot;,&quot;effect&quot;:&quot;improve&quot;,&quot;gravity&quot;:&quot;north&quot;,&quot;height&quot;:&quot;230&quot;,&quot;radius&quot;:&quot;max&quot;,&quot;width&quot;:&quot;200&quot;},{&quot;effect&quot;:&quot;shadow&quot;,&quot;quality&quot;:&quot;jpegmini&quot;}],&quot;transformation_string&quot;:&quot;c_fill,e_improve,g_north,h_230,r_max,w_200\\\/e_shadow,q_jpegmini&quot;,&quot;url_suffix&quot;:&quot;&quot;,&quot;version&quot;:&quot;&quot;,&quot;secure&quot;:true,&quot;public_id&quot;:&quot;happy_dog.jpg&quot;,&quot;extension&quot;:&quot;jpg&quot;,&quot;format&quot;:&quot;jpg&quot;,&quot;format_code&quot;:true,&quot;url_code&quot;:false,&quot;signature&quot;:&quot;dR18Vfyz&quot;,&quot;private_cdn&quot;:false,&quot;result_asset_type&quot;:&quot;image&quot;}\"\n      with-url=\"true\"\n    >\n      <span class=\"u-visually-hidden\">Loading code examples<\/span>\n    <\/cld-code-widget><a class=\"c-image-link\" href=\"https:\/\/res.cloudinary.com\/demo\/image\/upload\/s--dR18Vfyz--\/c_fill,e_improve,g_north,h_230,r_max,w_200\/e_shadow,q_jpegmini\/happy_dog.jpg\" target=\"_blank\"><img decoding=\"async\" src=\"https:\/\/res.cloudinary.com\/demo\/image\/upload\/s--dR18Vfyz--\/c_fill,e_improve,g_north,h_230,r_max,w_200\/e_shadow,q_jpegmini\/happy_dog.jpg\" alt=\"Further transformations  JPEGmini optimized photo\" loading=\"lazy\" class=\"c-transformed-asset\"  width=\"208\" height=\"238\"\/><\/a><\/p>\n<h2>Securing your transformations  URLs<\/h2>\n<p>JPEGmini is a computing-intensive operation, and you probably want to prevent unauthorized use of it. As a result, you may have noticed that all the transformation URLs in this blog posts were signed (for example, in the last image, the URL included the secret <code>s--J23CuGrX--<\/code>). By signing URLs, you apply a layer of security, ensuring that the JPEGmini JPEG optimization can\u2019t be performed by just anyone directly typing a URL.<\/p>\n<p>Another way to prevent external users from performing the JPEGmini optimization, is to \u201ceagerly\u201d generate optimized JPEGs while uploading your images. For more details about these options and the JPEGmini add-on in general, please refer to the <a href=\"https:\/\/cloudinary.com\/documentation\/jpegmini_image_compression_addon\">documentation<\/a>.<\/p>\n<h2>Summary<\/h2>\n<p>In this post we showed how JPEGmini can be used to smartly balance between JPEG compression and a high-quality visual result, and how simple it is to apply JPEGmini\u2019s optimization using Cloudinary\u2019s cloud-based image management service.<\/p>\n<p>You can add the free tier of the <a href=\"https:\/\/cloudinary.com\/addons#jpegmini\">JPEGmini add-on<\/a> to your Cloudinary account and try it out on your photos using our interactive Media Library. \u00a0<\/p>\n<p>As always, any feedback or comments you have would be much appreciated, either in the comments below or via <a href=\"https:\/\/www.facebook.com\/Cloudinary\">Facebook<\/a> or <a href=\"https:\/\/twitter.com\/cloudinary\">Twitter<\/a>.<\/p>\n<h2>Want to Learn More About Image Formats?<\/h2>\n<ul>\n<li>\n<a href=\"https:\/\/cloudinary.com\/blog\/image_formats_getting_it_right\">Image Formats: Getting it Right<\/a>\n<\/li>\n<li>\n<a href=\"https:\/\/cloudinary.com\/blog\/progressive_jpegs_and_green_martians\">Progressive JPEGs and green Martians<\/a>\n<\/li>\n<li>\n<a href=\"https:\/\/cloudinary.com\/blog\/animated_webp_how_to_convert_animated_gif_to_webp_and_save_up_to_90_bandwidth\">Animated WebP &#8211; how to convert animated GIF to WebP and save up to 90% bandwidth<\/a>\n<\/li>\n<li>\n<a href=\"https:\/\/cloudinary.com\/blog\/optimize_your_jpeg_images_without_compromising_quality_with_jpegmini_and_cloudinary\">JPEG Image Optimization Without Compromising Quality With JPEGmini and Cloudinary<\/a>\n<\/li>\n<li>\n<a href=\"https:\/\/cloudinary.com\/blog\/how_to_support_webp_images_save_bandwidth_and_improve_user_performance\">Check for WebP Browser Support to Dynamically Deliver Images<\/a>\n<\/li>\n<li>\n<a href=\"https:\/\/cloudinary.com\/blog\/quick_guide_using_webp_on_your_website_or_native_apps\">Adopting the WebP Image Format for Android on Websites Or Native Apps<\/a>\n<\/li>\n<li>\n<a href=\"https:\/\/cloudinary.com\/blog\/lossy_compression_for_optimizing_animated_gifs\">Optimizing Animated GIFs With Lossy Compression<\/a>\n<\/li>\n<\/ul>\n<\/div>","protected":false},"excerpt":{"rendered":"","protected":false},"author":41,"featured_media":23347,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"_cloudinary_featured_overwrite":false,"footnotes":""},"categories":[1],"tags":[91,92,165,176,214,227,229,257],"class_list":["post-21235","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-uncategorized","tag-django","tag-dotnet","tag-image-transformation","tag-java","tag-node","tag-performance-optimization","tag-php","tag-ruby-on-rails"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v25.6 (Yoast SEO v26.9) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>JPEG Image Optimization Without Losing Quality<\/title>\n<meta name=\"description\" content=\"Learn how to optimize and reduce JPEG image file size without losing quality by using Cloudinary&#039;s cloud-based image management service.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/cloudinary.com\/blog\/optimize_your_jpeg_images_without_compromising_quality_with_jpegmini_and_cloudinary\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"JPEG Image Optimization Without Compromising Quality With JPEGmini and Cloudinary\" \/>\n<meta property=\"og:description\" content=\"Learn how to optimize and reduce JPEG image file size without losing quality by using Cloudinary&#039;s cloud-based image management service.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/cloudinary.com\/blog\/optimize_your_jpeg_images_without_compromising_quality_with_jpegmini_and_cloudinary\" \/>\n<meta property=\"og:site_name\" content=\"Cloudinary Blog\" \/>\n<meta property=\"article:published_time\" content=\"2014-05-29T11:13:15+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-03-23T21:11:05+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/v1647045696\/32_jpeg_mini\/32_jpeg_mini-jpg?_i=AA\" \/>\n\t<meta property=\"og:image:width\" content=\"2000\" \/>\n\t<meta property=\"og:image:height\" content=\"1100\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"NewsArticle\",\"@id\":\"https:\/\/cloudinary.com\/blog\/optimize_your_jpeg_images_without_compromising_quality_with_jpegmini_and_cloudinary#article\",\"isPartOf\":{\"@id\":\"https:\/\/cloudinary.com\/blog\/optimize_your_jpeg_images_without_compromising_quality_with_jpegmini_and_cloudinary\"},\"author\":{\"name\":\"\",\"@id\":\"\"},\"headline\":\"JPEG Image Optimization Without Compromising Quality With JPEGmini and Cloudinary\",\"datePublished\":\"2014-05-29T11:13:15+00:00\",\"dateModified\":\"2025-03-23T21:11:05+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/cloudinary.com\/blog\/optimize_your_jpeg_images_without_compromising_quality_with_jpegmini_and_cloudinary\"},\"wordCount\":10,\"publisher\":{\"@id\":\"https:\/\/cloudinary.com\/blog\/#organization\"},\"image\":{\"@id\":\"https:\/\/cloudinary.com\/blog\/optimize_your_jpeg_images_without_compromising_quality_with_jpegmini_and_cloudinary#primaryimage\"},\"thumbnailUrl\":\"https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/f_auto,q_auto\/v1647045696\/32_jpeg_mini\/32_jpeg_mini.jpg?_i=AA\",\"keywords\":[\"Django\",\"DotNet\",\"Image Transformation\",\"Java\",\"Node\",\"Performance Optimization\",\"PHP\",\"Ruby on Rails\"],\"inLanguage\":\"en-US\",\"copyrightYear\":\"2014\",\"copyrightHolder\":{\"@id\":\"https:\/\/cloudinary.com\/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/cloudinary.com\/blog\/optimize_your_jpeg_images_without_compromising_quality_with_jpegmini_and_cloudinary\",\"url\":\"https:\/\/cloudinary.com\/blog\/optimize_your_jpeg_images_without_compromising_quality_with_jpegmini_and_cloudinary\",\"name\":\"JPEG Image Optimization Without Losing Quality\",\"isPartOf\":{\"@id\":\"https:\/\/cloudinary.com\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/cloudinary.com\/blog\/optimize_your_jpeg_images_without_compromising_quality_with_jpegmini_and_cloudinary#primaryimage\"},\"image\":{\"@id\":\"https:\/\/cloudinary.com\/blog\/optimize_your_jpeg_images_without_compromising_quality_with_jpegmini_and_cloudinary#primaryimage\"},\"thumbnailUrl\":\"https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/f_auto,q_auto\/v1647045696\/32_jpeg_mini\/32_jpeg_mini.jpg?_i=AA\",\"datePublished\":\"2014-05-29T11:13:15+00:00\",\"dateModified\":\"2025-03-23T21:11:05+00:00\",\"description\":\"Learn how to optimize and reduce JPEG image file size without losing quality by using Cloudinary's cloud-based image management service.\",\"breadcrumb\":{\"@id\":\"https:\/\/cloudinary.com\/blog\/optimize_your_jpeg_images_without_compromising_quality_with_jpegmini_and_cloudinary#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/cloudinary.com\/blog\/optimize_your_jpeg_images_without_compromising_quality_with_jpegmini_and_cloudinary\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/cloudinary.com\/blog\/optimize_your_jpeg_images_without_compromising_quality_with_jpegmini_and_cloudinary#primaryimage\",\"url\":\"https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/f_auto,q_auto\/v1647045696\/32_jpeg_mini\/32_jpeg_mini.jpg?_i=AA\",\"contentUrl\":\"https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/f_auto,q_auto\/v1647045696\/32_jpeg_mini\/32_jpeg_mini.jpg?_i=AA\",\"width\":2000,\"height\":1100},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/cloudinary.com\/blog\/optimize_your_jpeg_images_without_compromising_quality_with_jpegmini_and_cloudinary#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/cloudinary.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"JPEG Image Optimization Without Compromising Quality With JPEGmini and Cloudinary\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/cloudinary.com\/blog\/#website\",\"url\":\"https:\/\/cloudinary.com\/blog\/\",\"name\":\"Cloudinary Blog\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\/\/cloudinary.com\/blog\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/cloudinary.com\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/cloudinary.com\/blog\/#organization\",\"name\":\"Cloudinary Blog\",\"url\":\"https:\/\/cloudinary.com\/blog\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/cloudinary.com\/blog\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/f_auto,q_auto\/v1649718331\/Web_Assets\/blog\/cloudinary_logo_for_white_bg_1937437aa7_19374666c7_193742f877\/cloudinary_logo_for_white_bg_1937437aa7_19374666c7_193742f877.png?_i=AA\",\"contentUrl\":\"https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/f_auto,q_auto\/v1649718331\/Web_Assets\/blog\/cloudinary_logo_for_white_bg_1937437aa7_19374666c7_193742f877\/cloudinary_logo_for_white_bg_1937437aa7_19374666c7_193742f877.png?_i=AA\",\"width\":312,\"height\":60,\"caption\":\"Cloudinary Blog\"},\"image\":{\"@id\":\"https:\/\/cloudinary.com\/blog\/#\/schema\/logo\/image\/\"}},{\"@type\":\"Person\",\"@id\":\"\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"JPEG Image Optimization Without Losing Quality","description":"Learn how to optimize and reduce JPEG image file size without losing quality by using Cloudinary's cloud-based image management service.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/cloudinary.com\/blog\/optimize_your_jpeg_images_without_compromising_quality_with_jpegmini_and_cloudinary","og_locale":"en_US","og_type":"article","og_title":"JPEG Image Optimization Without Compromising Quality With JPEGmini and Cloudinary","og_description":"Learn how to optimize and reduce JPEG image file size without losing quality by using Cloudinary's cloud-based image management service.","og_url":"https:\/\/cloudinary.com\/blog\/optimize_your_jpeg_images_without_compromising_quality_with_jpegmini_and_cloudinary","og_site_name":"Cloudinary Blog","article_published_time":"2014-05-29T11:13:15+00:00","article_modified_time":"2025-03-23T21:11:05+00:00","og_image":[{"width":2000,"height":1100,"url":"https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/v1647045696\/32_jpeg_mini\/32_jpeg_mini-jpg?_i=AA","type":"image\/jpeg"}],"twitter_card":"summary_large_image","schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"NewsArticle","@id":"https:\/\/cloudinary.com\/blog\/optimize_your_jpeg_images_without_compromising_quality_with_jpegmini_and_cloudinary#article","isPartOf":{"@id":"https:\/\/cloudinary.com\/blog\/optimize_your_jpeg_images_without_compromising_quality_with_jpegmini_and_cloudinary"},"author":{"name":"","@id":""},"headline":"JPEG Image Optimization Without Compromising Quality With JPEGmini and Cloudinary","datePublished":"2014-05-29T11:13:15+00:00","dateModified":"2025-03-23T21:11:05+00:00","mainEntityOfPage":{"@id":"https:\/\/cloudinary.com\/blog\/optimize_your_jpeg_images_without_compromising_quality_with_jpegmini_and_cloudinary"},"wordCount":10,"publisher":{"@id":"https:\/\/cloudinary.com\/blog\/#organization"},"image":{"@id":"https:\/\/cloudinary.com\/blog\/optimize_your_jpeg_images_without_compromising_quality_with_jpegmini_and_cloudinary#primaryimage"},"thumbnailUrl":"https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/f_auto,q_auto\/v1647045696\/32_jpeg_mini\/32_jpeg_mini.jpg?_i=AA","keywords":["Django","DotNet","Image Transformation","Java","Node","Performance Optimization","PHP","Ruby on Rails"],"inLanguage":"en-US","copyrightYear":"2014","copyrightHolder":{"@id":"https:\/\/cloudinary.com\/#organization"}},{"@type":"WebPage","@id":"https:\/\/cloudinary.com\/blog\/optimize_your_jpeg_images_without_compromising_quality_with_jpegmini_and_cloudinary","url":"https:\/\/cloudinary.com\/blog\/optimize_your_jpeg_images_without_compromising_quality_with_jpegmini_and_cloudinary","name":"JPEG Image Optimization Without Losing Quality","isPartOf":{"@id":"https:\/\/cloudinary.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/cloudinary.com\/blog\/optimize_your_jpeg_images_without_compromising_quality_with_jpegmini_and_cloudinary#primaryimage"},"image":{"@id":"https:\/\/cloudinary.com\/blog\/optimize_your_jpeg_images_without_compromising_quality_with_jpegmini_and_cloudinary#primaryimage"},"thumbnailUrl":"https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/f_auto,q_auto\/v1647045696\/32_jpeg_mini\/32_jpeg_mini.jpg?_i=AA","datePublished":"2014-05-29T11:13:15+00:00","dateModified":"2025-03-23T21:11:05+00:00","description":"Learn how to optimize and reduce JPEG image file size without losing quality by using Cloudinary's cloud-based image management service.","breadcrumb":{"@id":"https:\/\/cloudinary.com\/blog\/optimize_your_jpeg_images_without_compromising_quality_with_jpegmini_and_cloudinary#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/cloudinary.com\/blog\/optimize_your_jpeg_images_without_compromising_quality_with_jpegmini_and_cloudinary"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/cloudinary.com\/blog\/optimize_your_jpeg_images_without_compromising_quality_with_jpegmini_and_cloudinary#primaryimage","url":"https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/f_auto,q_auto\/v1647045696\/32_jpeg_mini\/32_jpeg_mini.jpg?_i=AA","contentUrl":"https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/f_auto,q_auto\/v1647045696\/32_jpeg_mini\/32_jpeg_mini.jpg?_i=AA","width":2000,"height":1100},{"@type":"BreadcrumbList","@id":"https:\/\/cloudinary.com\/blog\/optimize_your_jpeg_images_without_compromising_quality_with_jpegmini_and_cloudinary#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/cloudinary.com\/blog\/"},{"@type":"ListItem","position":2,"name":"JPEG Image Optimization Without Compromising Quality With JPEGmini and Cloudinary"}]},{"@type":"WebSite","@id":"https:\/\/cloudinary.com\/blog\/#website","url":"https:\/\/cloudinary.com\/blog\/","name":"Cloudinary Blog","description":"","publisher":{"@id":"https:\/\/cloudinary.com\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/cloudinary.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/cloudinary.com\/blog\/#organization","name":"Cloudinary Blog","url":"https:\/\/cloudinary.com\/blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/cloudinary.com\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/f_auto,q_auto\/v1649718331\/Web_Assets\/blog\/cloudinary_logo_for_white_bg_1937437aa7_19374666c7_193742f877\/cloudinary_logo_for_white_bg_1937437aa7_19374666c7_193742f877.png?_i=AA","contentUrl":"https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/f_auto,q_auto\/v1649718331\/Web_Assets\/blog\/cloudinary_logo_for_white_bg_1937437aa7_19374666c7_193742f877\/cloudinary_logo_for_white_bg_1937437aa7_19374666c7_193742f877.png?_i=AA","width":312,"height":60,"caption":"Cloudinary Blog"},"image":{"@id":"https:\/\/cloudinary.com\/blog\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":""}]}},"jetpack_featured_media_url":"https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/f_auto,q_auto\/v1647045696\/32_jpeg_mini\/32_jpeg_mini.jpg?_i=AA","_links":{"self":[{"href":"https:\/\/cloudinary.com\/blog\/wp-json\/wp\/v2\/posts\/21235","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/cloudinary.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/cloudinary.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/cloudinary.com\/blog\/wp-json\/wp\/v2\/users\/41"}],"replies":[{"embeddable":true,"href":"https:\/\/cloudinary.com\/blog\/wp-json\/wp\/v2\/comments?post=21235"}],"version-history":[{"count":8,"href":"https:\/\/cloudinary.com\/blog\/wp-json\/wp\/v2\/posts\/21235\/revisions"}],"predecessor-version":[{"id":37262,"href":"https:\/\/cloudinary.com\/blog\/wp-json\/wp\/v2\/posts\/21235\/revisions\/37262"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/cloudinary.com\/blog\/wp-json\/wp\/v2\/media\/23347"}],"wp:attachment":[{"href":"https:\/\/cloudinary.com\/blog\/wp-json\/wp\/v2\/media?parent=21235"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/cloudinary.com\/blog\/wp-json\/wp\/v2\/categories?post=21235"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/cloudinary.com\/blog\/wp-json\/wp\/v2\/tags?post=21235"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}