Share icon

A free pencil-style share icon, drawn by code from 3 circles and 2 lines. Use it as an SVG, a React component, or by name. MIT licensed.

share

01Use it

Use share

One package, four ways in. The icon inherits currentColor and is decorative unless you give it a title. Install it with npm i @matita/icons.

React

import { Share } from '@matita/icons/react';

<Share size={24} />

// or by name
import { SketchIcon } from '@matita/icons/react';
<SketchIcon name="share" />

JavaScript

import { Share, toSvg } from '@matita/icons';

toSvg(Share, { size: 24 });   // SVG string

SVG

<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none" stroke="currentColor" stroke-width="1.6" stroke-linecap="round" stroke-linejoin="round" overflow="visible" class="sketch-icon sketch-icon-share" data-sketch="" aria-hidden="true"><path d="M18.05 8.11C17.88 8.07 17.36 8.01 17.04 7.88C16.73 7.75 16.4 7.56 16.15 7.32C15.9 7.07 15.65 6.75 15.52 6.41C15.4 6.07 15.37 5.66 15.39 5.28C15.41 4.91 15.49 4.52 15.64 4.17C15.79 3.82 16 3.43 16.28 3.18C16.56 2.93 16.97 2.77 17.34 2.68C17.71 2.58 18.12 2.56 18.5 2.61C18.89 2.65 19.32 2.76 19.66 2.96C20 3.17 20.34 3.5 20.55 3.85C20.77 4.2 20.87 4.65 20.95 5.07C21.02 5.49 21.08 5.97 20.99 6.39C20.91 6.81 20.69 7.25 20.43 7.6C20.16 7.94 19.79 8.24 19.41 8.45C19.02 8.67 18.57 8.87 18.13 8.91C17.69 8.95 17.19 8.86 16.77 8.69C16.36 8.52 15.83 8.03 15.64 7.89" stroke-width="1.536"/><path d="M6.99 9.7C7.13 9.79 7.58 10.02 7.81 10.25C8.05 10.47 8.27 10.77 8.4 11.08C8.54 11.39 8.63 11.77 8.63 12.12C8.62 12.46 8.53 12.85 8.39 13.16C8.24 13.48 7.99 13.75 7.74 14C7.5 14.25 7.21 14.51 6.89 14.64C6.57 14.77 6.18 14.8 5.83 14.79C5.48 14.77 5.11 14.68 4.79 14.53C4.47 14.37 4.15 14.14 3.91 13.86C3.67 13.59 3.49 13.24 3.37 12.88C3.24 12.53 3.14 12.14 3.14 11.76C3.15 11.38 3.25 10.96 3.41 10.61C3.58 10.27 3.83 9.92 4.11 9.66C4.4 9.41 4.77 9.19 5.13 9.07C5.5 8.94 5.91 8.91 6.31 8.93C6.7 8.96 7.12 9.04 7.47 9.23C7.82 9.41 8.15 9.71 8.4 10.03C8.65 10.35 8.88 10.95 8.98 11.13" stroke-width="1.696"/><path d="M20.43 18.39C20.41 18.56 20.4 19.1 20.3 19.43C20.2 19.77 20.03 20.11 19.82 20.38C19.6 20.65 19.3 20.91 18.99 21.04C18.68 21.18 18.3 21.2 17.96 21.19C17.62 21.18 17.26 21.12 16.95 20.99C16.63 20.86 16.32 20.64 16.06 20.39C15.8 20.13 15.52 19.81 15.4 19.46C15.27 19.11 15.29 18.68 15.3 18.29C15.31 17.9 15.32 17.46 15.47 17.1C15.61 16.74 15.89 16.39 16.18 16.12C16.47 15.86 16.83 15.62 17.2 15.5C17.57 15.39 18 15.38 18.39 15.44C18.77 15.49 19.17 15.62 19.52 15.82C19.87 16.02 20.24 16.29 20.48 16.62C20.72 16.95 20.87 17.39 20.98 17.81C21.08 18.23 21.17 18.71 21.11 19.14C21.05 19.57 20.71 20.19 20.64 20.4" stroke-width="1.664"/><path d="M8.05 10.76Q11.88 8.56 15.88 6.66" stroke-width="1.696"/><path d="M7.77 13.03Q11.99 15.17 16.17 17.41" stroke-width="1.648"/></svg>

Pencil variant

import '@matita/icons/pencil.css';
import { Share } from '@matita/icons/react';

<Share size={32} pencil />

The file is icons/share.svg in the package (pencil/share.svg for the pencil variant). Matita 0.2.1.

02How it's drawn

The recipe for share

Share is not stored as a drawing. It is a recipe of 3 circles and 2 lines on a 24 by 24 grid, and a small program draws it like a pencil would. The wobble comes from the name, so it always comes out the same.

A · Recipe
C 18 5.5 2.5;
C 6 12 2.5;
C 18 18.5 2.5;
L 8.2 10.8 15.8 6.7;
L 8.2 13.2 15.8 17.3
B · Plotted
C · Drawn
How it works

03Takes, sizes, pencil

Same icon, every way

Pass a seed for another take of the same recipe. The wobble is capped, so it still reads at 16 px.

seed 0
seed 1
seed 2
seed 3
seed 4

Five seeds of share. Seed 0 is the default.

16 px
20 px
24 px
32 px
48 px
96 px

True pixel sizes.

Ink
Pencil