SVG 1.0 became a W3C Recommendation on 4 September 2001. SVG is almost certainly the right image format choice here. We get around animating the gradient by animating the background-position instead. The next page demonstrates this: XML data The URL points to the ID of the SVG filter..icon:hover { filter: url('#id-of-your-filter'); }