rainbow from Meteocons by Bas Milius · Line · animated · MIT Free for personal and commercial use.

Name
rainbow
Set
Meteocons
Style
Line
Animation
Animated SVG (SMIL)
Viewbox
512×512
License
MIT

1 other variant in Meteocons

The same icon in other sets

All rainbow icons →

Related icons in Meteocons

Use the rainbow icon

SVG

<svg xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" viewBox="0 0 512 512"><defs><clipPath id="SVGeNclzYme"><path fill="none" d="M368.4 0v225.6H352a45.2 45.2 0 0 0-38.5 21.5a30.2 30.2 0 0 0-45.6 25.9a29.4 29.4 0 0 0 .5 4.9a32.3 32.3 0 0 0-26.4 31.8v9.8H0V0Z"><animateTransform additive="sum" attributeName="transform" dur="6s" repeatCount="indefinite" type="translate" values="-12 0; 12 0; -12 0"/></path></clipPath><symbol id="SVGU9wQYEts" viewBox="0 0 197.5 128.5"><path fill="none" stroke="#e2e8f0" stroke-miterlimit="10" stroke-width="12" d="m161.3 62l-1.4.1a45.8 45.8 0 0 0 1.4-10.8a45.3 45.3 0 0 0-83.8-23.8a30.1 30.1 0 0 0-45.6 26a30.5 30.5 0 0 0 .4 4.9a32.3 32.3 0 0 0 6 64h123a30.2 30.2 0 0 0 0-60.3Z"><animateTransform additive="sum" attributeName="transform" dur="6s" repeatCount="indefinite" type="translate" values="-12 0; 12 0; -12 0"/></path></symbol></defs><g fill="none" stroke-miterlimit="10" stroke-width="24" clip-path="url(#SVGeNclzYme)"><path stroke="#f87171" d="M82 310c0-79.5 66.3-144 148-144s148 64.5 148 144"/><path stroke="#fbbf24" d="M106 310c0-66.3 55.5-120 124-120s124 53.7 124 120"/><path stroke="#51cf66" d="M130 310c0-53 44.8-96 100-96s100 43 100 96"/></g><use width="197.5" height="128.5" href="#SVGU9wQYEts" transform="translate(235.94 219.59)"/></svg>

React

import type { SVGProps } from "react";

export function MeteoconsRainbow(props: SVGProps<SVGSVGElement>) {
  return (
    <svg {...props} xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" viewBox="0 0 512 512"><defs><clipPath id="SVGeNclzYme"><path fill="none" d="M368.4 0v225.6H352a45.2 45.2 0 0 0-38.5 21.5a30.2 30.2 0 0 0-45.6 25.9a29.4 29.4 0 0 0 .5 4.9a32.3 32.3 0 0 0-26.4 31.8v9.8H0V0Z"><animateTransform additive="sum" attributeName="transform" dur="6s" repeatCount="indefinite" type="translate" values="-12 0; 12 0; -12 0"/></path></clipPath><symbol id="SVGU9wQYEts" viewBox="0 0 197.5 128.5"><path fill="none" stroke="#e2e8f0" strokeMiterlimit="10" strokeWidth="12" d="m161.3 62l-1.4.1a45.8 45.8 0 0 0 1.4-10.8a45.3 45.3 0 0 0-83.8-23.8a30.1 30.1 0 0 0-45.6 26a30.5 30.5 0 0 0 .4 4.9a32.3 32.3 0 0 0 6 64h123a30.2 30.2 0 0 0 0-60.3Z"><animateTransform additive="sum" attributeName="transform" dur="6s" repeatCount="indefinite" type="translate" values="-12 0; 12 0; -12 0"/></path></symbol></defs><g fill="none" strokeMiterlimit="10" strokeWidth="24" clipPath="url(#SVGeNclzYme)"><path stroke="#f87171" d="M82 310c0-79.5 66.3-144 148-144s148 64.5 148 144"/><path stroke="#fbbf24" d="M106 310c0-66.3 55.5-120 124-120s124 53.7 124 120"/><path stroke="#51cf66" d="M130 310c0-53 44.8-96 100-96s100 43 100 96"/></g><use width="197.5" height="128.5" href="#SVGU9wQYEts" transform="translate(235.94 219.59)"/></svg>
  );
}

Vue

<template>
  <svg xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" viewBox="0 0 512 512"><defs><clipPath id="SVGeNclzYme"><path fill="none" d="M368.4 0v225.6H352a45.2 45.2 0 0 0-38.5 21.5a30.2 30.2 0 0 0-45.6 25.9a29.4 29.4 0 0 0 .5 4.9a32.3 32.3 0 0 0-26.4 31.8v9.8H0V0Z"><animateTransform additive="sum" attributeName="transform" dur="6s" repeatCount="indefinite" type="translate" values="-12 0; 12 0; -12 0"/></path></clipPath><symbol id="SVGU9wQYEts" viewBox="0 0 197.5 128.5"><path fill="none" stroke="#e2e8f0" stroke-miterlimit="10" stroke-width="12" d="m161.3 62l-1.4.1a45.8 45.8 0 0 0 1.4-10.8a45.3 45.3 0 0 0-83.8-23.8a30.1 30.1 0 0 0-45.6 26a30.5 30.5 0 0 0 .4 4.9a32.3 32.3 0 0 0 6 64h123a30.2 30.2 0 0 0 0-60.3Z"><animateTransform additive="sum" attributeName="transform" dur="6s" repeatCount="indefinite" type="translate" values="-12 0; 12 0; -12 0"/></path></symbol></defs><g fill="none" stroke-miterlimit="10" stroke-width="24" clip-path="url(#SVGeNclzYme)"><path stroke="#f87171" d="M82 310c0-79.5 66.3-144 148-144s148 64.5 148 144"/><path stroke="#fbbf24" d="M106 310c0-66.3 55.5-120 124-120s124 53.7 124 120"/><path stroke="#51cf66" d="M130 310c0-53 44.8-96 100-96s100 43 100 96"/></g><use width="197.5" height="128.5" href="#SVGU9wQYEts" transform="translate(235.94 219.59)"/></svg>
</template>

CSS

.icon-rainbow {
  width: 24px;
  height: 24px;
  background-color: currentColor;
  -webkit-mask: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%221em%22%20height%3D%221em%22%20viewBox%3D%220%200%20512%20512%22%3E%3Cdefs%3E%3CclipPath%20id%3D%22SVGeNclzYme%22%3E%3Cpath%20fill%3D%22none%22%20d%3D%22M368.4%200v225.6H352a45.2%2045.2%200%200%200-38.5%2021.5a30.2%2030.2%200%200%200-45.6%2025.9a29.4%2029.4%200%200%200%20.5%204.9a32.3%2032.3%200%200%200-26.4%2031.8v9.8H0V0Z%22%20transform%3D%22translate(-12%200)%22%3E%3C%2Fpath%3E%3C%2FclipPath%3E%3Csymbol%20id%3D%22SVGU9wQYEts%22%20viewBox%3D%220%200%20197.5%20128.5%22%3E%3Cpath%20fill%3D%22none%22%20stroke%3D%22%23e2e8f0%22%20stroke-miterlimit%3D%2210%22%20stroke-width%3D%2212%22%20d%3D%22m161.3%2062l-1.4.1a45.8%2045.8%200%200%200%201.4-10.8a45.3%2045.3%200%200%200-83.8-23.8a30.1%2030.1%200%200%200-45.6%2026a30.5%2030.5%200%200%200%20.4%204.9a32.3%2032.3%200%200%200%206%2064h123a30.2%2030.2%200%200%200%200-60.3Z%22%20transform%3D%22translate(-12%200)%22%3E%3C%2Fpath%3E%3C%2Fsymbol%3E%3C%2Fdefs%3E%3Cg%20fill%3D%22none%22%20stroke-miterlimit%3D%2210%22%20stroke-width%3D%2224%22%20clip-path%3D%22url(%23SVGeNclzYme)%22%3E%3Cpath%20stroke%3D%22%23f87171%22%20d%3D%22M82%20310c0-79.5%2066.3-144%20148-144s148%2064.5%20148%20144%22%2F%3E%3Cpath%20stroke%3D%22%23fbbf24%22%20d%3D%22M106%20310c0-66.3%2055.5-120%20124-120s124%2053.7%20124%20120%22%2F%3E%3Cpath%20stroke%3D%22%2351cf66%22%20d%3D%22M130%20310c0-53%2044.8-96%20100-96s100%2043%20100%2096%22%2F%3E%3C%2Fg%3E%3Cuse%20width%3D%22197.5%22%20height%3D%22128.5%22%20href%3D%22%23SVGU9wQYEts%22%20transform%3D%22translate(235.94%20219.59)%22%2F%3E%3C%2Fsvg%3E") no-repeat center / contain;
  mask: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%221em%22%20height%3D%221em%22%20viewBox%3D%220%200%20512%20512%22%3E%3Cdefs%3E%3CclipPath%20id%3D%22SVGeNclzYme%22%3E%3Cpath%20fill%3D%22none%22%20d%3D%22M368.4%200v225.6H352a45.2%2045.2%200%200%200-38.5%2021.5a30.2%2030.2%200%200%200-45.6%2025.9a29.4%2029.4%200%200%200%20.5%204.9a32.3%2032.3%200%200%200-26.4%2031.8v9.8H0V0Z%22%20transform%3D%22translate(-12%200)%22%3E%3C%2Fpath%3E%3C%2FclipPath%3E%3Csymbol%20id%3D%22SVGU9wQYEts%22%20viewBox%3D%220%200%20197.5%20128.5%22%3E%3Cpath%20fill%3D%22none%22%20stroke%3D%22%23e2e8f0%22%20stroke-miterlimit%3D%2210%22%20stroke-width%3D%2212%22%20d%3D%22m161.3%2062l-1.4.1a45.8%2045.8%200%200%200%201.4-10.8a45.3%2045.3%200%200%200-83.8-23.8a30.1%2030.1%200%200%200-45.6%2026a30.5%2030.5%200%200%200%20.4%204.9a32.3%2032.3%200%200%200%206%2064h123a30.2%2030.2%200%200%200%200-60.3Z%22%20transform%3D%22translate(-12%200)%22%3E%3C%2Fpath%3E%3C%2Fsymbol%3E%3C%2Fdefs%3E%3Cg%20fill%3D%22none%22%20stroke-miterlimit%3D%2210%22%20stroke-width%3D%2224%22%20clip-path%3D%22url(%23SVGeNclzYme)%22%3E%3Cpath%20stroke%3D%22%23f87171%22%20d%3D%22M82%20310c0-79.5%2066.3-144%20148-144s148%2064.5%20148%20144%22%2F%3E%3Cpath%20stroke%3D%22%23fbbf24%22%20d%3D%22M106%20310c0-66.3%2055.5-120%20124-120s124%2053.7%20124%20120%22%2F%3E%3Cpath%20stroke%3D%22%2351cf66%22%20d%3D%22M130%20310c0-53%2044.8-96%20100-96s100%2043%20100%2096%22%2F%3E%3C%2Fg%3E%3Cuse%20width%3D%22197.5%22%20height%3D%22128.5%22%20href%3D%22%23SVGU9wQYEts%22%20transform%3D%22translate(235.94%20219.59)%22%2F%3E%3C%2Fsvg%3E") no-repeat center / contain;
}

This icon is animated. Browsers do not run SVG animation inside a CSS mask, so the rule above uses a still of the drawn icon. Inline the SVG (or use the React/Vue/Svelte snippet) to keep the animation.

Direct links: SVG · download · JSON · https://iconsdb.app/api/v1/icon/meteocons/rainbow.svg?color=%231a73e8&size=48