On the 24-unit grid, strokes two units wide

The OpenVibe glyphs

Sun

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

Name
sun
Character
U+E081
Drawn
From the kit
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. sun is its registry name; it stands in for fa-sun.

thin
light
regular
bold
solid
duotone

sun

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.

Sun 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="sun"></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"><circle cx="11.9" cy="11.9" r="3.4"/><path d="M11.9 3.5v1.8M11.9 18.6v1.8M6 6l1.2 1.2M16.7 16.7l1.2 1.2M3.5 11.9h1.8M18.6 11.9h1.8M6 17.9l1.2-1.2M16.7 7.2l1.2-1.2"/></svg>

React

export function SunIcon(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}><circle cx="11.9" cy="11.9" r="3.4"/><path d="M11.9 3.5v1.8M11.9 18.6v1.8M6 6l1.2 1.2M16.7 16.7l1.2 1.2M3.5 11.9h1.8M18.6 11.9h1.8M6 17.9l1.2-1.2M16.7 7.2l1.2-1.2"/></svg>
    );
}

A link

https://openvibe.design/icons/sun.svg
https://openvibe.design/icons/sun.png?size=512&color=mark
https://openvibe.design/icons/sun.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-sun"></i>

The font

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

The sprite

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

CSS, no markup

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

.icon-sun {
    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%3Ccircle cx='11.9' cy='11.9' r='3.4'/%3E%3Cpath d='M11.9 3.5v1.8M11.9 18.6v1.8M6 6l1.2 1.2M16.7 16.7l1.2 1.2M3.5 11.9h1.8M18.6 11.9h1.8M6 17.9l1.2-1.2M16.7 7.2l1.2-1.2'/%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%3Ccircle cx='11.9' cy='11.9' r='3.4'/%3E%3Cpath d='M11.9 3.5v1.8M11.9 18.6v1.8M6 6l1.2 1.2M16.7 16.7l1.2 1.2M3.5 11.9h1.8M18.6 11.9h1.8M6 17.9l1.2-1.2M16.7 7.2l1.2-1.2'/%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%3Ccircle cx='11.9' cy='11.9' r='3.4'/%3E%3Cpath d='M11.9 3.5v1.8M11.9 18.6v1.8M6 6l1.2 1.2M16.7 16.7l1.2 1.2M3.5 11.9h1.8M18.6 11.9h1.8M6 17.9l1.2-1.2M16.7 7.2l1.2-1.2'/%3E%3C/svg%3E

ES module

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

Node

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

Android

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

<!-- res/drawable/ic_sun.xml -->
https://openvibe.design/icons/sun.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="sun" motion="pop"></ov-icon>
<ov-icon name="sun" 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 sun, then its neighbours. All 287.