files/en-us/web/css/reference/properties/image-orientation/index.md
The image-orientation CSS property specifies a layout-independent correction to the orientation of an image.
{{InteractiveExample("CSS Demo: image-orientation")}}
image-orientation: none;
image-orientation: from-image;
<section id="default-example">
</section>
#example-element {
height: inherit;
}
/* keyword values */
image-orientation: none;
image-orientation: from-image; /* Use EXIF data from the image */
/* Global values */
image-orientation: inherit;
image-orientation: initial;
image-orientation: revert;
image-orientation: revert-layer;
image-orientation: unset;
none
from-image
[!WARNING]
image-orientation: none;does not override the orientation of non-secure-origin images as encoded by their EXIF information, due to security concerns. Find out more from the CSS working group draft issue.
This property is intended only to be used for the purpose of correcting the orientation of images which were shot with the camera rotated. It should not be used for arbitrary rotations. For any purpose other than correcting an image's orientation due to how it was shot or scanned, use a {{cssxref("transform")}} property with the rotate keyword to specify rotation. This includes any user-directed changes to the orientation of the image, or changes required for printing in portrait versus landscape orientation.
If used in conjunction with other CSS properties, such as a {{cssxref("<transform-function>")}}, any image-orientation rotation is applied before any other transformations.
{{cssinfo}}
{{csssyntax}}
The following image has been rotated through 180 degrees, and the image-orientation property is used to correct its orientation based on the EXIF data in the image. By changing the image-orientation to none you can see the effect of the property.
#image {
image-orientation: from-image; /* Can be changed in the live sample */
}
img {
margin: 0.5rem 0;
}
label {
font-family: monospace;
}
<div>
<input
type="radio"
id="from-image"
name="orientation"
value="from-image"
checked />
<label for="from-image">from-image</label>
</div>
<div>
<input type="radio" id="none" name="orientation" value="none" />
<label for="none">none</label>
</div>
document.addEventListener("change", (evt) => {
document.getElementById("image").style.imageOrientation = evt.target.value;
});
{{EmbedLiveSample("Orienting_image_from_image_data", "100%", 900)}}
{{Specifications}}
{{Compat}}