Documentation

Use Grid22 your way

191 icons, one consistent 24×24 grid, and no runtime dependency. Use the source SVGs directly, load the CSS distribution, or export outlined shapes for design tools.

Quick start

Choose the method that matches your project. All source icons inherit currentColor; CSS classes size at 1em.

CSS classesFastest for product UI. One stylesheet, familiar class names.
Inline SVGBest control, no extra request, fully styleable from your component.
SVG filesSimple image assets for static contexts and content.
Outlined SVGStrokes expanded to shapes for Figma, Sketch, and Illustrator.

CDN and CSS classes

Load the hosted stylesheet once, then use any icon with g22 g22-{name}.

HTML
<link rel="stylesheet" href="https://grid22.design/dist/grid22.css">

<i class="g22 g22-search" aria-hidden="true"></i>
<button><i class="g22 g22-trash" aria-hidden="true"></i> Delete</button>
CSS
.toolbar .g22 {
  color: var(--text);
  font-size: 24px;
}

.toolbar .g22:hover { color: var(--accent); }

Inline SVG

Inline SVG is the most flexible option. It follows the text color of its parent and can be animated or styled like any other element.

HTML
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"
  width="24" height="24" fill="none" stroke="currentColor"
  stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round">
  <circle cx="9.82" cy="9.82" r="6.67"/>
  <path d="M15.05 15.05L20.85 20.85"/>
</svg>

Use SVG files as images

Every icon is available at /icons/{name}.svg. This is the simplest method, but external SVG images do not inherit the page's text color.

HTML
<img src="https://grid22.design/icons/search.svg"
  width="24" height="24" alt="Search">

Outlined SVG for design tools

The gallery's default SVG export expands strokes into filled paths. This preserves visual weight when scaling in Figma, Illustrator, or Sketch.

FormatBest forBehavior
SVGDesign toolsOutlined paths, fill-based, scales cleanly.
SVG (stroke)Web and codeEditable strokes using currentColor.
PNGRaster workflowsTransparent background, optional @2x.

Outlined files are also available directly at /dist/outlined/{name}.svg.

Size and color

Grid22 is designed around 16, 24, 32, and 48 px. The default canvas is 24×24 with rounded 1.8 px strokes.

CSS
.icon {
  color: #b4541e;
  height: 24px;
  width: 24px;
}

Machine-readable manifest

The JSON manifest includes names, categories, aliases, CSS classes, and URLs for both SVG formats.

JavaScript
const icons = await fetch('https://grid22.design/dist/icons.json')
  .then(response => response.json());

const search = icons.icons.find(icon => icon.name === 'search');

Accessibility

Decorative icons should use aria-hidden="true". Meaningful standalone icons need an accessible name, usually on the button or link that contains them.

HTML
<button aria-label="Open search">
  <i class="g22 g22-search" aria-hidden="true"></i>
</button>

Icons should reinforce meaning, not replace an accessible label. Test icon-only controls with a keyboard and screen reader.