SVG Store animation

Prism Loop Loader

Layered prism outlines rotate in opposing directions.

Free Loaders Free commercial license — unlimited personal and commercial use; attribution not required
Download
Prism Loop LoaderLayered prism outlines rotate in opposing directions.
Details

About this animation

Part of the Orbit Premium Loader System. Layered prism outlines rotate in opposing directions. Built as a standalone inline SVG with scoped CSS animations, accessible title and description, no scripts or external resources, and a static prefers-reduced-motion fallback. Easy to recolor and ready for product use.

SVG code
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 160 160" id="sva-0c3a7441e911-sva-prism-loop-loader" role="img" aria-labelledby="sva-0c3a7441e911-sva-prism-loop-loader-title sva-0c3a7441e911-sva-prism-loop-loader-desc"><title id="sva-0c3a7441e911-sva-prism-loop-loader-title">Prism Loop Loader</title><desc id="sva-0c3a7441e911-sva-prism-loop-loader-desc">Layered prism outlines rotate in opposing directions.</desc><defs><linearGradient id="sva-0c3a7441e911-sva-prism-loop-loader-g" x1="0" y1="0" x2="1" y2="1"><stop offset="0" stop-color="#0EA5E9"/><stop offset="1" stop-color="#A78BFA"/></linearGradient></defs><style>#sva-0c3a7441e911-sva-prism-loop-loader{overflow:visible;background:#07111f}#sva-0c3a7441e911-sva-prism-loop-loader .spin{transform-box:fill-box;transform-origin:center;animation:sva-0c3a7441e911-sva-prism-loop-loader-spin 5s linear infinite}#sva-0c3a7441e911-sva-prism-loop-loader .reverse{transform-box:fill-box;transform-origin:center;animation:sva-0c3a7441e911-sva-prism-loop-loader-reverse 4s linear infinite}#sva-0c3a7441e911-sva-prism-loop-loader .pulse{transform-box:fill-box;transform-origin:center;animation:sva-0c3a7441e911-sva-prism-loop-loader-pulse 2.4s cubic-bezier(.4,0,.2,1) infinite}#sva-0c3a7441e911-sva-prism-loop-loader .float{transform-box:fill-box;transform-origin:center;animation:sva-0c3a7441e911-sva-prism-loop-loader-float 3s cubic-bezier(.4,0,.2,1) infinite}#sva-0c3a7441e911-sva-prism-loop-loader .draw{stroke-dasharray:260;stroke-dashoffset:260;animation:sva-0c3a7441e911-sva-prism-loop-loader-draw 3.2s cubic-bezier(.65,0,.35,1) infinite}#sva-0c3a7441e911-sva-prism-loop-loader .dash{animation:sva-0c3a7441e911-sva-prism-loop-loader-dash 3s cubic-bezier(.65,0,.35,1) infinite}#sva-0c3a7441e911-sva-prism-loop-loader .pop{transform-box:fill-box;transform-origin:center;animation:sva-0c3a7441e911-sva-prism-loop-loader-pop 2.8s cubic-bezier(.2,.9,.25,1.25) infinite}#sva-0c3a7441e911-sva-prism-loop-loader .rise{transform-box:fill-box;transform-origin:center bottom;animation:sva-0c3a7441e911-sva-prism-loop-loader-rise 2.6s cubic-bezier(.2,.8,.2,1) infinite}#sva-0c3a7441e911-sva-prism-loop-loader .shake{transform-box:fill-box;transform-origin:center top;animation:sva-0c3a7441e911-sva-prism-loop-loader-shake 3s ease-in-out infinite}#sva-0c3a7441e911-sva-prism-loop-loader .slide{transform-box:fill-box;transform-origin:center;animation:sva-0c3a7441e911-sva-prism-loop-loader-slide 3s cubic-bezier(.65,0,.35,1) infinite}#sva-0c3a7441e911-sva-prism-loop-loader .sweep{animation:sva-0c3a7441e911-sva-prism-loop-loader-sweep 3s cubic-bezier(.4,0,.2,1) infinite}#sva-0c3a7441e911-sva-prism-loop-loader .travel{animation:sva-0c3a7441e911-sva-prism-loop-loader-travel 3s cubic-bezier(.4,0,.2,1) infinite}#sva-0c3a7441e911-sva-prism-loop-loader .tilt{transform-box:fill-box;transform-origin:0% 100%;animation:sva-0c3a7441e911-sva-prism-loop-loader-tilt 3s cubic-bezier(.2,.8,.2,1) infinite}#sva-0c3a7441e911-sva-prism-loop-loader .d2{animation-delay:-.7s}#sva-0c3a7441e911-sva-prism-loop-loader .d3{animation-delay:-1.35s}@keyframes sva-0c3a7441e911-sva-prism-loop-loader-spin{to{transform:rotate(360deg)}}@keyframes sva-0c3a7441e911-sva-prism-loop-loader-reverse{to{transform:rotate(-360deg)}}@keyframes sva-0c3a7441e911-sva-prism-loop-loader-pulse{0%,100%{transform:scale(.92);opacity:.6}45%{transform:scale(1);opacity:1}}@keyframes sva-0c3a7441e911-sva-prism-loop-loader-float{0%,100%{transform:translateY(4px)}50%{transform:translateY(-5px)}}@keyframes sva-0c3a7441e911-sva-prism-loop-loader-draw{0%{stroke-dashoffset:260;opacity:.25}45%,75%{stroke-dashoffset:0;opacity:1}100%{stroke-dashoffset:-260;opacity:.25}}@keyframes sva-0c3a7441e911-sva-prism-loop-loader-dash{0%{stroke-dashoffset:220}55%,80%{stroke-dashoffset:0}100%{stroke-dashoffset:-80}}@keyframes sva-0c3a7441e911-sva-prism-loop-loader-pop{0%,15%,100%{transform:scale(.5);opacity:0}35%,75%{transform:scale(1);opacity:1}}@keyframes sva-0c3a7441e911-sva-prism-loop-loader-rise{0%,100%{transform:scaleY(.28);opacity:.45}45%,72%{transform:scaleY(1);opacity:1}}@keyframes sva-0c3a7441e911-sva-prism-loop-loader-shake{0%,22%,100%{transform:rotate(0)}30%{transform:rotate(-9deg)}38%{transform:rotate(8deg)}46%{transform:rotate(-5deg)}54%{transform:rotate(0)}}@keyframes sva-0c3a7441e911-sva-prism-loop-loader-slide{0%,20%{transform:translateX(0)}45%,75%{transform:translateX(48px)}100%{transform:translateX(0)}}@keyframes sva-0c3a7441e911-sva-prism-loop-loader-sweep{0%,15%{transform:translateX(-18px);opacity:.25}45%,75%{transform:translateX(18px);opacity:1}100%{transform:translateX(-18px);opacity:.25}}@keyframes sva-0c3a7441e911-sva-prism-loop-loader-travel{0%{transform:translateX(-28px);opacity:0}25%,70%{opacity:1}100%{transform:translateX(28px);opacity:0}}@keyframes sva-0c3a7441e911-sva-prism-loop-loader-tilt{0%,15%{transform:rotate(-42deg)}50%,80%{transform:rotate(0)}100%{transform:rotate(-42deg)}}@media(prefers-reduced-motion:reduce){#sva-0c3a7441e911-sva-prism-loop-loader *{animation:none!important;transform:none!important;opacity:1!important}}</style><rect x="4" y="4" width="152" height="152" rx="38" fill="#07111f" stroke="#0EA5E9" stroke-opacity=".2" stroke-width="2"/><g class="spin"><path d="M80 28l48 84H32z" fill="none" stroke="url(#sva-0c3a7441e911-sva-prism-loop-loader-g)" stroke-width="5"/><path d="M80 45l31 55H49z" fill="#0EA5E9" fill-opacity=".15" stroke="#A78BFA" stroke-width="3"/></g><g class="reverse"><path d="M80 58l18 32H62z" fill="#F8FAFC" fill-opacity=".9"/></g></svg>