Animations: How to continuously rotate an image using CSS

Join the AI Workshop to learn more about AI and how it can be applied to web development. Next cohort February 1st, 2026

The AI-first Web Development BOOTCAMP cohort starts February 24th, 2026. 10 weeks of intensive training and hands-on projects.


I had to search how to rotate an image. I wanted to rotate an SVG image, but this works for any image type. Or any HTML element, actually.

Add this CSS instruction to the element you want to rotate:

animation: rotation 2s infinite linear;

You can also choose to add a rotate class to an element, instead of targeting it directly:

.rotate {
  animation: rotation 2s infinite linear;
}

tweak the 2s to slow down or speed up the rotation period.

Then add this line, outside of any selector:

@keyframes rotation {
  from {
    transform: rotate(0deg);
  }
  to {
    transform: rotate(359deg);
  }
}

That’s it! Your elements should now rotate.

Check out the CSS Animations and CSS Transitions guides

Here is the result shown in Codepen:

See the Pen How to use CSS Animations to continuously rotate an image by Flavio Copes (@flaviocopes) on CodePen.

Lessons in this unit:

0: Introduction
1: How to Use CSS Transforms (2D and 3D)
2: How to Create Smooth CSS Transitions
3: How to Create CSS Animations with Keyframes
4: ▶︎ How to continuously rotate an image using CSS
5: Compare the options for Animations on the Web