Pin icon

A free pencil-style pin icon, drawn by code from 1 closed shape and 1 line. Use it as an SVG, a React component, or by name. MIT licensed.

pin

01Use it

Use pin

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 { Pin } from '@matita/icons/react';

<Pin size={24} />

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

JavaScript

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

toSvg(Pin, { 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-pin" data-sketch="" aria-hidden="true"><path d="M9.32 3.65Q11.94 3.66 14.54 3.32Q14.35 6.14 14.19 8.95Q15.79 11.22 17.3 13.55Q11.95 13.54 6.6 13.44Q8.36 11.17 10.13 8.9Q9.68 6.28 9.32 3.65Q10.05 3.54 10.79 3.56" stroke-width="1.584"/><path d="M12.07 13.21Q12.3 17.2 12.12 21.19" stroke-width="1.584"/></svg>

Pencil variant

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

<Pin size={32} pencil />

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

02How it's drawn

The recipe for pin

Pin is not stored as a drawing. It is a recipe of 1 closed shape and 1 line 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
Z 9.5 3.5 14.5 3.5 14 9 17.5 13.5 6.5 13.5 10 9;
L 12 13.5 12 21
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 pin. Seed 0 is the default.

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

True pixel sizes.

Ink
Pencil