Git pull request icon

A free pencil-style git pull request icon, drawn by code from 3 circles, 1 line and 2 polylines. Use it as an SVG, a React component, or by name. MIT licensed.

git-pull-request

01Use it

Use git-pull-request

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

<GitPullRequest size={24} />

// or by name
import { SketchIcon } from '@matita/icons/react';
<SketchIcon name="git-pull-request" />

JavaScript

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

toSvg(GitPullRequest, { 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-git-pull-request" data-sketch="" aria-hidden="true"><path d="M8.54 5.49C8.51 5.65 8.47 6.13 8.36 6.44C8.26 6.76 8.13 7.12 7.9 7.37C7.67 7.61 7.32 7.8 6.98 7.94C6.65 8.07 6.26 8.17 5.89 8.18C5.52 8.18 5.1 8.11 4.77 7.97C4.43 7.82 4.13 7.55 3.88 7.28C3.62 7.02 3.38 6.71 3.23 6.38C3.09 6.04 3 5.64 3.01 5.27C3.02 4.9 3.14 4.5 3.31 4.16C3.48 3.81 3.74 3.47 4.04 3.21C4.35 2.96 4.74 2.76 5.14 2.64C5.53 2.53 5.97 2.49 6.38 2.52C6.8 2.55 7.25 2.64 7.63 2.82C8.01 3 8.39 3.28 8.66 3.6C8.92 3.92 9.12 4.34 9.24 4.75C9.35 5.15 9.43 5.62 9.36 6.03C9.3 6.45 9.1 6.87 8.87 7.25C8.64 7.63 8.15 8.12 8 8.29" stroke-width="1.648"/><path d="M3.66 17.74C3.73 17.57 3.85 17.03 4.06 16.76C4.27 16.49 4.6 16.27 4.91 16.11C5.23 15.95 5.6 15.8 5.95 15.8C6.3 15.79 6.67 15.94 7 16.08C7.33 16.22 7.69 16.37 7.95 16.62C8.2 16.87 8.38 17.23 8.53 17.57C8.67 17.92 8.81 18.31 8.81 18.69C8.81 19.07 8.7 19.49 8.54 19.83C8.37 20.18 8.1 20.51 7.8 20.76C7.5 21.01 7.12 21.2 6.75 21.31C6.38 21.42 5.96 21.47 5.56 21.44C5.16 21.4 4.71 21.32 4.36 21.12C4.01 20.92 3.69 20.57 3.46 20.23C3.23 19.88 3.06 19.47 2.96 19.06C2.87 18.64 2.81 18.17 2.89 17.75C2.96 17.32 3.15 16.87 3.4 16.51C3.65 16.15 4.23 15.74 4.39 15.59" stroke-width="1.808"/><path d="M6.01 7.71Q6.15 12.02 6.01 16.34" stroke-width="1.696"/><path d="M17.11 20.79C16.96 20.71 16.45 20.54 16.19 20.32C15.92 20.1 15.67 19.79 15.54 19.48C15.4 19.16 15.38 18.78 15.39 18.43C15.4 18.08 15.46 17.71 15.6 17.39C15.74 17.06 15.95 16.73 16.21 16.48C16.47 16.24 16.82 16.04 17.17 15.92C17.51 15.8 17.92 15.74 18.29 15.77C18.66 15.8 19.03 15.94 19.37 16.1C19.72 16.27 20.08 16.48 20.33 16.77C20.58 17.06 20.78 17.45 20.88 17.83C20.97 18.2 20.97 18.63 20.91 19.02C20.84 19.41 20.71 19.82 20.49 20.15C20.27 20.47 19.93 20.75 19.6 20.97C19.26 21.19 18.87 21.4 18.48 21.48C18.08 21.56 17.62 21.55 17.22 21.44C16.83 21.34 16.44 21.12 16.11 20.88C15.78 20.63 15.4 20.11 15.25 19.96" stroke-width="1.456"/><path d="M17.98 16.69Q18.34 11.76 18.13 6.83Q15.06 6.87 12 7.21" stroke-width="1.536"/><path d="M15.17 4.3Q13.66 5.46 12.32 6.82Q13.7 8.35 15.26 9.69" stroke-width="1.632"/></svg>

Pencil variant

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

<GitPullRequest size={32} pencil />

The file is icons/git-pull-request.svg in the package (pencil/git-pull-request.svg for the pencil variant). Matita 0.2.1.

02How it's drawn

The recipe for git-pull-request

Git pull request is not stored as a drawing. It is a recipe of 3 circles, 1 line and 2 polylines 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 6 5.5 2.5;
C 6 18.5 2.5;
L 6 8 6 16;
C 18 18.5 2.5;
P 18 16 18 7 12.5 7;
P 15 4.5 12.5 7 15 9.5
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 git-pull-request. Seed 0 is the default.

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

True pixel sizes.

Ink
Pencil