UAsset
Motion icon · Free

Shapes icon — animated SVG

A free shapes motion icon that acts out its meaning. The animation is pure CSS inside the SVG, so it works in any website or app without Lottie or JavaScript. 24px grid, 2px stroke, round caps. Free for personal and commercial use.

Open in UAsset

Hover SVG code (plays when hovered)

<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="uah-shapes" overflow="visible"><style>.uah-shapes g.uam,.uah-shapes [class^=p]{transform-box:fill-box;transform-origin:center}:is(.uah-shapes:hover,:hover>.uah-shapes,:focus-visible>.uah-shapes) .pa{animation:uaLpop2 0.45s cubic-bezier(.34,1.56,.64,1) 0s 1 both}:is(.uah-shapes:hover,:hover>.uah-shapes,:focus-visible>.uah-shapes) .pb{animation:uaLpop2 0.45s cubic-bezier(.34,1.56,.64,1) 0.07s 1 both}:is(.uah-shapes:hover,:hover>.uah-shapes,:focus-visible>.uah-shapes) .pc{animation:uaLpop2 0.45s cubic-bezier(.34,1.56,.64,1) 0.14s 1 both}:is(.uah-shapes:hover,:hover>.uah-shapes,:focus-visible>.uah-shapes) .pd{animation:uaLpop2 0.45s cubic-bezier(.34,1.56,.64,1) 0.21s 1 both}@keyframes uaLpop2{0%,100%{transform:none}40%{transform:scale(1.25)}70%{transform:scale(.94)}}@media (prefers-reduced-motion:reduce){.uah-shapes *{animation:none!important}}</style><g class="uam"><g class="pa"><path pathLength="1" d="M8.3 10a.7.7 0 0 1-.6-1l3.7-6.2a.7.7 0 0 1 1.2 0L16.3 9a.7.7 0 0 1-.6 1z"/></g><g class="pb"><rect pathLength="1" x="3" y="14" width="7" height="7" rx="1"/></g><g class="pc"><circle pathLength="1" cx="17.5" cy="17.5" r="3.5"/></g></g></svg>

Looping SVG code

<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="ual-shapes" overflow="visible"><style>.ual-shapes g.uam,.ual-shapes [class^=p]{transform-box:fill-box;transform-origin:center}.ual-shapes .pa{animation:uaLpop2L 1.17s cubic-bezier(.34,1.56,.64,1) 0s infinite}.ual-shapes .pb{animation:uaLpop2L 1.17s cubic-bezier(.34,1.56,.64,1) 0.07s infinite}.ual-shapes .pc{animation:uaLpop2L 1.17s cubic-bezier(.34,1.56,.64,1) 0.14s infinite}.ual-shapes .pd{animation:uaLpop2L 1.17s cubic-bezier(.34,1.56,.64,1) 0.21s infinite}@keyframes uaLpop2L{0.0%,38.0%{transform:none}15.2%{transform:scale(1.25)}26.6%{transform:scale(.94)}}@media (prefers-reduced-motion:reduce){.ual-shapes *{animation:none!important}}</style><g class="uam"><g class="pa"><path pathLength="1" d="M8.3 10a.7.7 0 0 1-.6-1l3.7-6.2a.7.7 0 0 1 1.2 0L16.3 9a.7.7 0 0 1-.6 1z"/></g><g class="pb"><rect pathLength="1" x="3" y="14" width="7" height="7" rx="1"/></g><g class="pc"><circle pathLength="1" cx="17.5" cy="17.5" r="3.5"/></g></g></svg>

Static SVG code

<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"><g class="pa"><path pathLength="1" d="M8.3 10a.7.7 0 0 1-.6-1l3.7-6.2a.7.7 0 0 1 1.2 0L16.3 9a.7.7 0 0 1-.6 1z"/></g><g class="pb"><rect pathLength="1" x="3" y="14" width="7" height="7" rx="1"/></g><g class="pc"><circle pathLength="1" cx="17.5" cy="17.5" r="3.5"/></g></svg>

Tags: creative, line, outline, shapes, stroke

More Creative motion icons

LayersPaletteBrushPen ToolCropTypeSparklesEraserHighlighterPaint BucketPipetteMagic WandBezier CurveColor SwatchesFramePaint RollerSpray CanPencil RulerStickerGridVideo EditBrand MarkPen ToolCrop

Browse categories