On the 24-unit grid, strokes two units wide

The OpenVibe glyphs

Mask

A free mask icon in the OpenVibe hand, as SVG, PNG and a font. In place of Font Awesome’s fa-mask.

Name
mask
Character
U+E0EB
Drawn
Drawn for the set
Licence
MIT, free for any use

Every size by itself

At 18 px and under it switches to its solid drawing, which stays clear when small; above that it is the line. Sites do it with no code, and the files below do it on style=auto.

Names and keywords

The names it answers to and the words people search with. mask is its registry name; it stands in for fa-mask.

thin
light
regular
bold
solid
duotone

mask

Suggest one for a button

Type what the button says. The set’s names and keywords answer first; a small model orders the shortlist when the words are new. The API is GET /api/v1/glyphs/suggest?label=.

Make a PNG

Any size up to 1024 pixels at 1×, 2× or 3×, in any colour or the mark’s two, a lighter or heavier line, flat or with the mark’s depth and glow, room around it and a ground behind it. The link rebuilds the same file every time.

Mask icon, 256 pixels

Use it

Every way is the same drawing, free to use with no sign-in. On an OpenVibe site the navbar already loads the drop-in, so Font Awesome’s markup shows it.

Any page

No sign-in. It follows the text’s size and colour, and turns solid when small.

<script src="https://openvibe.design/ov-icon.js" defer></script>
<ov-icon name="mask"></ov-icon>

Inline SVG

HTML, Vue, Svelte, Solid, Angular.

<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M3.5 7c3 1.3 5.8 1.8 8.5 1.8S17.5 8.3 20.5 7c0 6-2.5 10-5 10-1.4 0-2-1.5-3.5-1.5S9.9 17 8.5 17c-2.5 0-5-4-5-10Z"/><path d="M7.5 11.5h2M14.5 11.5h2"/></svg>

React

export function MaskIcon(props) {
    return (
        <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="2" strokeLinecap="round" strokeLinejoin="round" aria-hidden="true" {...props}><path d="M3.5 7c3 1.3 5.8 1.8 8.5 1.8S17.5 8.3 20.5 7c0 6-2.5 10-5 10-1.4 0-2-1.5-3.5-1.5S9.9 17 8.5 17c-2.5 0-5-4-5-10Z"/><path d="M7.5 11.5h2M14.5 11.5h2"/></svg>
    );
}

A link

https://openvibe.design/icons/mask.svg
https://openvibe.design/icons/mask.png?size=512&color=mark
https://openvibe.design/icons/mask.svg?style=solid
8 more ways Font Awesome markup · The font · The sprite · CSS, no markup · Data URI · ES module · Node · Android

Font Awesome markup

Keep your markup; the drop-in draws ours.

<script src="https://openvibe.design/shared/ov-glyphs.js" defer></script>
<i class="fa-solid fa-mask"></i>

The font

<link rel="stylesheet" href="https://openvibe.design/shared/ov-glyphs-font.css">
<i class="ovi ovi-mask"></i>

The sprite

<svg width="24" height="24"><use href="https://openvibe.design/shared/ov-glyphs.svg#ovg-mask"/></svg>

CSS, no markup

A mask painted in the text’s colour: <span class="icon-mask"></span>. Or link it, with any others: <link rel="stylesheet" href="https://openvibe.design/icons.css?names=mask">; add is-solid for the solid drawing.

.icon-mask {
    display: inline-block;
    width: 1em;
    height: 1em;
    vertical-align: -0.125em;
    background-color: currentColor;
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3.5 7c3 1.3 5.8 1.8 8.5 1.8S17.5 8.3 20.5 7c0 6-2.5 10-5 10-1.4 0-2-1.5-3.5-1.5S9.9 17 8.5 17c-2.5 0-5-4-5-10Z'/%3E%3Cpath d='M7.5 11.5h2M14.5 11.5h2'/%3E%3C/svg%3E") center / contain no-repeat;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3.5 7c3 1.3 5.8 1.8 8.5 1.8S17.5 8.3 20.5 7c0 6-2.5 10-5 10-1.4 0-2-1.5-3.5-1.5S9.9 17 8.5 17c-2.5 0-5-4-5-10Z'/%3E%3Cpath d='M7.5 11.5h2M14.5 11.5h2'/%3E%3C/svg%3E") center / contain no-repeat;
}

Data URI

For an <img> or a CSS url(), in a fixed colour.

data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%230f172a' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3.5 7c3 1.3 5.8 1.8 8.5 1.8S17.5 8.3 20.5 7c0 6-2.5 10-5 10-1.4 0-2-1.5-3.5-1.5S9.9 17 8.5 17c-2.5 0-5-4-5-10Z'/%3E%3Cpath d='M7.5 11.5h2M14.5 11.5h2'/%3E%3C/svg%3E

ES module

import mask from 'https://openvibe.design/icons/mask.mjs';
// { name, line, solid }: the drawings, for a component of your own

Node

require('openvibe-shared/glyphs').svg('mask', { size: 24 })

Android

A VectorDrawable: download the XML. iOS: Xcode takes the SVG as it is (keep “Preserve Vector Data” on).

<!-- res/drawable/ic_mask.xml -->
https://openvibe.design/icons/mask.xml

Make it move

One move when something happens: point at each, press it, or tap the first to draw it again. Nothing loops or spins, and calm or reduced motion stops them.

With <ov-icon>

<ov-icon name="mask" motion="pop"></ov-icon>
<ov-icon name="mask" motion="beat" on></ov-icon>  <!-- on: the solid drawing, as when turned on -->

On any SVG

<link rel="stylesheet" href="https://openvibe.design/icons/pack/ov-icon-motion.css">
<svg class="ovm-pop" …>…</svg>

Near it

Glyphs that share a word with mask, then its neighbours. All 287.