grid from SVG Loaders by Sam Herbert · Animated · animated · MIT Free for personal and commercial use.

Name
grid
Set
SVG Loaders
Style
Animated
Animation
Animated SVG (SMIL)
Viewbox
105×105
License
MIT

The same icon in other sets

All grid icons →

Use the grid icon

SVG

<svg xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" viewBox="0 0 105 105"><g fill="currentColor"><circle cx="12.5" cy="12.5" r="12.5"><animate attributeName="fill-opacity" begin="0s" dur="1s" values="1;.2;1" calcMode="linear" repeatCount="indefinite"/></circle><circle cx="12.5" cy="52.5" r="12.5" fill-opacity=".5"><animate attributeName="fill-opacity" begin="100ms" dur="1s" values="1;.2;1" calcMode="linear" repeatCount="indefinite"/></circle><circle cx="52.5" cy="12.5" r="12.5"><animate attributeName="fill-opacity" begin="300ms" dur="1s" values="1;.2;1" calcMode="linear" repeatCount="indefinite"/></circle><circle cx="52.5" cy="52.5" r="12.5"><animate attributeName="fill-opacity" begin="600ms" dur="1s" values="1;.2;1" calcMode="linear" repeatCount="indefinite"/></circle><circle cx="92.5" cy="12.5" r="12.5"><animate attributeName="fill-opacity" begin="800ms" dur="1s" values="1;.2;1" calcMode="linear" repeatCount="indefinite"/></circle><circle cx="92.5" cy="52.5" r="12.5"><animate attributeName="fill-opacity" begin="400ms" dur="1s" values="1;.2;1" calcMode="linear" repeatCount="indefinite"/></circle><circle cx="12.5" cy="92.5" r="12.5"><animate attributeName="fill-opacity" begin="700ms" dur="1s" values="1;.2;1" calcMode="linear" repeatCount="indefinite"/></circle><circle cx="52.5" cy="92.5" r="12.5"><animate attributeName="fill-opacity" begin="500ms" dur="1s" values="1;.2;1" calcMode="linear" repeatCount="indefinite"/></circle><circle cx="92.5" cy="92.5" r="12.5"><animate attributeName="fill-opacity" begin="200ms" dur="1s" values="1;.2;1" calcMode="linear" repeatCount="indefinite"/></circle></g></svg>

React

import type { SVGProps } from "react";

export function SvgLoadersGrid(props: SVGProps<SVGSVGElement>) {
  return (
    <svg {...props} xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" viewBox="0 0 105 105"><g fill="currentColor"><circle cx="12.5" cy="12.5" r="12.5"><animate attributeName="fillOpacity" begin="0s" dur="1s" values="1;.2;1" calcMode="linear" repeatCount="indefinite"/></circle><circle cx="12.5" cy="52.5" r="12.5" fillOpacity=".5"><animate attributeName="fillOpacity" begin="100ms" dur="1s" values="1;.2;1" calcMode="linear" repeatCount="indefinite"/></circle><circle cx="52.5" cy="12.5" r="12.5"><animate attributeName="fillOpacity" begin="300ms" dur="1s" values="1;.2;1" calcMode="linear" repeatCount="indefinite"/></circle><circle cx="52.5" cy="52.5" r="12.5"><animate attributeName="fillOpacity" begin="600ms" dur="1s" values="1;.2;1" calcMode="linear" repeatCount="indefinite"/></circle><circle cx="92.5" cy="12.5" r="12.5"><animate attributeName="fillOpacity" begin="800ms" dur="1s" values="1;.2;1" calcMode="linear" repeatCount="indefinite"/></circle><circle cx="92.5" cy="52.5" r="12.5"><animate attributeName="fillOpacity" begin="400ms" dur="1s" values="1;.2;1" calcMode="linear" repeatCount="indefinite"/></circle><circle cx="12.5" cy="92.5" r="12.5"><animate attributeName="fillOpacity" begin="700ms" dur="1s" values="1;.2;1" calcMode="linear" repeatCount="indefinite"/></circle><circle cx="52.5" cy="92.5" r="12.5"><animate attributeName="fillOpacity" begin="500ms" dur="1s" values="1;.2;1" calcMode="linear" repeatCount="indefinite"/></circle><circle cx="92.5" cy="92.5" r="12.5"><animate attributeName="fillOpacity" begin="200ms" dur="1s" values="1;.2;1" calcMode="linear" repeatCount="indefinite"/></circle></g></svg>
  );
}

Vue

<template>
  <svg xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" viewBox="0 0 105 105"><g fill="currentColor"><circle cx="12.5" cy="12.5" r="12.5"><animate attributeName="fill-opacity" begin="0s" dur="1s" values="1;.2;1" calcMode="linear" repeatCount="indefinite"/></circle><circle cx="12.5" cy="52.5" r="12.5" fill-opacity=".5"><animate attributeName="fill-opacity" begin="100ms" dur="1s" values="1;.2;1" calcMode="linear" repeatCount="indefinite"/></circle><circle cx="52.5" cy="12.5" r="12.5"><animate attributeName="fill-opacity" begin="300ms" dur="1s" values="1;.2;1" calcMode="linear" repeatCount="indefinite"/></circle><circle cx="52.5" cy="52.5" r="12.5"><animate attributeName="fill-opacity" begin="600ms" dur="1s" values="1;.2;1" calcMode="linear" repeatCount="indefinite"/></circle><circle cx="92.5" cy="12.5" r="12.5"><animate attributeName="fill-opacity" begin="800ms" dur="1s" values="1;.2;1" calcMode="linear" repeatCount="indefinite"/></circle><circle cx="92.5" cy="52.5" r="12.5"><animate attributeName="fill-opacity" begin="400ms" dur="1s" values="1;.2;1" calcMode="linear" repeatCount="indefinite"/></circle><circle cx="12.5" cy="92.5" r="12.5"><animate attributeName="fill-opacity" begin="700ms" dur="1s" values="1;.2;1" calcMode="linear" repeatCount="indefinite"/></circle><circle cx="52.5" cy="92.5" r="12.5"><animate attributeName="fill-opacity" begin="500ms" dur="1s" values="1;.2;1" calcMode="linear" repeatCount="indefinite"/></circle><circle cx="92.5" cy="92.5" r="12.5"><animate attributeName="fill-opacity" begin="200ms" dur="1s" values="1;.2;1" calcMode="linear" repeatCount="indefinite"/></circle></g></svg>
</template>

CSS

.icon-grid {
  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%20105%20105%22%3E%3Cg%20fill%3D%22currentColor%22%3E%3Ccircle%20cx%3D%2212.5%22%20cy%3D%2212.5%22%20r%3D%2212.5%22%20fill-opacity%3D%221%22%3E%3C%2Fcircle%3E%3Ccircle%20cx%3D%2212.5%22%20cy%3D%2252.5%22%20r%3D%2212.5%22%20fill-opacity%3D%221%22%3E%3C%2Fcircle%3E%3Ccircle%20cx%3D%2252.5%22%20cy%3D%2212.5%22%20r%3D%2212.5%22%20fill-opacity%3D%221%22%3E%3C%2Fcircle%3E%3Ccircle%20cx%3D%2252.5%22%20cy%3D%2252.5%22%20r%3D%2212.5%22%20fill-opacity%3D%221%22%3E%3C%2Fcircle%3E%3Ccircle%20cx%3D%2292.5%22%20cy%3D%2212.5%22%20r%3D%2212.5%22%20fill-opacity%3D%221%22%3E%3C%2Fcircle%3E%3Ccircle%20cx%3D%2292.5%22%20cy%3D%2252.5%22%20r%3D%2212.5%22%20fill-opacity%3D%221%22%3E%3C%2Fcircle%3E%3Ccircle%20cx%3D%2212.5%22%20cy%3D%2292.5%22%20r%3D%2212.5%22%20fill-opacity%3D%221%22%3E%3C%2Fcircle%3E%3Ccircle%20cx%3D%2252.5%22%20cy%3D%2292.5%22%20r%3D%2212.5%22%20fill-opacity%3D%221%22%3E%3C%2Fcircle%3E%3Ccircle%20cx%3D%2292.5%22%20cy%3D%2292.5%22%20r%3D%2212.5%22%20fill-opacity%3D%221%22%3E%3C%2Fcircle%3E%3C%2Fg%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%20105%20105%22%3E%3Cg%20fill%3D%22currentColor%22%3E%3Ccircle%20cx%3D%2212.5%22%20cy%3D%2212.5%22%20r%3D%2212.5%22%20fill-opacity%3D%221%22%3E%3C%2Fcircle%3E%3Ccircle%20cx%3D%2212.5%22%20cy%3D%2252.5%22%20r%3D%2212.5%22%20fill-opacity%3D%221%22%3E%3C%2Fcircle%3E%3Ccircle%20cx%3D%2252.5%22%20cy%3D%2212.5%22%20r%3D%2212.5%22%20fill-opacity%3D%221%22%3E%3C%2Fcircle%3E%3Ccircle%20cx%3D%2252.5%22%20cy%3D%2252.5%22%20r%3D%2212.5%22%20fill-opacity%3D%221%22%3E%3C%2Fcircle%3E%3Ccircle%20cx%3D%2292.5%22%20cy%3D%2212.5%22%20r%3D%2212.5%22%20fill-opacity%3D%221%22%3E%3C%2Fcircle%3E%3Ccircle%20cx%3D%2292.5%22%20cy%3D%2252.5%22%20r%3D%2212.5%22%20fill-opacity%3D%221%22%3E%3C%2Fcircle%3E%3Ccircle%20cx%3D%2212.5%22%20cy%3D%2292.5%22%20r%3D%2212.5%22%20fill-opacity%3D%221%22%3E%3C%2Fcircle%3E%3Ccircle%20cx%3D%2252.5%22%20cy%3D%2292.5%22%20r%3D%2212.5%22%20fill-opacity%3D%221%22%3E%3C%2Fcircle%3E%3Ccircle%20cx%3D%2292.5%22%20cy%3D%2292.5%22%20r%3D%2212.5%22%20fill-opacity%3D%221%22%3E%3C%2Fcircle%3E%3C%2Fg%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/svg-loaders/grid.svg?color=%231a73e8&size=48