{"id":21138,"date":"2012-06-13T07:59:22","date_gmt":"2012-06-13T07:59:22","guid":{"rendered":"http:\/\/automatic_and_custom_image_rotation"},"modified":"2026-03-15T12:40:06","modified_gmt":"2026-03-15T19:40:06","slug":"automatic_and_custom_image_rotation","status":"publish","type":"post","link":"https:\/\/cloudinary.com\/blog\/automatic_and_custom_image_rotation","title":{"rendered":"The Need for Cloud-Based Auto-Rotated Images"},"content":{"rendered":"<div>Several years ago, a good friend of mine showed me a cool graphic design concept for his new web-based startup company. It looked pretty great. What really caught my eye was the designer\u2019s unique use of visitor profile photos. You see, when a visitor registered to the service and uploaded his photo, the designer envisioned a large, faded, B&amp;W, slightly rotated version of the same profile photo being used as the background image for the visitor\u2019s personal home page. I thought for a minute and told my friend to let this one go.<\/div>\n<div><\/div>\n<div>While the effect looked great, installing a server-side image transformation software just for the creation of a background photo seemed like an excessive effort for an early-stage, self-funded startup. I still have mixed feelings about this particular piece of advice. Today, I have a chance to make some right out of this wrong, with the addition of image rotation to Cloudinary\u2019s cloud-based image transformation capabilities. If we had Cloudinary back then, applying these effects to an image while rotating it would have been a no brainer.<\/div>\n<div><\/div>\n<div>In order to auto <a href=\"https:\/\/cloudinary.com\/tools\/rotate-image\">rotate images<\/a>, simply use the new &#8216;<span style=\"color: #c12501;\"><strong>angle<\/strong><\/span>&#8216; parameter, or &#8216;<span style=\"color: #c12501;\"><strong>a<\/strong><\/span>&#8216; for URL based transformations. It accepts an integer of either positive or negative number of degrees to rotate the image by.<\/div>\n<div><\/div>\n<div>The following example rotates an uploaded image by 25 degrees clockwise in addition to resizing it to 30% of the original size:<\/div>\n<div><\/div>\n<div><strong><a href=\"https:\/\/res.cloudinary.com\/demo\/image\/upload\/w_0.3,a_25\/sheep.jpg\" target=\"_blank\" rel=\"noopener\">https:\/\/res.cloudinary.com\/demo\/image\/upload\/w_0.3,<span style=\"color: #c12501;\">a_25<\/span>\/sheep.jpg<\/a><\/strong><\/div>\n<div><strong>\u00a0<\/strong><\/div>\n<div style=\"text-align: center;\"><strong><br \/>\n<\/strong><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/res.cloudinary.com\/demo\/image\/upload\/w_0.3\/sheep.jpg\" alt=\"\" width=\"240\" height=\"150\" \/>\u00a0 \u00a0\u00a0<img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/res.cloudinary.com\/demo\/image\/upload\/w_0.3,a_25\/sheep.jpg\" alt=\"\" width=\"280\" height=\"237\" \/><\/div>\n<div style=\"text-align: center;\"><\/div>\n<div style=\"text-align: left;\">Same example in Ruby on Rails:<\/div>\n<pre>&lt;%= cl_image_tag(\"sheep.jpg\", :width =&gt; 0.3, :crop =&gt; :scale, :angle =&gt; 25) %&gt;\n<\/pre>\n<div style=\"text-align: left;\">In PHP:<\/div>\n<pre>&lt;?php echo cl_image_tag(\"sheep.jpg\", array(\"width\" =&gt; 0.3, \"crop\" =&gt; \"scale\",\n                        \"angle\" =&gt; 25)); ?&gt;\n<\/pre>\n<div style=\"text-align: left;\"><\/div>\n<div style=\"text-align: left;\">And with our jQuery plugin:<\/div>\n<div style=\"text-align: left;\">\n<pre>$.cloudinary.image(\"sheep.jpg\", {width: 0.3, crop: \"scale\", angle: 25});\n<\/pre>\n<div><\/div>\n<div><\/div>\n<\/div>\n<div style=\"text-align: left;\">You can also chain multiple transformations to reach nicer effects. As always, this can be achieved using either a simple URL or a one-liner piece of code with your preferred Cloudinary client-side library. The following example scales down the uploaded image, rounds its corners, adds a watermark and auto-rotates the image by 15 degrees counter-clockwise:<\/div>\n<div style=\"text-align: left;\"><\/div>\n<div style=\"text-align: left;\"><strong><a href=\"https:\/\/res.cloudinary.com\/demo\/image\/upload\/w_200,r_20\/w_160,l_dark_watermark\/a_-15\/sheep.jpg\" target=\"_blank\" rel=\"noopener\">&#8230;\/image\/upload\/w_200,r_20\/w_160,l_dark_watermark\/<span style=\"color: #b51701;\">a_-15<\/span>\/sheep.jpg<\/a><\/strong><\/div>\n<div style=\"text-align: left;\"><strong>\u00a0<\/strong><\/div>\n<div style=\"text-align: center;\"><strong><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/res.cloudinary.com\/demo\/image\/upload\/w_200,r_20\/w_160,l_dark_watermark\/a_-15\/sheep.jpg\" alt=\"\" width=\"226\" height=\"173\" \/><\/strong><\/div>\n<div style=\"text-align: left;\"><strong>\u00a0<\/strong><\/div>\n<h3 style=\"text-align: left;\">Auto rotate image<\/h3>\n<div style=\"text-align: left;\">Real-world photos usually have a clear orientation. Occasionally, you\u2019ll run into image that can be depicted just fine in both landscape and portrait modes. One example might be an architectural floor plan or a design for an apartment. Let\u2019s see how such images might fit a graphic design that leaves room for 300x200px photos.<\/div>\n<div style=\"text-align: left;\"><\/div>\n<div style=\"text-align: left;\"><strong><a href=\"https:\/\/res.cloudinary.com\/demo\/image\/upload\/w_300,h_200,c_pad,b_rgb:cddae4\/landscape_plan.jpg\" target=\"_blank\" rel=\"noopener\">&#8230;\/image\/upload\/w_300,h_200,c_pad,b_rgb:cddae4\/landscape_plan.jpg<\/a><\/strong><\/div>\n<div style=\"text-align: left;\"><strong>\u00a0<\/strong><\/div>\n<div style=\"text-align: left;\"><strong><a href=\"https:\/\/res.cloudinary.com\/demo\/image\/upload\/w_300,h_200,c_pad,b_rgb:cddae4\/portrait_plan.jpg\" target=\"_blank\" rel=\"noopener\">&#8230;\/image\/upload\/w_300,h_200,c_pad,b_rgb:cddae4\/portrait_plan.jpg<\/a><\/strong><\/div>\n<div style=\"text-align: left;\"><strong>\u00a0<\/strong><\/div>\n<div style=\"text-align: left;\"><strong><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/res.cloudinary.com\/demo\/image\/upload\/w_300,h_200,c_pad,b_rgb:cddae4\/landscape_plan.jpg\" alt=\"\" width=\"300\" height=\"200\" \/>\u00a0\u00a0<img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/res.cloudinary.com\/demo\/image\/upload\/w_300,h_200,c_pad,b_rgb:cddae4\/portrait_plan.jpg\" alt=\"\" width=\"300\" height=\"200\" \/><\/strong><\/div>\n<div style=\"text-align: left;\"><strong>\u00a0<\/strong><\/div>\n<div style=\"text-align: left;\">\n<div>As you can see the landscape plan fits almost perfectly into the 300&#215;200 rectangle. However, the portrait one on the right doesn\u2019t effectively use the given space and requires lots of padding on its right and left sides.<\/div>\n<div><\/div>\n<div>Such drawings are oblivious to orientation and hence we can rotate them without affecting their content. For such images, we can get a perfect fit by letting Cloudinary auto-rotates images, when needed. Simply pass &#8216;<span style=\"color: #b51701;\"><strong>auto<\/strong><\/span>&#8216; (or &#8216;<span style=\"color: #b51701;\"><strong>auto_right<\/strong><\/span>&#8216;) and &#8216;<span style=\"color: #b51701;\"><strong>auto_left<\/strong><\/span>&#8216; as the &#8216;<span style=\"color: #b51701;\"><strong>angle<\/strong><\/span>&#8216; parameter. This parameter tells Cloudinary that it can rotate the image left or right when the aspect ratio of the original image doesn\u2019t match the requested target ratio.<\/div>\n<\/div>\n<div><\/div>\n<div>Here\u2019s the same example, this time with auto rotation:<\/div>\n<div><\/div>\n<div><strong><a href=\"https:\/\/res.cloudinary.com\/demo\/image\/upload\/w_300,h_200,c_pad,b_rgb:cddae4,a_auto\/landscape_plan.jpg\" target=\"_blank\" rel=\"noopener\">&#8230;\/image\/upload\/w_300,h_200,c_pad,b_rgb:cddae4,<span style=\"color: #b51701;\">a_auto<\/span>\/landscape_plan.jpg<\/a><\/strong><\/div>\n<div><\/div>\n<div><strong><a href=\"https:\/\/res.cloudinary.com\/demo\/image\/upload\/w_300,h_200,c_pad,b_rgb:cddae4,a_auto\/portrait_plan.jpg\" target=\"_blank\" rel=\"noopener\">&#8230;\/image\/upload\/w_300,h_200,c_pad,b_rgb:cddae4,<span style=\"color: #b51701;\">a_auto<\/span>\/portrait_plan.jpg<\/a><\/strong><\/div>\n<div><strong>\u00a0<\/strong><\/div>\n<div><strong><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/res.cloudinary.com\/demo\/image\/upload\/w_300,h_200,c_pad,b_rgb:cddae4,a_auto\/landscape_plan.jpg\" alt=\"\" width=\"300\" height=\"200\" \/>\u00a0\u00a0<img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/res.cloudinary.com\/demo\/image\/upload\/w_300,h_200,c_pad,b_rgb:cddae4,a_auto\/portrait_plan.jpg\" alt=\"\" width=\"300\" height=\"200\" \/><\/strong><\/div>\n<div><\/div>\n<div>As you can see, the result is a much better display of the drawing, with considerably less padding required. All that, without any effort or coding on your side.<\/div>\n<div><\/div>\n<div>Same example in Ruby on Rails:<\/div>\n<pre>&lt;%= cl_image_tag(\"portrait_plan.jpg\", :width =&gt; 300, :height =&gt; 200, \n                 :crop =&gt; :pad, :background =&gt; '#cddae4', :angle =&gt; :auto) %&gt;<\/pre>\n<div>If you use CarrierWave in your a Rails project, you can add the following to your versions:<\/div>\n<pre>cloudinary_transformation :angle =&gt; :auto\n<\/pre>\n<div><img loading=\"lazy\" decoding=\"async\" style=\"float: left; margin: 5px 10px 5px 10px;\" src=\"https:\/\/res.cloudinary.com\/cloudinary\/image\/upload\/pqjz1rhzb6lnfuvtadlzbg.png\" alt=\"View The Space\" width=\"123\" height=\"58\" \/>Incidentally, we saw the need for auto-rotated images at the website of one of Cloudinary\u2019s customers. The service, <a href=\"http:\/\/www.viewthespace.com\/\" target=\"_blank\" rel=\"noopener\">View The Space<\/a>, a smart online tool that helps generate leasing activity for landlords and brokers, embeds such architectural designs and floor plans within its website.<\/div>\n<div><\/div>\n<div>Custom and automatic image rotation are now available for our free and paid plans. Note that although some samples above are in Ruby, the same can be done in other Cloudinary client libraries &#8211; PHP, Python &amp; Django, Perl, .NET and jQuery.<\/div>\n<div><\/div>\n<div>If you enjoyed our new image rotation capabilities, make sure you check out <a href=\"https:\/\/cloudinary.com\/blog\/face_detection_based_cropping\" target=\"_blank\" rel=\"noopener\">Coudinary\u2019s face detection based cropping<\/a>, <a href=\"https:\/\/cloudinary.com\/blog\/adding_rounded_corners_to_images_and_cropping_images_to_circles\" target=\"_blank\" rel=\"noopener\">corners rounding<\/a>\u00a0and <a href=\"https:\/\/cloudinary.com\/blog\/adding_watermarks_credits_badges_and_text_overlays_to_images\" target=\"_blank\" rel=\"noopener\">watermarks overlays<\/a>.<\/div>\n<div><\/div>\n<div><\/div>\n","protected":false},"excerpt":{"rendered":"<p>Several years ago, a good friend of mine showed me a cool graphic design concept for his new web-based startup company. It looked pretty great. What really caught my eye was the designer\u2019s unique use of visitor profile photos. You see, when a visitor registered to the service and uploaded his photo, the designer envisioned [&hellip;]<\/p>\n","protected":false},"author":41,"featured_media":24029,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"_cloudinary_featured_overwrite":false,"footnotes":""},"categories":[1],"tags":[165,227],"class_list":["post-21138","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-uncategorized","tag-image-transformation","tag-performance-optimization"],"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>The Need for Cloud-Based Auto-Rotated Images<\/title>\n<meta name=\"description\" content=\"Auto-rotate an image by any arbitrary angle in degrees by using Cloudinary\u2019s cloud-based image transformation and rotation capabilities\" \/>\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\/automatic_and_custom_image_rotation\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"The Need for Cloud-Based Auto-Rotated Images\" \/>\n<meta property=\"og:description\" content=\"Auto-rotate an image by any arbitrary angle in degrees by using Cloudinary\u2019s cloud-based image transformation and rotation capabilities\" \/>\n<meta property=\"og:url\" content=\"https:\/\/cloudinary.com\/blog\/automatic_and_custom_image_rotation\" \/>\n<meta property=\"og:site_name\" content=\"Cloudinary Blog\" \/>\n<meta property=\"article:published_time\" content=\"2012-06-13T07:59:22+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-03-15T19:40:06+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/f_auto,q_auto\/v1649781066\/70_Need-Cloud-Autorotate\/70_Need-Cloud-Autorotate.png?_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\/png\" \/>\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\/automatic_and_custom_image_rotation#article\",\"isPartOf\":{\"@id\":\"https:\/\/cloudinary.com\/blog\/automatic_and_custom_image_rotation\"},\"author\":{\"name\":\"\",\"@id\":\"\"},\"headline\":\"The Need for Cloud-Based Auto-Rotated Images\",\"datePublished\":\"2012-06-13T07:59:22+00:00\",\"dateModified\":\"2026-03-15T19:40:06+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/cloudinary.com\/blog\/automatic_and_custom_image_rotation\"},\"wordCount\":732,\"publisher\":{\"@id\":\"https:\/\/cloudinary.com\/blog\/#organization\"},\"image\":{\"@id\":\"https:\/\/cloudinary.com\/blog\/automatic_and_custom_image_rotation#primaryimage\"},\"thumbnailUrl\":\"https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/f_auto,q_auto\/v1649781066\/70_Need-Cloud-Autorotate\/70_Need-Cloud-Autorotate.png?_i=AA\",\"keywords\":[\"Image Transformation\",\"Performance Optimization\"],\"inLanguage\":\"en-US\",\"copyrightYear\":\"2012\",\"copyrightHolder\":{\"@id\":\"https:\/\/cloudinary.com\/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/cloudinary.com\/blog\/automatic_and_custom_image_rotation\",\"url\":\"https:\/\/cloudinary.com\/blog\/automatic_and_custom_image_rotation\",\"name\":\"The Need for Cloud-Based Auto-Rotated Images\",\"isPartOf\":{\"@id\":\"https:\/\/cloudinary.com\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/cloudinary.com\/blog\/automatic_and_custom_image_rotation#primaryimage\"},\"image\":{\"@id\":\"https:\/\/cloudinary.com\/blog\/automatic_and_custom_image_rotation#primaryimage\"},\"thumbnailUrl\":\"https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/f_auto,q_auto\/v1649781066\/70_Need-Cloud-Autorotate\/70_Need-Cloud-Autorotate.png?_i=AA\",\"datePublished\":\"2012-06-13T07:59:22+00:00\",\"dateModified\":\"2026-03-15T19:40:06+00:00\",\"description\":\"Auto-rotate an image by any arbitrary angle in degrees by using Cloudinary\u2019s cloud-based image transformation and rotation capabilities\",\"breadcrumb\":{\"@id\":\"https:\/\/cloudinary.com\/blog\/automatic_and_custom_image_rotation#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/cloudinary.com\/blog\/automatic_and_custom_image_rotation\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/cloudinary.com\/blog\/automatic_and_custom_image_rotation#primaryimage\",\"url\":\"https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/f_auto,q_auto\/v1649781066\/70_Need-Cloud-Autorotate\/70_Need-Cloud-Autorotate.png?_i=AA\",\"contentUrl\":\"https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/f_auto,q_auto\/v1649781066\/70_Need-Cloud-Autorotate\/70_Need-Cloud-Autorotate.png?_i=AA\",\"width\":2000,\"height\":1100},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/cloudinary.com\/blog\/automatic_and_custom_image_rotation#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/cloudinary.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"The Need for Cloud-Based Auto-Rotated Images\"}]},{\"@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":"The Need for Cloud-Based Auto-Rotated Images","description":"Auto-rotate an image by any arbitrary angle in degrees by using Cloudinary\u2019s cloud-based image transformation and rotation capabilities","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\/automatic_and_custom_image_rotation","og_locale":"en_US","og_type":"article","og_title":"The Need for Cloud-Based Auto-Rotated Images","og_description":"Auto-rotate an image by any arbitrary angle in degrees by using Cloudinary\u2019s cloud-based image transformation and rotation capabilities","og_url":"https:\/\/cloudinary.com\/blog\/automatic_and_custom_image_rotation","og_site_name":"Cloudinary Blog","article_published_time":"2012-06-13T07:59:22+00:00","article_modified_time":"2026-03-15T19:40:06+00:00","og_image":[{"width":2000,"height":1100,"url":"https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/f_auto,q_auto\/v1649781066\/70_Need-Cloud-Autorotate\/70_Need-Cloud-Autorotate.png?_i=AA","type":"image\/png"}],"twitter_card":"summary_large_image","schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"NewsArticle","@id":"https:\/\/cloudinary.com\/blog\/automatic_and_custom_image_rotation#article","isPartOf":{"@id":"https:\/\/cloudinary.com\/blog\/automatic_and_custom_image_rotation"},"author":{"name":"","@id":""},"headline":"The Need for Cloud-Based Auto-Rotated Images","datePublished":"2012-06-13T07:59:22+00:00","dateModified":"2026-03-15T19:40:06+00:00","mainEntityOfPage":{"@id":"https:\/\/cloudinary.com\/blog\/automatic_and_custom_image_rotation"},"wordCount":732,"publisher":{"@id":"https:\/\/cloudinary.com\/blog\/#organization"},"image":{"@id":"https:\/\/cloudinary.com\/blog\/automatic_and_custom_image_rotation#primaryimage"},"thumbnailUrl":"https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/f_auto,q_auto\/v1649781066\/70_Need-Cloud-Autorotate\/70_Need-Cloud-Autorotate.png?_i=AA","keywords":["Image Transformation","Performance Optimization"],"inLanguage":"en-US","copyrightYear":"2012","copyrightHolder":{"@id":"https:\/\/cloudinary.com\/#organization"}},{"@type":"WebPage","@id":"https:\/\/cloudinary.com\/blog\/automatic_and_custom_image_rotation","url":"https:\/\/cloudinary.com\/blog\/automatic_and_custom_image_rotation","name":"The Need for Cloud-Based Auto-Rotated Images","isPartOf":{"@id":"https:\/\/cloudinary.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/cloudinary.com\/blog\/automatic_and_custom_image_rotation#primaryimage"},"image":{"@id":"https:\/\/cloudinary.com\/blog\/automatic_and_custom_image_rotation#primaryimage"},"thumbnailUrl":"https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/f_auto,q_auto\/v1649781066\/70_Need-Cloud-Autorotate\/70_Need-Cloud-Autorotate.png?_i=AA","datePublished":"2012-06-13T07:59:22+00:00","dateModified":"2026-03-15T19:40:06+00:00","description":"Auto-rotate an image by any arbitrary angle in degrees by using Cloudinary\u2019s cloud-based image transformation and rotation capabilities","breadcrumb":{"@id":"https:\/\/cloudinary.com\/blog\/automatic_and_custom_image_rotation#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/cloudinary.com\/blog\/automatic_and_custom_image_rotation"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/cloudinary.com\/blog\/automatic_and_custom_image_rotation#primaryimage","url":"https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/f_auto,q_auto\/v1649781066\/70_Need-Cloud-Autorotate\/70_Need-Cloud-Autorotate.png?_i=AA","contentUrl":"https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/f_auto,q_auto\/v1649781066\/70_Need-Cloud-Autorotate\/70_Need-Cloud-Autorotate.png?_i=AA","width":2000,"height":1100},{"@type":"BreadcrumbList","@id":"https:\/\/cloudinary.com\/blog\/automatic_and_custom_image_rotation#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/cloudinary.com\/blog\/"},{"@type":"ListItem","position":2,"name":"The Need for Cloud-Based Auto-Rotated Images"}]},{"@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\/v1649781066\/70_Need-Cloud-Autorotate\/70_Need-Cloud-Autorotate.png?_i=AA","_links":{"self":[{"href":"https:\/\/cloudinary.com\/blog\/wp-json\/wp\/v2\/posts\/21138","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=21138"}],"version-history":[{"count":3,"href":"https:\/\/cloudinary.com\/blog\/wp-json\/wp\/v2\/posts\/21138\/revisions"}],"predecessor-version":[{"id":39876,"href":"https:\/\/cloudinary.com\/blog\/wp-json\/wp\/v2\/posts\/21138\/revisions\/39876"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/cloudinary.com\/blog\/wp-json\/wp\/v2\/media\/24029"}],"wp:attachment":[{"href":"https:\/\/cloudinary.com\/blog\/wp-json\/wp\/v2\/media?parent=21138"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/cloudinary.com\/blog\/wp-json\/wp\/v2\/categories?post=21138"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/cloudinary.com\/blog\/wp-json\/wp\/v2\/tags?post=21138"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}