The offset-rotate property sets how an element faces while it is positioned on an offset-path. Use auto to follow the path direction, reverse to face the other way, or an angle to keep a fixed tilt.
The initial value is auto. You can combine auto with an angle, such as auto 45deg, to follow the path and add a constant offset. It is not inherited, and it is part of the offset shorthand.
Baseline · Formerly motion-rotation.
Not deprecated and not experimental. Early drafts used motion-rotation. Use offset-rotate in new code. Widely available since September 2022.
reverse still tracks the path. It turns with the curve like auto.
Facing is flipped. Same idea as auto 180deg.
Compare with auto. The tip points the other way at every point on the route.
Use for “backing up” looks. Handy when an icon should face opposite the travel direction.
Edge Cases & Pitfalls
If rotation looks wrong or invisible, one of these is usually why.
path
Needs an offset-path
Without a path, auto has no tangent to follow. Set offset-path first.
shape
Squares hide the effect
A perfect square looks the same at many angles. Use an arrow, wedge, or long rectangle while learning.
motion
auto needs changing distance
On a straight path at one distance, auto and a fixed angle can look similar. Animate distance on a curve to see the difference.
name
Not motion-rotation anymore
Old drafts used motion-rotation. Prefer offset-rotate in modern CSS.
a11y
Respect reduced motion
Spinning path demos can distract. Prefer a static distance, or pause motion, when prefers-reduced-motion is reduce.
Compatibility
Browser Support
offset-rotate is a browser CSS property for Motion Path. Node.js, Deno, and Bun do not apply it.
✓ Baseline · Widely available since 2022
offset-rotate
Chrome 55+, Firefox 72+, Safari 15.4+, Edge 79+, Opera 42+. Internet Explorer has no native support.
94%Modern browser support
Google Chrome55+ · Desktop & Mobile
Full support
Mozilla Firefox72+ · Desktop & Mobile
Full support
Apple Safari15.4+ · macOS & iOS
Full support
Microsoft Edge79+ · Chromium
Full support
Opera42+ · Modern versions
Full support
Samsung Internet6.2+ · Android
Full support
Internet ExplorerNo support
None
offset-rotateWidely supported
Bottom line: Safe for modern motion-path demos. Pair with offset-path and a directional shape so auto vs fixed angles are easy to compare.
Remember
Key Takeaways
Role: how the element faces while on the path.
Default:auto follows the path. reverse is auto 180deg.
Fixed angles:0deg / 90deg ignore path turns.
Needs a path: set offset-path first. Formerly motion-rotation.
One line:offset-rotate chooses facing — follow the path with auto, or lock an angle.
Frequently Asked Questions
It sets how an element faces while it sits on an offset-path. auto follows the path direction; an angle keeps a fixed tilt.
auto. The element rotates to match the direction of the path relative to the positive x-axis.
auto turns with the path. 0deg (or any fixed angle) keeps the same orientation no matter how the path curves.
reverse is like auto, but the element faces the opposite way. It is the same as auto 180deg.
Yes. Set offset-path first, then place or animate offset-distance. Without a path, rotation along a route has nothing to follow.
It is Baseline and widely available since September 2022: Chrome 55+, Firefox 72+, Safari 15.4+, and Edge 79+. Internet Explorer has no support. It is a browser CSS property, not a Node.js feature.