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

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

1 other variant in Meteocons

The same icon in other sets

Use the beanie icon

SVG

<svg xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" viewBox="0 0 512 512"><path fill="none" stroke="#ef4444" stroke-miterlimit="10" stroke-width="9" d="M173 304.7v-17a83 83 0 0 1 83-83a83 83 0 0 1 83 83v17"/><path fill="none" stroke="#e2e8f0" stroke-miterlimit="10" stroke-width="9" d="M160 317.5v34.4c0 6.3 7.1 11.4 16 11.4h160c8.9 0 16-5.1 16-11.4v-34.4c0-6.3-7.1-11.4-16-11.4H176c-8.9 0-16 5-16 11.4Z"/><circle cx="256" cy="170.7" r="22" fill="none" stroke="#e2e8f0" stroke-miterlimit="10" stroke-width="9"><animateTransform id="SVGog72ocMZ" fill="freeze" additive="sum" attributeName="transform" begin="0s; x.end+2.58s" calcMode="spline" dur=".42s" keySplines=".42, 0, .58, 1; .42, 0, .58, 1; .42, 0, .58, 1" keyTimes="0; .4; .8; 1" type="translate" values="0 0; 0 -9; 0 3; 0 0"/><animateTransform id="SVGHEWJmZrv" fill="freeze" additive="sum" attributeName="transform" begin="1s; y.end+2.25s" calcMode="spline" dur=".75s" keySplines=".42, 0, .58, 1; .42, 0, .58, 1; .42, 0, .58, 1; .42, 0, .58, 1; .42, 0, .58, 1" keyTimes="0; .22; .44; .67; .89; 1" type="rotate" values="0 256 256; -15 256 256; 9 256 256; -9 256 256; 6 256 256; 0 256 256"/></circle></svg>

React

import type { SVGProps } from "react";

export function MeteoconsBeanie(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="#ef4444" strokeMiterlimit="10" strokeWidth="9" d="M173 304.7v-17a83 83 0 0 1 83-83a83 83 0 0 1 83 83v17"/><path fill="none" stroke="#e2e8f0" strokeMiterlimit="10" strokeWidth="9" d="M160 317.5v34.4c0 6.3 7.1 11.4 16 11.4h160c8.9 0 16-5.1 16-11.4v-34.4c0-6.3-7.1-11.4-16-11.4H176c-8.9 0-16 5-16 11.4Z"/><circle cx="256" cy="170.7" r="22" fill="none" stroke="#e2e8f0" strokeMiterlimit="10" strokeWidth="9"><animateTransform id="SVGog72ocMZ" fill="freeze" additive="sum" attributeName="transform" begin="0s; x.end+2.58s" calcMode="spline" dur=".42s" keySplines=".42, 0, .58, 1; .42, 0, .58, 1; .42, 0, .58, 1" keyTimes="0; .4; .8; 1" type="translate" values="0 0; 0 -9; 0 3; 0 0"/><animateTransform id="SVGHEWJmZrv" fill="freeze" additive="sum" attributeName="transform" begin="1s; y.end+2.25s" calcMode="spline" dur=".75s" keySplines=".42, 0, .58, 1; .42, 0, .58, 1; .42, 0, .58, 1; .42, 0, .58, 1; .42, 0, .58, 1" keyTimes="0; .22; .44; .67; .89; 1" type="rotate" values="0 256 256; -15 256 256; 9 256 256; -9 256 256; 6 256 256; 0 256 256"/></circle></svg>
  );
}

Vue

<template>
  <svg xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" viewBox="0 0 512 512"><path fill="none" stroke="#ef4444" stroke-miterlimit="10" stroke-width="9" d="M173 304.7v-17a83 83 0 0 1 83-83a83 83 0 0 1 83 83v17"/><path fill="none" stroke="#e2e8f0" stroke-miterlimit="10" stroke-width="9" d="M160 317.5v34.4c0 6.3 7.1 11.4 16 11.4h160c8.9 0 16-5.1 16-11.4v-34.4c0-6.3-7.1-11.4-16-11.4H176c-8.9 0-16 5-16 11.4Z"/><circle cx="256" cy="170.7" r="22" fill="none" stroke="#e2e8f0" stroke-miterlimit="10" stroke-width="9"><animateTransform id="SVGog72ocMZ" fill="freeze" additive="sum" attributeName="transform" begin="0s; x.end+2.58s" calcMode="spline" dur=".42s" keySplines=".42, 0, .58, 1; .42, 0, .58, 1; .42, 0, .58, 1" keyTimes="0; .4; .8; 1" type="translate" values="0 0; 0 -9; 0 3; 0 0"/><animateTransform id="SVGHEWJmZrv" fill="freeze" additive="sum" attributeName="transform" begin="1s; y.end+2.25s" calcMode="spline" dur=".75s" keySplines=".42, 0, .58, 1; .42, 0, .58, 1; .42, 0, .58, 1; .42, 0, .58, 1; .42, 0, .58, 1" keyTimes="0; .22; .44; .67; .89; 1" type="rotate" values="0 256 256; -15 256 256; 9 256 256; -9 256 256; 6 256 256; 0 256 256"/></circle></svg>
</template>

CSS

.icon-beanie {
  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%23ef4444%22%20stroke-miterlimit%3D%2210%22%20stroke-width%3D%229%22%20d%3D%22M173%20304.7v-17a83%2083%200%200%201%2083-83a83%2083%200%200%201%2083%2083v17%22%2F%3E%3Cpath%20fill%3D%22none%22%20stroke%3D%22%23e2e8f0%22%20stroke-miterlimit%3D%2210%22%20stroke-width%3D%229%22%20d%3D%22M160%20317.5v34.4c0%206.3%207.1%2011.4%2016%2011.4h160c8.9%200%2016-5.1%2016-11.4v-34.4c0-6.3-7.1-11.4-16-11.4H176c-8.9%200-16%205-16%2011.4Z%22%2F%3E%3Ccircle%20cx%3D%22256%22%20cy%3D%22170.7%22%20r%3D%2222%22%20fill%3D%22none%22%20stroke%3D%22%23e2e8f0%22%20stroke-miterlimit%3D%2210%22%20stroke-width%3D%229%22%20transform%3D%22translate(0%200)%20rotate(0%20256%20256)%22%3E%3C%2Fcircle%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%23ef4444%22%20stroke-miterlimit%3D%2210%22%20stroke-width%3D%229%22%20d%3D%22M173%20304.7v-17a83%2083%200%200%201%2083-83a83%2083%200%200%201%2083%2083v17%22%2F%3E%3Cpath%20fill%3D%22none%22%20stroke%3D%22%23e2e8f0%22%20stroke-miterlimit%3D%2210%22%20stroke-width%3D%229%22%20d%3D%22M160%20317.5v34.4c0%206.3%207.1%2011.4%2016%2011.4h160c8.9%200%2016-5.1%2016-11.4v-34.4c0-6.3-7.1-11.4-16-11.4H176c-8.9%200-16%205-16%2011.4Z%22%2F%3E%3Ccircle%20cx%3D%22256%22%20cy%3D%22170.7%22%20r%3D%2222%22%20fill%3D%22none%22%20stroke%3D%22%23e2e8f0%22%20stroke-miterlimit%3D%2210%22%20stroke-width%3D%229%22%20transform%3D%22translate(0%200)%20rotate(0%20256%20256)%22%3E%3C%2Fcircle%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/beanie.svg?color=%231a73e8&size=48