# tag icon

Tag. Gentleface icon, drawn on the 16 px pixel grid. Free, MIT licensed. Page: https://gentleface.com/icons/tag

- Category: Shopping
- Use it for: tag, label, category, price, price tag, pricing
- Tags: label, category, tagging, price-tag, classify
- Family: tag-off, tag-pencil, tag-percent, tag-plus, tag-sparkle, tag-x, tags
- Component name: TagIcon
- Added: 2026-10-14

## Alternatives

- `tags`: a tag list or tag manager
- `tag-percent`: discount or sale price

## Don't confuse with

- `bookmark`: save for later, not a label
- `hash`: a # hashtag or topic

## Also fits

- product: price or label of a product
- tag list: a single tag or label
- pill: a pill-shaped tag, chip or label in a UI

## Not for

- employee badge (use `id-badge`): tag means label or category, not a worn name tag
- tag people (use `user-tag`): tag alone means label or category

## Files

Each SVG is 16 × 16 with fill="currentColor". Keep it at 16 px or an exact multiple (32, 48) on whole pixels: a fractional size or position blurs it.

- line-round: https://gentleface.com/svg/line-round/16/tag.svg · PNG https://gentleface.com/png/line-round/16/tag.png · https://gentleface.com/png/line-round/32/tag.png · https://gentleface.com/png/line-round/48/tag.png
- line-soft: https://gentleface.com/svg/line-soft/16/tag.svg · PNG https://gentleface.com/png/line-soft/16/tag.png · https://gentleface.com/png/line-soft/32/tag.png · https://gentleface.com/png/line-soft/48/tag.png
- line-sharp: https://gentleface.com/svg/line-sharp/16/tag.svg · PNG https://gentleface.com/png/line-sharp/16/tag.png · https://gentleface.com/png/line-sharp/32/tag.png · https://gentleface.com/png/line-sharp/48/tag.png
- solid-round: https://gentleface.com/svg/solid-round/16/tag.svg · PNG https://gentleface.com/png/solid-round/16/tag.png · https://gentleface.com/png/solid-round/32/tag.png · https://gentleface.com/png/solid-round/48/tag.png
- solid-soft: https://gentleface.com/svg/solid-soft/16/tag.svg · PNG https://gentleface.com/png/solid-soft/16/tag.png · https://gentleface.com/png/solid-soft/32/tag.png · https://gentleface.com/png/solid-soft/48/tag.png
- solid-sharp: https://gentleface.com/svg/solid-sharp/16/tag.svg · PNG https://gentleface.com/png/solid-sharp/16/tag.png · https://gentleface.com/png/solid-sharp/32/tag.png · https://gentleface.com/png/solid-sharp/48/tag.png

The SVG of every style: https://gentleface.com/icons/tag.json (`svg`).

## Code (line-round)

The snippets are decorative (aria-hidden). For an icon that carries meaning on its own, such as an icon-only button, label the button, or give the SVG role="img" and an aria-label. For another style, take its SVG from the JSON and swap the path `d`.

### SVG

```svg
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16" fill="currentColor" aria-hidden="true"><path d="M14.214 7.706C14.324 7.959 14.379 8.224 14.379 8.5C14.379 8.776 14.324 9.041 14.214 9.294C14.113 9.528 13.973 9.734 13.793 9.914L9.914 13.793C9.734 13.973 9.528 14.113 9.294 14.214C9.041 14.324 8.776 14.379 8.5 14.379C8.224 14.379 7.959 14.324 7.706 14.214C7.472 14.113 7.266 13.973 7.086 13.793L1.854 8.561C1.58 8.287 1.37 7.972 1.222 7.615C1.074 7.258 1 6.886 1 6.5L1 3C1 2.746 1.047 2.5 1.14 2.264C1.242 2.007 1.391 1.781 1.586 1.586C1.781 1.391 2.007 1.242 2.264 1.14C2.5 1.047 2.746 1 3 1L6.5 1C6.886 1 7.258 1.074 7.615 1.222C7.972 1.37 8.287 1.58 8.561 1.854L13.793 7.086C13.973 7.266 14.113 7.472 14.214 7.706ZM2.146 7.233C2.243 7.467 2.381 7.674 2.561 7.854L7.793 13.086C7.988 13.281 8.224 13.379 8.5 13.379C8.776 13.379 9.012 13.281 9.207 13.086L13.086 9.207C13.281 9.012 13.379 8.776 13.379 8.5C13.379 8.224 13.281 7.988 13.086 7.793L7.854 2.561C7.674 2.381 7.467 2.243 7.233 2.146C6.998 2.049 6.754 2 6.5 2L3 2C2.724 2 2.488 2.098 2.293 2.293C2.098 2.488 2 2.724 2 3L2 6.5C2 6.754 2.049 6.998 2.146 7.233ZM5.707 4.293C5.902 4.488 6 4.724 6 5C6 5.276 5.902 5.512 5.707 5.707C5.512 5.902 5.276 6 5 6C4.724 6 4.488 5.902 4.293 5.707C4.098 5.512 4 5.276 4 5C4 4.724 4.098 4.488 4.293 4.293C4.488 4.098 4.724 4 5 4C5.276 4 5.512 4.098 5.707 4.293Z"/></svg>
```

### React

```tsx
// Gentleface "tag" (line-round), MIT. https://gentleface.com/icons/tag
import type { SVGProps } from 'react';

export function TagIcon(props: SVGProps<SVGSVGElement>) {
  return (
    <svg xmlns="http://www.w3.org/2000/svg" width={16} height={16} viewBox="0 0 16 16" fill="currentColor" aria-hidden="true" {...props}>
      <path d="M14.214 7.706C14.324 7.959 14.379 8.224 14.379 8.5C14.379 8.776 14.324 9.041 14.214 9.294C14.113 9.528 13.973 9.734 13.793 9.914L9.914 13.793C9.734 13.973 9.528 14.113 9.294 14.214C9.041 14.324 8.776 14.379 8.5 14.379C8.224 14.379 7.959 14.324 7.706 14.214C7.472 14.113 7.266 13.973 7.086 13.793L1.854 8.561C1.58 8.287 1.37 7.972 1.222 7.615C1.074 7.258 1 6.886 1 6.5L1 3C1 2.746 1.047 2.5 1.14 2.264C1.242 2.007 1.391 1.781 1.586 1.586C1.781 1.391 2.007 1.242 2.264 1.14C2.5 1.047 2.746 1 3 1L6.5 1C6.886 1 7.258 1.074 7.615 1.222C7.972 1.37 8.287 1.58 8.561 1.854L13.793 7.086C13.973 7.266 14.113 7.472 14.214 7.706ZM2.146 7.233C2.243 7.467 2.381 7.674 2.561 7.854L7.793 13.086C7.988 13.281 8.224 13.379 8.5 13.379C8.776 13.379 9.012 13.281 9.207 13.086L13.086 9.207C13.281 9.012 13.379 8.776 13.379 8.5C13.379 8.224 13.281 7.988 13.086 7.793L7.854 2.561C7.674 2.381 7.467 2.243 7.233 2.146C6.998 2.049 6.754 2 6.5 2L3 2C2.724 2 2.488 2.098 2.293 2.293C2.098 2.488 2 2.724 2 3L2 6.5C2 6.754 2.049 6.998 2.146 7.233ZM5.707 4.293C5.902 4.488 6 4.724 6 5C6 5.276 5.902 5.512 5.707 5.707C5.512 5.902 5.276 6 5 6C4.724 6 4.488 5.902 4.293 5.707C4.098 5.512 4 5.276 4 5C4 4.724 4.098 4.488 4.293 4.293C4.488 4.098 4.724 4 5 4C5.276 4 5.512 4.098 5.707 4.293Z" />
    </svg>
  );
}
```

### Vue

```vue
<!-- Gentleface "tag" (line-round), MIT. https://gentleface.com/icons/tag -->
<template>
  <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16" fill="currentColor" aria-hidden="true">
    <path d="M14.214 7.706C14.324 7.959 14.379 8.224 14.379 8.5C14.379 8.776 14.324 9.041 14.214 9.294C14.113 9.528 13.973 9.734 13.793 9.914L9.914 13.793C9.734 13.973 9.528 14.113 9.294 14.214C9.041 14.324 8.776 14.379 8.5 14.379C8.224 14.379 7.959 14.324 7.706 14.214C7.472 14.113 7.266 13.973 7.086 13.793L1.854 8.561C1.58 8.287 1.37 7.972 1.222 7.615C1.074 7.258 1 6.886 1 6.5L1 3C1 2.746 1.047 2.5 1.14 2.264C1.242 2.007 1.391 1.781 1.586 1.586C1.781 1.391 2.007 1.242 2.264 1.14C2.5 1.047 2.746 1 3 1L6.5 1C6.886 1 7.258 1.074 7.615 1.222C7.972 1.37 8.287 1.58 8.561 1.854L13.793 7.086C13.973 7.266 14.113 7.472 14.214 7.706ZM2.146 7.233C2.243 7.467 2.381 7.674 2.561 7.854L7.793 13.086C7.988 13.281 8.224 13.379 8.5 13.379C8.776 13.379 9.012 13.281 9.207 13.086L13.086 9.207C13.281 9.012 13.379 8.776 13.379 8.5C13.379 8.224 13.281 7.988 13.086 7.793L7.854 2.561C7.674 2.381 7.467 2.243 7.233 2.146C6.998 2.049 6.754 2 6.5 2L3 2C2.724 2 2.488 2.098 2.293 2.293C2.098 2.488 2 2.724 2 3L2 6.5C2 6.754 2.049 6.998 2.146 7.233ZM5.707 4.293C5.902 4.488 6 4.724 6 5C6 5.276 5.902 5.512 5.707 5.707C5.512 5.902 5.276 6 5 6C4.724 6 4.488 5.902 4.293 5.707C4.098 5.512 4 5.276 4 5C4 4.724 4.098 4.488 4.293 4.293C4.488 4.098 4.724 4 5 4C5.276 4 5.512 4.098 5.707 4.293Z" />
  </svg>
</template>
```

### Svelte

```svelte
<!-- Gentleface "tag" (line-round), MIT. https://gentleface.com/icons/tag -->
<script>
  let props = $props();
</script>

<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16" fill="currentColor" aria-hidden="true" {...props}>
  <path d="M14.214 7.706C14.324 7.959 14.379 8.224 14.379 8.5C14.379 8.776 14.324 9.041 14.214 9.294C14.113 9.528 13.973 9.734 13.793 9.914L9.914 13.793C9.734 13.973 9.528 14.113 9.294 14.214C9.041 14.324 8.776 14.379 8.5 14.379C8.224 14.379 7.959 14.324 7.706 14.214C7.472 14.113 7.266 13.973 7.086 13.793L1.854 8.561C1.58 8.287 1.37 7.972 1.222 7.615C1.074 7.258 1 6.886 1 6.5L1 3C1 2.746 1.047 2.5 1.14 2.264C1.242 2.007 1.391 1.781 1.586 1.586C1.781 1.391 2.007 1.242 2.264 1.14C2.5 1.047 2.746 1 3 1L6.5 1C6.886 1 7.258 1.074 7.615 1.222C7.972 1.37 8.287 1.58 8.561 1.854L13.793 7.086C13.973 7.266 14.113 7.472 14.214 7.706ZM2.146 7.233C2.243 7.467 2.381 7.674 2.561 7.854L7.793 13.086C7.988 13.281 8.224 13.379 8.5 13.379C8.776 13.379 9.012 13.281 9.207 13.086L13.086 9.207C13.281 9.012 13.379 8.776 13.379 8.5C13.379 8.224 13.281 7.988 13.086 7.793L7.854 2.561C7.674 2.381 7.467 2.243 7.233 2.146C6.998 2.049 6.754 2 6.5 2L3 2C2.724 2 2.488 2.098 2.293 2.293C2.098 2.488 2 2.724 2 3L2 6.5C2 6.754 2.049 6.998 2.146 7.233ZM5.707 4.293C5.902 4.488 6 4.724 6 5C6 5.276 5.902 5.512 5.707 5.707C5.512 5.902 5.276 6 5 6C4.724 6 4.488 5.902 4.293 5.707C4.098 5.512 4 5.276 4 5C4 4.724 4.098 4.488 4.293 4.293C4.488 4.098 4.724 4 5 4C5.276 4 5.512 4.098 5.707 4.293Z" />
</svg>
```

### HTML img

```html
<!-- Gentleface "tag" (line-round), MIT. https://gentleface.com/icons/tag. An <img> can't take currentColor: it draws black. Inline the SVG or use the CSS mask to color it. -->
<img src="https://gentleface.com/svg/line-round/16/tag.svg" width="16" height="16" alt="">
```

### CSS

```css
/* Gentleface "tag" (line-round), MIT. https://gentleface.com/icons/tag. Takes the text color. */
.icon-tag {
  display: inline-block;
  width: 16px;
  height: 16px;
  background-color: currentColor;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16' fill='currentColor'%3E%3Cpath d='M14.214 7.706C14.324 7.959 14.379 8.224 14.379 8.5C14.379 8.776 14.324 9.041 14.214 9.294C14.113 9.528 13.973 9.734 13.793 9.914L9.914 13.793C9.734 13.973 9.528 14.113 9.294 14.214C9.041 14.324 8.776 14.379 8.5 14.379C8.224 14.379 7.959 14.324 7.706 14.214C7.472 14.113 7.266 13.973 7.086 13.793L1.854 8.561C1.58 8.287 1.37 7.972 1.222 7.615C1.074 7.258 1 6.886 1 6.5L1 3C1 2.746 1.047 2.5 1.14 2.264C1.242 2.007 1.391 1.781 1.586 1.586C1.781 1.391 2.007 1.242 2.264 1.14C2.5 1.047 2.746 1 3 1L6.5 1C6.886 1 7.258 1.074 7.615 1.222C7.972 1.37 8.287 1.58 8.561 1.854L13.793 7.086C13.973 7.266 14.113 7.472 14.214 7.706ZM2.146 7.233C2.243 7.467 2.381 7.674 2.561 7.854L7.793 13.086C7.988 13.281 8.224 13.379 8.5 13.379C8.776 13.379 9.012 13.281 9.207 13.086L13.086 9.207C13.281 9.012 13.379 8.776 13.379 8.5C13.379 8.224 13.281 7.988 13.086 7.793L7.854 2.561C7.674 2.381 7.467 2.243 7.233 2.146C6.998 2.049 6.754 2 6.5 2L3 2C2.724 2 2.488 2.098 2.293 2.293C2.098 2.488 2 2.724 2 3L2 6.5C2 6.754 2.049 6.998 2.146 7.233ZM5.707 4.293C5.902 4.488 6 4.724 6 5C6 5.276 5.902 5.512 5.707 5.707C5.512 5.902 5.276 6 5 6C4.724 6 4.488 5.902 4.293 5.707C4.098 5.512 4 5.276 4 5C4 4.724 4.098 4.488 4.293 4.293C4.488 4.098 4.724 4 5 4C5.276 4 5.512 4.098 5.707 4.293Z'/%3E%3C/svg%3E") center / 16px 16px no-repeat;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16' fill='currentColor'%3E%3Cpath d='M14.214 7.706C14.324 7.959 14.379 8.224 14.379 8.5C14.379 8.776 14.324 9.041 14.214 9.294C14.113 9.528 13.973 9.734 13.793 9.914L9.914 13.793C9.734 13.973 9.528 14.113 9.294 14.214C9.041 14.324 8.776 14.379 8.5 14.379C8.224 14.379 7.959 14.324 7.706 14.214C7.472 14.113 7.266 13.973 7.086 13.793L1.854 8.561C1.58 8.287 1.37 7.972 1.222 7.615C1.074 7.258 1 6.886 1 6.5L1 3C1 2.746 1.047 2.5 1.14 2.264C1.242 2.007 1.391 1.781 1.586 1.586C1.781 1.391 2.007 1.242 2.264 1.14C2.5 1.047 2.746 1 3 1L6.5 1C6.886 1 7.258 1.074 7.615 1.222C7.972 1.37 8.287 1.58 8.561 1.854L13.793 7.086C13.973 7.266 14.113 7.472 14.214 7.706ZM2.146 7.233C2.243 7.467 2.381 7.674 2.561 7.854L7.793 13.086C7.988 13.281 8.224 13.379 8.5 13.379C8.776 13.379 9.012 13.281 9.207 13.086L13.086 9.207C13.281 9.012 13.379 8.776 13.379 8.5C13.379 8.224 13.281 7.988 13.086 7.793L7.854 2.561C7.674 2.381 7.467 2.243 7.233 2.146C6.998 2.049 6.754 2 6.5 2L3 2C2.724 2 2.488 2.098 2.293 2.293C2.098 2.488 2 2.724 2 3L2 6.5C2 6.754 2.049 6.998 2.146 7.233ZM5.707 4.293C5.902 4.488 6 4.724 6 5C6 5.276 5.902 5.512 5.707 5.707C5.512 5.902 5.276 6 5 6C4.724 6 4.488 5.902 4.293 5.707C4.098 5.512 4 5.276 4 5C4 4.724 4.098 4.488 4.293 4.293C4.488 4.098 4.724 4 5 4C5.276 4 5.512 4.098 5.707 4.293Z'/%3E%3C/svg%3E") center / 16px 16px no-repeat;
}
```

### Data URL

```text
data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16' fill='currentColor'%3E%3Cpath d='M14.214 7.706C14.324 7.959 14.379 8.224 14.379 8.5C14.379 8.776 14.324 9.041 14.214 9.294C14.113 9.528 13.973 9.734 13.793 9.914L9.914 13.793C9.734 13.973 9.528 14.113 9.294 14.214C9.041 14.324 8.776 14.379 8.5 14.379C8.224 14.379 7.959 14.324 7.706 14.214C7.472 14.113 7.266 13.973 7.086 13.793L1.854 8.561C1.58 8.287 1.37 7.972 1.222 7.615C1.074 7.258 1 6.886 1 6.5L1 3C1 2.746 1.047 2.5 1.14 2.264C1.242 2.007 1.391 1.781 1.586 1.586C1.781 1.391 2.007 1.242 2.264 1.14C2.5 1.047 2.746 1 3 1L6.5 1C6.886 1 7.258 1.074 7.615 1.222C7.972 1.37 8.287 1.58 8.561 1.854L13.793 7.086C13.973 7.266 14.113 7.472 14.214 7.706ZM2.146 7.233C2.243 7.467 2.381 7.674 2.561 7.854L7.793 13.086C7.988 13.281 8.224 13.379 8.5 13.379C8.776 13.379 9.012 13.281 9.207 13.086L13.086 9.207C13.281 9.012 13.379 8.776 13.379 8.5C13.379 8.224 13.281 7.988 13.086 7.793L7.854 2.561C7.674 2.381 7.467 2.243 7.233 2.146C6.998 2.049 6.754 2 6.5 2L3 2C2.724 2 2.488 2.098 2.293 2.293C2.098 2.488 2 2.724 2 3L2 6.5C2 6.754 2.049 6.998 2.146 7.233ZM5.707 4.293C5.902 4.488 6 4.724 6 5C6 5.276 5.902 5.512 5.707 5.707C5.512 5.902 5.276 6 5 6C4.724 6 4.488 5.902 4.293 5.707C4.098 5.512 4 5.276 4 5C4 4.724 4.098 4.488 4.293 4.293C4.488 4.098 4.724 4 5 4C5.276 4 5.512 4.098 5.707 4.293Z'/%3E%3C/svg%3E
```

### Sprite

```html
<!-- Gentleface "tag" (line-round), MIT. https://gentleface.com/icons/tag
     Every icon of this style in one file: https://gentleface.com/sprite/line-round.svg
     Serve it from your own origin: <use> does not load from another origin. -->
<svg width="16" height="16" aria-hidden="true"><use href="/sprite/line-round.svg#tag"/></svg>
```

### SwiftUI

```swift
// Gentleface "tag" (line-round), MIT. https://gentleface.com/icons/tag
import SwiftUI

struct TagIcon: Shape {
    func path(in rect: CGRect) -> Path {
        var p = Path()
        p.move(to: CGPoint(x: 14.214, y: 7.706))
        p.addCurve(to: CGPoint(x: 14.379, y: 8.5), control1: CGPoint(x: 14.324, y: 7.959), control2: CGPoint(x: 14.379, y: 8.224))
        p.addCurve(to: CGPoint(x: 14.214, y: 9.294), control1: CGPoint(x: 14.379, y: 8.776), control2: CGPoint(x: 14.324, y: 9.041))
        p.addCurve(to: CGPoint(x: 13.793, y: 9.914), control1: CGPoint(x: 14.113, y: 9.528), control2: CGPoint(x: 13.973, y: 9.734))
        p.addLine(to: CGPoint(x: 9.914, y: 13.793))
        p.addCurve(to: CGPoint(x: 9.294, y: 14.214), control1: CGPoint(x: 9.734, y: 13.973), control2: CGPoint(x: 9.528, y: 14.113))
        p.addCurve(to: CGPoint(x: 8.5, y: 14.379), control1: CGPoint(x: 9.041, y: 14.324), control2: CGPoint(x: 8.776, y: 14.379))
        p.addCurve(to: CGPoint(x: 7.706, y: 14.214), control1: CGPoint(x: 8.224, y: 14.379), control2: CGPoint(x: 7.959, y: 14.324))
        p.addCurve(to: CGPoint(x: 7.086, y: 13.793), control1: CGPoint(x: 7.472, y: 14.113), control2: CGPoint(x: 7.266, y: 13.973))
        p.addLine(to: CGPoint(x: 1.854, y: 8.561))
        p.addCurve(to: CGPoint(x: 1.222, y: 7.615), control1: CGPoint(x: 1.58, y: 8.287), control2: CGPoint(x: 1.37, y: 7.972))
        p.addCurve(to: CGPoint(x: 1, y: 6.5), control1: CGPoint(x: 1.074, y: 7.258), control2: CGPoint(x: 1, y: 6.886))
        p.addLine(to: CGPoint(x: 1, y: 3))
        p.addCurve(to: CGPoint(x: 1.14, y: 2.264), control1: CGPoint(x: 1, y: 2.746), control2: CGPoint(x: 1.047, y: 2.5))
        p.addCurve(to: CGPoint(x: 1.586, y: 1.586), control1: CGPoint(x: 1.242, y: 2.007), control2: CGPoint(x: 1.391, y: 1.781))
        p.addCurve(to: CGPoint(x: 2.264, y: 1.14), control1: CGPoint(x: 1.781, y: 1.391), control2: CGPoint(x: 2.007, y: 1.242))
        p.addCurve(to: CGPoint(x: 3, y: 1), control1: CGPoint(x: 2.5, y: 1.047), control2: CGPoint(x: 2.746, y: 1))
        p.addLine(to: CGPoint(x: 6.5, y: 1))
        p.addCurve(to: CGPoint(x: 7.615, y: 1.222), control1: CGPoint(x: 6.886, y: 1), control2: CGPoint(x: 7.258, y: 1.074))
        p.addCurve(to: CGPoint(x: 8.561, y: 1.854), control1: CGPoint(x: 7.972, y: 1.37), control2: CGPoint(x: 8.287, y: 1.58))
        p.addLine(to: CGPoint(x: 13.793, y: 7.086))
        p.addCurve(to: CGPoint(x: 14.214, y: 7.706), control1: CGPoint(x: 13.973, y: 7.266), control2: CGPoint(x: 14.113, y: 7.472))
        p.closeSubpath()
        p.move(to: CGPoint(x: 2.146, y: 7.233))
        p.addCurve(to: CGPoint(x: 2.561, y: 7.854), control1: CGPoint(x: 2.243, y: 7.467), control2: CGPoint(x: 2.381, y: 7.674))
        p.addLine(to: CGPoint(x: 7.793, y: 13.086))
        p.addCurve(to: CGPoint(x: 8.5, y: 13.379), control1: CGPoint(x: 7.988, y: 13.281), control2: CGPoint(x: 8.224, y: 13.379))
        p.addCurve(to: CGPoint(x: 9.207, y: 13.086), control1: CGPoint(x: 8.776, y: 13.379), control2: CGPoint(x: 9.012, y: 13.281))
        p.addLine(to: CGPoint(x: 13.086, y: 9.207))
        p.addCurve(to: CGPoint(x: 13.379, y: 8.5), control1: CGPoint(x: 13.281, y: 9.012), control2: CGPoint(x: 13.379, y: 8.776))
        p.addCurve(to: CGPoint(x: 13.086, y: 7.793), control1: CGPoint(x: 13.379, y: 8.224), control2: CGPoint(x: 13.281, y: 7.988))
        p.addLine(to: CGPoint(x: 7.854, y: 2.561))
        p.addCurve(to: CGPoint(x: 7.233, y: 2.146), control1: CGPoint(x: 7.674, y: 2.381), control2: CGPoint(x: 7.467, y: 2.243))
        p.addCurve(to: CGPoint(x: 6.5, y: 2), control1: CGPoint(x: 6.998, y: 2.049), control2: CGPoint(x: 6.754, y: 2))
        p.addLine(to: CGPoint(x: 3, y: 2))
        p.addCurve(to: CGPoint(x: 2.293, y: 2.293), control1: CGPoint(x: 2.724, y: 2), control2: CGPoint(x: 2.488, y: 2.098))
        p.addCurve(to: CGPoint(x: 2, y: 3), control1: CGPoint(x: 2.098, y: 2.488), control2: CGPoint(x: 2, y: 2.724))
        p.addLine(to: CGPoint(x: 2, y: 6.5))
        p.addCurve(to: CGPoint(x: 2.146, y: 7.233), control1: CGPoint(x: 2, y: 6.754), control2: CGPoint(x: 2.049, y: 6.998))
        p.closeSubpath()
        p.move(to: CGPoint(x: 5.707, y: 4.293))
        p.addCurve(to: CGPoint(x: 6, y: 5), control1: CGPoint(x: 5.902, y: 4.488), control2: CGPoint(x: 6, y: 4.724))
        p.addCurve(to: CGPoint(x: 5.707, y: 5.707), control1: CGPoint(x: 6, y: 5.276), control2: CGPoint(x: 5.902, y: 5.512))
        p.addCurve(to: CGPoint(x: 5, y: 6), control1: CGPoint(x: 5.512, y: 5.902), control2: CGPoint(x: 5.276, y: 6))
        p.addCurve(to: CGPoint(x: 4.293, y: 5.707), control1: CGPoint(x: 4.724, y: 6), control2: CGPoint(x: 4.488, y: 5.902))
        p.addCurve(to: CGPoint(x: 4, y: 5), control1: CGPoint(x: 4.098, y: 5.512), control2: CGPoint(x: 4, y: 5.276))
        p.addCurve(to: CGPoint(x: 4.293, y: 4.293), control1: CGPoint(x: 4, y: 4.724), control2: CGPoint(x: 4.098, y: 4.488))
        p.addCurve(to: CGPoint(x: 5, y: 4), control1: CGPoint(x: 4.488, y: 4.098), control2: CGPoint(x: 4.724, y: 4))
        p.addCurve(to: CGPoint(x: 5.707, y: 4.293), control1: CGPoint(x: 5.276, y: 4), control2: CGPoint(x: 5.512, y: 4.098))
        p.closeSubpath()
        return p.applying(CGAffineTransform(scaleX: rect.width / 16, y: rect.height / 16))
    }
}

// TagIcon().frame(width: 16, height: 16) fills with the foreground style. Keep it on whole points to stay crisp.
```

### Compose

```kotlin
// Gentleface "tag" (line-round), MIT. https://gentleface.com/icons/tag
import androidx.compose.ui.graphics.Color
import androidx.compose.ui.graphics.SolidColor
import androidx.compose.ui.graphics.vector.ImageVector
import androidx.compose.ui.graphics.vector.addPathNodes
import androidx.compose.ui.unit.dp

val TagIcon: ImageVector by lazy {
    ImageVector.Builder(
        name = "tag", defaultWidth = 16.dp, defaultHeight = 16.dp,
        viewportWidth = 16f, viewportHeight = 16f,
    ).addPath(
        pathData = addPathNodes("M14.214 7.706C14.324 7.959 14.379 8.224 14.379 8.5C14.379 8.776 14.324 9.041 14.214 9.294C14.113 9.528 13.973 9.734 13.793 9.914L9.914 13.793C9.734 13.973 9.528 14.113 9.294 14.214C9.041 14.324 8.776 14.379 8.5 14.379C8.224 14.379 7.959 14.324 7.706 14.214C7.472 14.113 7.266 13.973 7.086 13.793L1.854 8.561C1.58 8.287 1.37 7.972 1.222 7.615C1.074 7.258 1 6.886 1 6.5L1 3C1 2.746 1.047 2.5 1.14 2.264C1.242 2.007 1.391 1.781 1.586 1.586C1.781 1.391 2.007 1.242 2.264 1.14C2.5 1.047 2.746 1 3 1L6.5 1C6.886 1 7.258 1.074 7.615 1.222C7.972 1.37 8.287 1.58 8.561 1.854L13.793 7.086C13.973 7.266 14.113 7.472 14.214 7.706ZM2.146 7.233C2.243 7.467 2.381 7.674 2.561 7.854L7.793 13.086C7.988 13.281 8.224 13.379 8.5 13.379C8.776 13.379 9.012 13.281 9.207 13.086L13.086 9.207C13.281 9.012 13.379 8.776 13.379 8.5C13.379 8.224 13.281 7.988 13.086 7.793L7.854 2.561C7.674 2.381 7.467 2.243 7.233 2.146C6.998 2.049 6.754 2 6.5 2L3 2C2.724 2 2.488 2.098 2.293 2.293C2.098 2.488 2 2.724 2 3L2 6.5C2 6.754 2.049 6.998 2.146 7.233ZM5.707 4.293C5.902 4.488 6 4.724 6 5C6 5.276 5.902 5.512 5.707 5.707C5.512 5.902 5.276 6 5 6C4.724 6 4.488 5.902 4.293 5.707C4.098 5.512 4 5.276 4 5C4 4.724 4.098 4.488 4.293 4.293C4.488 4.098 4.724 4 5 4C5.276 4 5.512 4.098 5.707 4.293Z"),
        fill = SolidColor(Color.Black),
    ).build()
}

// Icon(TagIcon, contentDescription = null) tints it with LocalContentColor.
```

### Android XML

```xml
<!-- res/drawable/ic_tag.xml · Gentleface "tag" (line-round), MIT. https://gentleface.com/icons/tag -->
<vector xmlns:android="http://schemas.android.com/apk/res/android"
    android:width="16dp"
    android:height="16dp"
    android:viewportWidth="16"
    android:viewportHeight="16"
    android:tint="?attr/colorControlNormal">
  <path
      android:fillColor="@android:color/white"
      android:pathData="M14.214 7.706C14.324 7.959 14.379 8.224 14.379 8.5C14.379 8.776 14.324 9.041 14.214 9.294C14.113 9.528 13.973 9.734 13.793 9.914L9.914 13.793C9.734 13.973 9.528 14.113 9.294 14.214C9.041 14.324 8.776 14.379 8.5 14.379C8.224 14.379 7.959 14.324 7.706 14.214C7.472 14.113 7.266 13.973 7.086 13.793L1.854 8.561C1.58 8.287 1.37 7.972 1.222 7.615C1.074 7.258 1 6.886 1 6.5L1 3C1 2.746 1.047 2.5 1.14 2.264C1.242 2.007 1.391 1.781 1.586 1.586C1.781 1.391 2.007 1.242 2.264 1.14C2.5 1.047 2.746 1 3 1L6.5 1C6.886 1 7.258 1.074 7.615 1.222C7.972 1.37 8.287 1.58 8.561 1.854L13.793 7.086C13.973 7.266 14.113 7.472 14.214 7.706ZM2.146 7.233C2.243 7.467 2.381 7.674 2.561 7.854L7.793 13.086C7.988 13.281 8.224 13.379 8.5 13.379C8.776 13.379 9.012 13.281 9.207 13.086L13.086 9.207C13.281 9.012 13.379 8.776 13.379 8.5C13.379 8.224 13.281 7.988 13.086 7.793L7.854 2.561C7.674 2.381 7.467 2.243 7.233 2.146C6.998 2.049 6.754 2 6.5 2L3 2C2.724 2 2.488 2.098 2.293 2.293C2.098 2.488 2 2.724 2 3L2 6.5C2 6.754 2.049 6.998 2.146 7.233ZM5.707 4.293C5.902 4.488 6 4.724 6 5C6 5.276 5.902 5.512 5.707 5.707C5.512 5.902 5.276 6 5 6C4.724 6 4.488 5.902 4.293 5.707C4.098 5.512 4 5.276 4 5C4 4.724 4.098 4.488 4.293 4.293C4.488 4.098 4.724 4 5 4C5.276 4 5.512 4.098 5.707 4.293Z"/>
</vector>
```

### Flutter

```dart
// Gentleface "tag" (line-round), MIT. https://gentleface.com/icons/tag
import 'package:flutter/widgets.dart';

class TagIcon extends StatelessWidget {
  const TagIcon({super.key, this.size = 16, this.color});
  final double size;
  final Color? color;

  @override
  Widget build(BuildContext context) => CustomPaint(
        size: Size.square(size),
        painter: _TagIconPainter(color ?? IconTheme.of(context).color ?? const Color(0xFF000000)),
      );
}

class _TagIconPainter extends CustomPainter {
  _TagIconPainter(this.color);
  final Color color;

  @override
  void paint(Canvas canvas, Size size) {
    canvas.scale(size.width / 16, size.height / 16);
    final p = Path()
      ..moveTo(14.214, 7.706)
      ..cubicTo(14.324, 7.959, 14.379, 8.224, 14.379, 8.5)
      ..cubicTo(14.379, 8.776, 14.324, 9.041, 14.214, 9.294)
      ..cubicTo(14.113, 9.528, 13.973, 9.734, 13.793, 9.914)
      ..lineTo(9.914, 13.793)
      ..cubicTo(9.734, 13.973, 9.528, 14.113, 9.294, 14.214)
      ..cubicTo(9.041, 14.324, 8.776, 14.379, 8.5, 14.379)
      ..cubicTo(8.224, 14.379, 7.959, 14.324, 7.706, 14.214)
      ..cubicTo(7.472, 14.113, 7.266, 13.973, 7.086, 13.793)
      ..lineTo(1.854, 8.561)
      ..cubicTo(1.58, 8.287, 1.37, 7.972, 1.222, 7.615)
      ..cubicTo(1.074, 7.258, 1, 6.886, 1, 6.5)
      ..lineTo(1, 3)
      ..cubicTo(1, 2.746, 1.047, 2.5, 1.14, 2.264)
      ..cubicTo(1.242, 2.007, 1.391, 1.781, 1.586, 1.586)
      ..cubicTo(1.781, 1.391, 2.007, 1.242, 2.264, 1.14)
      ..cubicTo(2.5, 1.047, 2.746, 1, 3, 1)
      ..lineTo(6.5, 1)
      ..cubicTo(6.886, 1, 7.258, 1.074, 7.615, 1.222)
      ..cubicTo(7.972, 1.37, 8.287, 1.58, 8.561, 1.854)
      ..lineTo(13.793, 7.086)
      ..cubicTo(13.973, 7.266, 14.113, 7.472, 14.214, 7.706)
      ..close()
      ..moveTo(2.146, 7.233)
      ..cubicTo(2.243, 7.467, 2.381, 7.674, 2.561, 7.854)
      ..lineTo(7.793, 13.086)
      ..cubicTo(7.988, 13.281, 8.224, 13.379, 8.5, 13.379)
      ..cubicTo(8.776, 13.379, 9.012, 13.281, 9.207, 13.086)
      ..lineTo(13.086, 9.207)
      ..cubicTo(13.281, 9.012, 13.379, 8.776, 13.379, 8.5)
      ..cubicTo(13.379, 8.224, 13.281, 7.988, 13.086, 7.793)
      ..lineTo(7.854, 2.561)
      ..cubicTo(7.674, 2.381, 7.467, 2.243, 7.233, 2.146)
      ..cubicTo(6.998, 2.049, 6.754, 2, 6.5, 2)
      ..lineTo(3, 2)
      ..cubicTo(2.724, 2, 2.488, 2.098, 2.293, 2.293)
      ..cubicTo(2.098, 2.488, 2, 2.724, 2, 3)
      ..lineTo(2, 6.5)
      ..cubicTo(2, 6.754, 2.049, 6.998, 2.146, 7.233)
      ..close()
      ..moveTo(5.707, 4.293)
      ..cubicTo(5.902, 4.488, 6, 4.724, 6, 5)
      ..cubicTo(6, 5.276, 5.902, 5.512, 5.707, 5.707)
      ..cubicTo(5.512, 5.902, 5.276, 6, 5, 6)
      ..cubicTo(4.724, 6, 4.488, 5.902, 4.293, 5.707)
      ..cubicTo(4.098, 5.512, 4, 5.276, 4, 5)
      ..cubicTo(4, 4.724, 4.098, 4.488, 4.293, 4.293)
      ..cubicTo(4.488, 4.098, 4.724, 4, 5, 4)
      ..cubicTo(5.276, 4, 5.512, 4.098, 5.707, 4.293)
      ..close();
    canvas.drawPath(p, Paint()..color = color);
  }

  @override
  bool shouldRepaint(_TagIconPainter old) => old.color != color;
}
```
