windsock icon

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

Name
windsock
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 windsock icons →

Related icons in Meteocons

Use the windsock icon

SVG

<svg xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" viewBox="0 0 512 512"><path fill="none" stroke="#cbd5e1" stroke-linecap="round" stroke-linejoin="round" stroke-width="24" d="M148 376V136"/><path fill="#ef4444" d="m191.4 137l28.8 4.3a6.4 6.4 0 0 1 5.4 6.3v73.7a6.4 6.4 0 0 1-5.4 6.3l-28.8 4.2a6.4 6.4 0 0 1-7.3-6.4v-82a6.4 6.4 0 0 1 7.3-6.3Z"><animateTransform additive="sum" attributeName="transform" calcMode="spline" dur="3s" keySplines=".42, 0, .58, 1; .42, 0, .58, 1" repeatCount="indefinite" type="rotate" values="-6 99 184; 6 99 184; -6 99 184"/></path><path fill="#ef4444" d="m260.6 146.1l28.8 4.2a6.4 6.4 0 0 1 5.4 6.3v55.6a6.4 6.4 0 0 1-5.5 6.3l-28.7 4.2a6.4 6.4 0 0 1-7.3-6.3v-64a6.4 6.4 0 0 1 7.3-6.3Z"><animateTransform additive="sum" attributeName="transform" calcMode="spline" dur="3s" keySplines=".42, 0, .58, 1; .42, 0, .58, 1" repeatCount="indefinite" type="rotate" values="-6 99 184; 6 99 184; -6 99 184"/><animateTransform additive="sum" attributeName="transform" calcMode="spline" dur="1.5s" keySplines=".42, 0, .58, 1; .42, 0, .58, 1" repeatCount="indefinite" type="translate" values="0 0; 5 0; 0 0"/></path><path fill="#ef4444" d="m329.8 155.2l28.7 4.2a6.4 6.4 0 0 1 5.5 6.3v37.4a6.4 6.4 0 0 1-5.5 6.3l-28.7 4.2a6.4 6.4 0 0 1-7.3-6.3v-45.8a6.4 6.4 0 0 1 7.3-6.3Z"><animateTransform additive="sum" attributeName="transform" calcMode="spline" dur="3s" keySplines=".42, 0, .58, 1; .42, 0, .58, 1" repeatCount="indefinite" type="rotate" values="-6 99 184; 6 99 184; -6 99 184"/><animateTransform additive="sum" attributeName="transform" calcMode="spline" dur="1.5s" keySplines=".42, 0, .58, 1; .42, 0, .58, 1" repeatCount="indefinite" type="translate" values="0 0; 10 0; 0 0"/></path></svg>

React

import type { SVGProps } from "react";

export function MeteoconsWindsock(props: SVGProps<SVGSVGElement>) {
  return (
    <svg {...props} xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" viewBox="0 0 512 512"><path fill="none" stroke="#cbd5e1" strokeLinecap="round" strokeLinejoin="round" strokeWidth="24" d="M148 376V136"/><path fill="#ef4444" d="m191.4 137l28.8 4.3a6.4 6.4 0 0 1 5.4 6.3v73.7a6.4 6.4 0 0 1-5.4 6.3l-28.8 4.2a6.4 6.4 0 0 1-7.3-6.4v-82a6.4 6.4 0 0 1 7.3-6.3Z"><animateTransform additive="sum" attributeName="transform" calcMode="spline" dur="3s" keySplines=".42, 0, .58, 1; .42, 0, .58, 1" repeatCount="indefinite" type="rotate" values="-6 99 184; 6 99 184; -6 99 184"/></path><path fill="#ef4444" d="m260.6 146.1l28.8 4.2a6.4 6.4 0 0 1 5.4 6.3v55.6a6.4 6.4 0 0 1-5.5 6.3l-28.7 4.2a6.4 6.4 0 0 1-7.3-6.3v-64a6.4 6.4 0 0 1 7.3-6.3Z"><animateTransform additive="sum" attributeName="transform" calcMode="spline" dur="3s" keySplines=".42, 0, .58, 1; .42, 0, .58, 1" repeatCount="indefinite" type="rotate" values="-6 99 184; 6 99 184; -6 99 184"/><animateTransform additive="sum" attributeName="transform" calcMode="spline" dur="1.5s" keySplines=".42, 0, .58, 1; .42, 0, .58, 1" repeatCount="indefinite" type="translate" values="0 0; 5 0; 0 0"/></path><path fill="#ef4444" d="m329.8 155.2l28.7 4.2a6.4 6.4 0 0 1 5.5 6.3v37.4a6.4 6.4 0 0 1-5.5 6.3l-28.7 4.2a6.4 6.4 0 0 1-7.3-6.3v-45.8a6.4 6.4 0 0 1 7.3-6.3Z"><animateTransform additive="sum" attributeName="transform" calcMode="spline" dur="3s" keySplines=".42, 0, .58, 1; .42, 0, .58, 1" repeatCount="indefinite" type="rotate" values="-6 99 184; 6 99 184; -6 99 184"/><animateTransform additive="sum" attributeName="transform" calcMode="spline" dur="1.5s" keySplines=".42, 0, .58, 1; .42, 0, .58, 1" repeatCount="indefinite" type="translate" values="0 0; 10 0; 0 0"/></path></svg>
  );
}

Vue

<template>
  <svg xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" viewBox="0 0 512 512"><path fill="none" stroke="#cbd5e1" stroke-linecap="round" stroke-linejoin="round" stroke-width="24" d="M148 376V136"/><path fill="#ef4444" d="m191.4 137l28.8 4.3a6.4 6.4 0 0 1 5.4 6.3v73.7a6.4 6.4 0 0 1-5.4 6.3l-28.8 4.2a6.4 6.4 0 0 1-7.3-6.4v-82a6.4 6.4 0 0 1 7.3-6.3Z"><animateTransform additive="sum" attributeName="transform" calcMode="spline" dur="3s" keySplines=".42, 0, .58, 1; .42, 0, .58, 1" repeatCount="indefinite" type="rotate" values="-6 99 184; 6 99 184; -6 99 184"/></path><path fill="#ef4444" d="m260.6 146.1l28.8 4.2a6.4 6.4 0 0 1 5.4 6.3v55.6a6.4 6.4 0 0 1-5.5 6.3l-28.7 4.2a6.4 6.4 0 0 1-7.3-6.3v-64a6.4 6.4 0 0 1 7.3-6.3Z"><animateTransform additive="sum" attributeName="transform" calcMode="spline" dur="3s" keySplines=".42, 0, .58, 1; .42, 0, .58, 1" repeatCount="indefinite" type="rotate" values="-6 99 184; 6 99 184; -6 99 184"/><animateTransform additive="sum" attributeName="transform" calcMode="spline" dur="1.5s" keySplines=".42, 0, .58, 1; .42, 0, .58, 1" repeatCount="indefinite" type="translate" values="0 0; 5 0; 0 0"/></path><path fill="#ef4444" d="m329.8 155.2l28.7 4.2a6.4 6.4 0 0 1 5.5 6.3v37.4a6.4 6.4 0 0 1-5.5 6.3l-28.7 4.2a6.4 6.4 0 0 1-7.3-6.3v-45.8a6.4 6.4 0 0 1 7.3-6.3Z"><animateTransform additive="sum" attributeName="transform" calcMode="spline" dur="3s" keySplines=".42, 0, .58, 1; .42, 0, .58, 1" repeatCount="indefinite" type="rotate" values="-6 99 184; 6 99 184; -6 99 184"/><animateTransform additive="sum" attributeName="transform" calcMode="spline" dur="1.5s" keySplines=".42, 0, .58, 1; .42, 0, .58, 1" repeatCount="indefinite" type="translate" values="0 0; 10 0; 0 0"/></path></svg>
</template>

CSS

.icon-windsock {
  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%3Cpath%20fill%3D%22none%22%20stroke%3D%22%23cbd5e1%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20stroke-width%3D%2224%22%20d%3D%22M148%20376V136%22%2F%3E%3Cpath%20fill%3D%22%23ef4444%22%20d%3D%22m191.4%20137l28.8%204.3a6.4%206.4%200%200%201%205.4%206.3v73.7a6.4%206.4%200%200%201-5.4%206.3l-28.8%204.2a6.4%206.4%200%200%201-7.3-6.4v-82a6.4%206.4%200%200%201%207.3-6.3Z%22%20transform%3D%22rotate(-6%2099%20184)%22%3E%3C%2Fpath%3E%3Cpath%20fill%3D%22%23ef4444%22%20d%3D%22m260.6%20146.1l28.8%204.2a6.4%206.4%200%200%201%205.4%206.3v55.6a6.4%206.4%200%200%201-5.5%206.3l-28.7%204.2a6.4%206.4%200%200%201-7.3-6.3v-64a6.4%206.4%200%200%201%207.3-6.3Z%22%20transform%3D%22rotate(-6%2099%20184)%20translate(0%200)%22%3E%3C%2Fpath%3E%3Cpath%20fill%3D%22%23ef4444%22%20d%3D%22m329.8%20155.2l28.7%204.2a6.4%206.4%200%200%201%205.5%206.3v37.4a6.4%206.4%200%200%201-5.5%206.3l-28.7%204.2a6.4%206.4%200%200%201-7.3-6.3v-45.8a6.4%206.4%200%200%201%207.3-6.3Z%22%20transform%3D%22rotate(-6%2099%20184)%20translate(0%200)%22%3E%3C%2Fpath%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%3Cpath%20fill%3D%22none%22%20stroke%3D%22%23cbd5e1%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20stroke-width%3D%2224%22%20d%3D%22M148%20376V136%22%2F%3E%3Cpath%20fill%3D%22%23ef4444%22%20d%3D%22m191.4%20137l28.8%204.3a6.4%206.4%200%200%201%205.4%206.3v73.7a6.4%206.4%200%200%201-5.4%206.3l-28.8%204.2a6.4%206.4%200%200%201-7.3-6.4v-82a6.4%206.4%200%200%201%207.3-6.3Z%22%20transform%3D%22rotate(-6%2099%20184)%22%3E%3C%2Fpath%3E%3Cpath%20fill%3D%22%23ef4444%22%20d%3D%22m260.6%20146.1l28.8%204.2a6.4%206.4%200%200%201%205.4%206.3v55.6a6.4%206.4%200%200%201-5.5%206.3l-28.7%204.2a6.4%206.4%200%200%201-7.3-6.3v-64a6.4%206.4%200%200%201%207.3-6.3Z%22%20transform%3D%22rotate(-6%2099%20184)%20translate(0%200)%22%3E%3C%2Fpath%3E%3Cpath%20fill%3D%22%23ef4444%22%20d%3D%22m329.8%20155.2l28.7%204.2a6.4%206.4%200%200%201%205.5%206.3v37.4a6.4%206.4%200%200%201-5.5%206.3l-28.7%204.2a6.4%206.4%200%200%201-7.3-6.3v-45.8a6.4%206.4%200%200%201%207.3-6.3Z%22%20transform%3D%22rotate(-6%2099%20184)%20translate(0%200)%22%3E%3C%2Fpath%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/windsock.svg?color=%231a73e8&size=48