# shirt icon

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

- Category: Shopping
- Use it for: clothing, shirt, apparel, clothes, fashion, t shirt, tee
- Tags: shirt, t-shirt, clothes, clothing, apparel, fashion, garment, merch
- Component name: ShirtIcon
- Added: 2026-10-15

## Alternatives

- `hanger`: wardrobe or closet
- `dress`: dresses as a category
- `shirt-sport`: a sports jersey or team kit

## Also fits

- dress: clothing or apparel as a category
- wardrobe: clothing or apparel as a category
- jacket: clothing or apparel in general

## 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/shirt.svg · PNG https://gentleface.com/png/line-round/16/shirt.png · https://gentleface.com/png/line-round/32/shirt.png · https://gentleface.com/png/line-round/48/shirt.png
- line-soft: https://gentleface.com/svg/line-soft/16/shirt.svg · PNG https://gentleface.com/png/line-soft/16/shirt.png · https://gentleface.com/png/line-soft/32/shirt.png · https://gentleface.com/png/line-soft/48/shirt.png
- line-sharp: https://gentleface.com/svg/line-sharp/16/shirt.svg · PNG https://gentleface.com/png/line-sharp/16/shirt.png · https://gentleface.com/png/line-sharp/32/shirt.png · https://gentleface.com/png/line-sharp/48/shirt.png
- solid-round: https://gentleface.com/svg/solid-round/16/shirt.svg · PNG https://gentleface.com/png/solid-round/16/shirt.png · https://gentleface.com/png/solid-round/32/shirt.png · https://gentleface.com/png/solid-round/48/shirt.png
- solid-soft: https://gentleface.com/svg/solid-soft/16/shirt.svg · PNG https://gentleface.com/png/solid-soft/16/shirt.png · https://gentleface.com/png/solid-soft/32/shirt.png · https://gentleface.com/png/solid-soft/48/shirt.png
- solid-sharp: https://gentleface.com/svg/solid-sharp/16/shirt.svg · PNG https://gentleface.com/png/solid-sharp/16/shirt.png · https://gentleface.com/png/solid-sharp/32/shirt.png · https://gentleface.com/png/solid-sharp/48/shirt.png

The SVG of every style: https://gentleface.com/icons/shirt.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.707 6.707C14.512 6.902 14.276 7 14 7L12 7L12 14C12 14.276 11.902 14.512 11.707 14.707C11.512 14.902 11.276 15 11 15L5 15C4.724 15 4.488 14.902 4.293 14.707C4.098 14.512 4 14.276 4 14L4 7L2 7C1.724 7 1.488 6.902 1.293 6.707C1.098 6.512 1 6.276 1 6L1 4.427C1 4.048 1.1 3.698 1.299 3.376C1.498 3.053 1.767 2.808 2.106 2.638L5.276 1.053C5.402 0.99 5.53 0.98 5.659 1.023C5.788 1.066 5.884 1.15 5.947 1.276C5.982 1.347 6 1.421 6 1.5C6 1.676 6.041 1.848 6.124 2.014C6.218 2.205 6.358 2.375 6.545 2.524C6.74 2.68 6.969 2.8 7.231 2.883C7.477 2.961 7.734 3 8 3C8.266 3 8.523 2.961 8.769 2.883C9.031 2.8 9.26 2.68 9.455 2.524C9.642 2.375 9.782 2.205 9.876 2.014C9.959 1.848 10 1.676 10 1.5C10 1.359 10.048 1.241 10.144 1.144C10.241 1.048 10.359 1 10.5 1C10.579 1 10.653 1.018 10.724 1.053L13.894 2.638C14.233 2.808 14.502 3.053 14.701 3.376C14.9 3.698 15 4.048 15 4.427L15 6C15 6.276 14.902 6.512 14.707 6.707ZM2.149 3.901C2.05 4.062 2 4.238 2 4.427L2 6L4 6C4.276 6 4.512 6.098 4.707 6.293C4.902 6.488 5 6.724 5 7L5 14L11 14L11 7C11 6.724 11.098 6.488 11.293 6.293C11.488 6.098 11.724 6 12 6L14 6L14 4.427C14 4.238 13.95 4.062 13.851 3.901C13.751 3.74 13.617 3.617 13.447 3.533L10.866 2.242C10.839 2.315 10.808 2.387 10.773 2.458C10.613 2.781 10.382 3.063 10.08 3.305C9.788 3.539 9.451 3.716 9.071 3.836C8.726 3.945 8.369 4 8 4C7.631 4 7.274 3.945 6.929 3.836C6.549 3.716 6.212 3.539 5.92 3.305C5.618 3.063 5.387 2.781 5.227 2.458C5.192 2.387 5.161 2.315 5.134 2.242L2.553 3.533C2.383 3.617 2.249 3.74 2.149 3.901Z"/></svg>
```

### React

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

export function ShirtIcon(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.707 6.707C14.512 6.902 14.276 7 14 7L12 7L12 14C12 14.276 11.902 14.512 11.707 14.707C11.512 14.902 11.276 15 11 15L5 15C4.724 15 4.488 14.902 4.293 14.707C4.098 14.512 4 14.276 4 14L4 7L2 7C1.724 7 1.488 6.902 1.293 6.707C1.098 6.512 1 6.276 1 6L1 4.427C1 4.048 1.1 3.698 1.299 3.376C1.498 3.053 1.767 2.808 2.106 2.638L5.276 1.053C5.402 0.99 5.53 0.98 5.659 1.023C5.788 1.066 5.884 1.15 5.947 1.276C5.982 1.347 6 1.421 6 1.5C6 1.676 6.041 1.848 6.124 2.014C6.218 2.205 6.358 2.375 6.545 2.524C6.74 2.68 6.969 2.8 7.231 2.883C7.477 2.961 7.734 3 8 3C8.266 3 8.523 2.961 8.769 2.883C9.031 2.8 9.26 2.68 9.455 2.524C9.642 2.375 9.782 2.205 9.876 2.014C9.959 1.848 10 1.676 10 1.5C10 1.359 10.048 1.241 10.144 1.144C10.241 1.048 10.359 1 10.5 1C10.579 1 10.653 1.018 10.724 1.053L13.894 2.638C14.233 2.808 14.502 3.053 14.701 3.376C14.9 3.698 15 4.048 15 4.427L15 6C15 6.276 14.902 6.512 14.707 6.707ZM2.149 3.901C2.05 4.062 2 4.238 2 4.427L2 6L4 6C4.276 6 4.512 6.098 4.707 6.293C4.902 6.488 5 6.724 5 7L5 14L11 14L11 7C11 6.724 11.098 6.488 11.293 6.293C11.488 6.098 11.724 6 12 6L14 6L14 4.427C14 4.238 13.95 4.062 13.851 3.901C13.751 3.74 13.617 3.617 13.447 3.533L10.866 2.242C10.839 2.315 10.808 2.387 10.773 2.458C10.613 2.781 10.382 3.063 10.08 3.305C9.788 3.539 9.451 3.716 9.071 3.836C8.726 3.945 8.369 4 8 4C7.631 4 7.274 3.945 6.929 3.836C6.549 3.716 6.212 3.539 5.92 3.305C5.618 3.063 5.387 2.781 5.227 2.458C5.192 2.387 5.161 2.315 5.134 2.242L2.553 3.533C2.383 3.617 2.249 3.74 2.149 3.901Z" />
    </svg>
  );
}
```

### Vue

```vue
<!-- Gentleface "shirt" (line-round), MIT. https://gentleface.com/icons/shirt -->
<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.707 6.707C14.512 6.902 14.276 7 14 7L12 7L12 14C12 14.276 11.902 14.512 11.707 14.707C11.512 14.902 11.276 15 11 15L5 15C4.724 15 4.488 14.902 4.293 14.707C4.098 14.512 4 14.276 4 14L4 7L2 7C1.724 7 1.488 6.902 1.293 6.707C1.098 6.512 1 6.276 1 6L1 4.427C1 4.048 1.1 3.698 1.299 3.376C1.498 3.053 1.767 2.808 2.106 2.638L5.276 1.053C5.402 0.99 5.53 0.98 5.659 1.023C5.788 1.066 5.884 1.15 5.947 1.276C5.982 1.347 6 1.421 6 1.5C6 1.676 6.041 1.848 6.124 2.014C6.218 2.205 6.358 2.375 6.545 2.524C6.74 2.68 6.969 2.8 7.231 2.883C7.477 2.961 7.734 3 8 3C8.266 3 8.523 2.961 8.769 2.883C9.031 2.8 9.26 2.68 9.455 2.524C9.642 2.375 9.782 2.205 9.876 2.014C9.959 1.848 10 1.676 10 1.5C10 1.359 10.048 1.241 10.144 1.144C10.241 1.048 10.359 1 10.5 1C10.579 1 10.653 1.018 10.724 1.053L13.894 2.638C14.233 2.808 14.502 3.053 14.701 3.376C14.9 3.698 15 4.048 15 4.427L15 6C15 6.276 14.902 6.512 14.707 6.707ZM2.149 3.901C2.05 4.062 2 4.238 2 4.427L2 6L4 6C4.276 6 4.512 6.098 4.707 6.293C4.902 6.488 5 6.724 5 7L5 14L11 14L11 7C11 6.724 11.098 6.488 11.293 6.293C11.488 6.098 11.724 6 12 6L14 6L14 4.427C14 4.238 13.95 4.062 13.851 3.901C13.751 3.74 13.617 3.617 13.447 3.533L10.866 2.242C10.839 2.315 10.808 2.387 10.773 2.458C10.613 2.781 10.382 3.063 10.08 3.305C9.788 3.539 9.451 3.716 9.071 3.836C8.726 3.945 8.369 4 8 4C7.631 4 7.274 3.945 6.929 3.836C6.549 3.716 6.212 3.539 5.92 3.305C5.618 3.063 5.387 2.781 5.227 2.458C5.192 2.387 5.161 2.315 5.134 2.242L2.553 3.533C2.383 3.617 2.249 3.74 2.149 3.901Z" />
  </svg>
</template>
```

### Svelte

```svelte
<!-- Gentleface "shirt" (line-round), MIT. https://gentleface.com/icons/shirt -->
<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.707 6.707C14.512 6.902 14.276 7 14 7L12 7L12 14C12 14.276 11.902 14.512 11.707 14.707C11.512 14.902 11.276 15 11 15L5 15C4.724 15 4.488 14.902 4.293 14.707C4.098 14.512 4 14.276 4 14L4 7L2 7C1.724 7 1.488 6.902 1.293 6.707C1.098 6.512 1 6.276 1 6L1 4.427C1 4.048 1.1 3.698 1.299 3.376C1.498 3.053 1.767 2.808 2.106 2.638L5.276 1.053C5.402 0.99 5.53 0.98 5.659 1.023C5.788 1.066 5.884 1.15 5.947 1.276C5.982 1.347 6 1.421 6 1.5C6 1.676 6.041 1.848 6.124 2.014C6.218 2.205 6.358 2.375 6.545 2.524C6.74 2.68 6.969 2.8 7.231 2.883C7.477 2.961 7.734 3 8 3C8.266 3 8.523 2.961 8.769 2.883C9.031 2.8 9.26 2.68 9.455 2.524C9.642 2.375 9.782 2.205 9.876 2.014C9.959 1.848 10 1.676 10 1.5C10 1.359 10.048 1.241 10.144 1.144C10.241 1.048 10.359 1 10.5 1C10.579 1 10.653 1.018 10.724 1.053L13.894 2.638C14.233 2.808 14.502 3.053 14.701 3.376C14.9 3.698 15 4.048 15 4.427L15 6C15 6.276 14.902 6.512 14.707 6.707ZM2.149 3.901C2.05 4.062 2 4.238 2 4.427L2 6L4 6C4.276 6 4.512 6.098 4.707 6.293C4.902 6.488 5 6.724 5 7L5 14L11 14L11 7C11 6.724 11.098 6.488 11.293 6.293C11.488 6.098 11.724 6 12 6L14 6L14 4.427C14 4.238 13.95 4.062 13.851 3.901C13.751 3.74 13.617 3.617 13.447 3.533L10.866 2.242C10.839 2.315 10.808 2.387 10.773 2.458C10.613 2.781 10.382 3.063 10.08 3.305C9.788 3.539 9.451 3.716 9.071 3.836C8.726 3.945 8.369 4 8 4C7.631 4 7.274 3.945 6.929 3.836C6.549 3.716 6.212 3.539 5.92 3.305C5.618 3.063 5.387 2.781 5.227 2.458C5.192 2.387 5.161 2.315 5.134 2.242L2.553 3.533C2.383 3.617 2.249 3.74 2.149 3.901Z" />
</svg>
```

### HTML img

```html
<!-- Gentleface "shirt" (line-round), MIT. https://gentleface.com/icons/shirt. 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/shirt.svg" width="16" height="16" alt="">
```

### CSS

```css
/* Gentleface "shirt" (line-round), MIT. https://gentleface.com/icons/shirt. Takes the text color. */
.icon-shirt {
  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.707 6.707C14.512 6.902 14.276 7 14 7L12 7L12 14C12 14.276 11.902 14.512 11.707 14.707C11.512 14.902 11.276 15 11 15L5 15C4.724 15 4.488 14.902 4.293 14.707C4.098 14.512 4 14.276 4 14L4 7L2 7C1.724 7 1.488 6.902 1.293 6.707C1.098 6.512 1 6.276 1 6L1 4.427C1 4.048 1.1 3.698 1.299 3.376C1.498 3.053 1.767 2.808 2.106 2.638L5.276 1.053C5.402 0.99 5.53 0.98 5.659 1.023C5.788 1.066 5.884 1.15 5.947 1.276C5.982 1.347 6 1.421 6 1.5C6 1.676 6.041 1.848 6.124 2.014C6.218 2.205 6.358 2.375 6.545 2.524C6.74 2.68 6.969 2.8 7.231 2.883C7.477 2.961 7.734 3 8 3C8.266 3 8.523 2.961 8.769 2.883C9.031 2.8 9.26 2.68 9.455 2.524C9.642 2.375 9.782 2.205 9.876 2.014C9.959 1.848 10 1.676 10 1.5C10 1.359 10.048 1.241 10.144 1.144C10.241 1.048 10.359 1 10.5 1C10.579 1 10.653 1.018 10.724 1.053L13.894 2.638C14.233 2.808 14.502 3.053 14.701 3.376C14.9 3.698 15 4.048 15 4.427L15 6C15 6.276 14.902 6.512 14.707 6.707ZM2.149 3.901C2.05 4.062 2 4.238 2 4.427L2 6L4 6C4.276 6 4.512 6.098 4.707 6.293C4.902 6.488 5 6.724 5 7L5 14L11 14L11 7C11 6.724 11.098 6.488 11.293 6.293C11.488 6.098 11.724 6 12 6L14 6L14 4.427C14 4.238 13.95 4.062 13.851 3.901C13.751 3.74 13.617 3.617 13.447 3.533L10.866 2.242C10.839 2.315 10.808 2.387 10.773 2.458C10.613 2.781 10.382 3.063 10.08 3.305C9.788 3.539 9.451 3.716 9.071 3.836C8.726 3.945 8.369 4 8 4C7.631 4 7.274 3.945 6.929 3.836C6.549 3.716 6.212 3.539 5.92 3.305C5.618 3.063 5.387 2.781 5.227 2.458C5.192 2.387 5.161 2.315 5.134 2.242L2.553 3.533C2.383 3.617 2.249 3.74 2.149 3.901Z'/%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.707 6.707C14.512 6.902 14.276 7 14 7L12 7L12 14C12 14.276 11.902 14.512 11.707 14.707C11.512 14.902 11.276 15 11 15L5 15C4.724 15 4.488 14.902 4.293 14.707C4.098 14.512 4 14.276 4 14L4 7L2 7C1.724 7 1.488 6.902 1.293 6.707C1.098 6.512 1 6.276 1 6L1 4.427C1 4.048 1.1 3.698 1.299 3.376C1.498 3.053 1.767 2.808 2.106 2.638L5.276 1.053C5.402 0.99 5.53 0.98 5.659 1.023C5.788 1.066 5.884 1.15 5.947 1.276C5.982 1.347 6 1.421 6 1.5C6 1.676 6.041 1.848 6.124 2.014C6.218 2.205 6.358 2.375 6.545 2.524C6.74 2.68 6.969 2.8 7.231 2.883C7.477 2.961 7.734 3 8 3C8.266 3 8.523 2.961 8.769 2.883C9.031 2.8 9.26 2.68 9.455 2.524C9.642 2.375 9.782 2.205 9.876 2.014C9.959 1.848 10 1.676 10 1.5C10 1.359 10.048 1.241 10.144 1.144C10.241 1.048 10.359 1 10.5 1C10.579 1 10.653 1.018 10.724 1.053L13.894 2.638C14.233 2.808 14.502 3.053 14.701 3.376C14.9 3.698 15 4.048 15 4.427L15 6C15 6.276 14.902 6.512 14.707 6.707ZM2.149 3.901C2.05 4.062 2 4.238 2 4.427L2 6L4 6C4.276 6 4.512 6.098 4.707 6.293C4.902 6.488 5 6.724 5 7L5 14L11 14L11 7C11 6.724 11.098 6.488 11.293 6.293C11.488 6.098 11.724 6 12 6L14 6L14 4.427C14 4.238 13.95 4.062 13.851 3.901C13.751 3.74 13.617 3.617 13.447 3.533L10.866 2.242C10.839 2.315 10.808 2.387 10.773 2.458C10.613 2.781 10.382 3.063 10.08 3.305C9.788 3.539 9.451 3.716 9.071 3.836C8.726 3.945 8.369 4 8 4C7.631 4 7.274 3.945 6.929 3.836C6.549 3.716 6.212 3.539 5.92 3.305C5.618 3.063 5.387 2.781 5.227 2.458C5.192 2.387 5.161 2.315 5.134 2.242L2.553 3.533C2.383 3.617 2.249 3.74 2.149 3.901Z'/%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.707 6.707C14.512 6.902 14.276 7 14 7L12 7L12 14C12 14.276 11.902 14.512 11.707 14.707C11.512 14.902 11.276 15 11 15L5 15C4.724 15 4.488 14.902 4.293 14.707C4.098 14.512 4 14.276 4 14L4 7L2 7C1.724 7 1.488 6.902 1.293 6.707C1.098 6.512 1 6.276 1 6L1 4.427C1 4.048 1.1 3.698 1.299 3.376C1.498 3.053 1.767 2.808 2.106 2.638L5.276 1.053C5.402 0.99 5.53 0.98 5.659 1.023C5.788 1.066 5.884 1.15 5.947 1.276C5.982 1.347 6 1.421 6 1.5C6 1.676 6.041 1.848 6.124 2.014C6.218 2.205 6.358 2.375 6.545 2.524C6.74 2.68 6.969 2.8 7.231 2.883C7.477 2.961 7.734 3 8 3C8.266 3 8.523 2.961 8.769 2.883C9.031 2.8 9.26 2.68 9.455 2.524C9.642 2.375 9.782 2.205 9.876 2.014C9.959 1.848 10 1.676 10 1.5C10 1.359 10.048 1.241 10.144 1.144C10.241 1.048 10.359 1 10.5 1C10.579 1 10.653 1.018 10.724 1.053L13.894 2.638C14.233 2.808 14.502 3.053 14.701 3.376C14.9 3.698 15 4.048 15 4.427L15 6C15 6.276 14.902 6.512 14.707 6.707ZM2.149 3.901C2.05 4.062 2 4.238 2 4.427L2 6L4 6C4.276 6 4.512 6.098 4.707 6.293C4.902 6.488 5 6.724 5 7L5 14L11 14L11 7C11 6.724 11.098 6.488 11.293 6.293C11.488 6.098 11.724 6 12 6L14 6L14 4.427C14 4.238 13.95 4.062 13.851 3.901C13.751 3.74 13.617 3.617 13.447 3.533L10.866 2.242C10.839 2.315 10.808 2.387 10.773 2.458C10.613 2.781 10.382 3.063 10.08 3.305C9.788 3.539 9.451 3.716 9.071 3.836C8.726 3.945 8.369 4 8 4C7.631 4 7.274 3.945 6.929 3.836C6.549 3.716 6.212 3.539 5.92 3.305C5.618 3.063 5.387 2.781 5.227 2.458C5.192 2.387 5.161 2.315 5.134 2.242L2.553 3.533C2.383 3.617 2.249 3.74 2.149 3.901Z'/%3E%3C/svg%3E
```

### Sprite

```html
<!-- Gentleface "shirt" (line-round), MIT. https://gentleface.com/icons/shirt
     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#shirt"/></svg>
```

### SwiftUI

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

struct ShirtIcon: Shape {
    func path(in rect: CGRect) -> Path {
        var p = Path()
        p.move(to: CGPoint(x: 14.707, y: 6.707))
        p.addCurve(to: CGPoint(x: 14, y: 7), control1: CGPoint(x: 14.512, y: 6.902), control2: CGPoint(x: 14.276, y: 7))
        p.addLine(to: CGPoint(x: 12, y: 7))
        p.addLine(to: CGPoint(x: 12, y: 14))
        p.addCurve(to: CGPoint(x: 11.707, y: 14.707), control1: CGPoint(x: 12, y: 14.276), control2: CGPoint(x: 11.902, y: 14.512))
        p.addCurve(to: CGPoint(x: 11, y: 15), control1: CGPoint(x: 11.512, y: 14.902), control2: CGPoint(x: 11.276, y: 15))
        p.addLine(to: CGPoint(x: 5, y: 15))
        p.addCurve(to: CGPoint(x: 4.293, y: 14.707), control1: CGPoint(x: 4.724, y: 15), control2: CGPoint(x: 4.488, y: 14.902))
        p.addCurve(to: CGPoint(x: 4, y: 14), control1: CGPoint(x: 4.098, y: 14.512), control2: CGPoint(x: 4, y: 14.276))
        p.addLine(to: CGPoint(x: 4, y: 7))
        p.addLine(to: CGPoint(x: 2, y: 7))
        p.addCurve(to: CGPoint(x: 1.293, y: 6.707), control1: CGPoint(x: 1.724, y: 7), control2: CGPoint(x: 1.488, y: 6.902))
        p.addCurve(to: CGPoint(x: 1, y: 6), control1: CGPoint(x: 1.098, y: 6.512), control2: CGPoint(x: 1, y: 6.276))
        p.addLine(to: CGPoint(x: 1, y: 4.427))
        p.addCurve(to: CGPoint(x: 1.299, y: 3.376), control1: CGPoint(x: 1, y: 4.048), control2: CGPoint(x: 1.1, y: 3.698))
        p.addCurve(to: CGPoint(x: 2.106, y: 2.638), control1: CGPoint(x: 1.498, y: 3.053), control2: CGPoint(x: 1.767, y: 2.808))
        p.addLine(to: CGPoint(x: 5.276, y: 1.053))
        p.addCurve(to: CGPoint(x: 5.659, y: 1.023), control1: CGPoint(x: 5.402, y: 0.99), control2: CGPoint(x: 5.53, y: 0.98))
        p.addCurve(to: CGPoint(x: 5.947, y: 1.276), control1: CGPoint(x: 5.788, y: 1.066), control2: CGPoint(x: 5.884, y: 1.15))
        p.addCurve(to: CGPoint(x: 6, y: 1.5), control1: CGPoint(x: 5.982, y: 1.347), control2: CGPoint(x: 6, y: 1.421))
        p.addCurve(to: CGPoint(x: 6.124, y: 2.014), control1: CGPoint(x: 6, y: 1.676), control2: CGPoint(x: 6.041, y: 1.848))
        p.addCurve(to: CGPoint(x: 6.545, y: 2.524), control1: CGPoint(x: 6.218, y: 2.205), control2: CGPoint(x: 6.358, y: 2.375))
        p.addCurve(to: CGPoint(x: 7.231, y: 2.883), control1: CGPoint(x: 6.74, y: 2.68), control2: CGPoint(x: 6.969, y: 2.8))
        p.addCurve(to: CGPoint(x: 8, y: 3), control1: CGPoint(x: 7.477, y: 2.961), control2: CGPoint(x: 7.734, y: 3))
        p.addCurve(to: CGPoint(x: 8.769, y: 2.883), control1: CGPoint(x: 8.266, y: 3), control2: CGPoint(x: 8.523, y: 2.961))
        p.addCurve(to: CGPoint(x: 9.455, y: 2.524), control1: CGPoint(x: 9.031, y: 2.8), control2: CGPoint(x: 9.26, y: 2.68))
        p.addCurve(to: CGPoint(x: 9.876, y: 2.014), control1: CGPoint(x: 9.642, y: 2.375), control2: CGPoint(x: 9.782, y: 2.205))
        p.addCurve(to: CGPoint(x: 10, y: 1.5), control1: CGPoint(x: 9.959, y: 1.848), control2: CGPoint(x: 10, y: 1.676))
        p.addCurve(to: CGPoint(x: 10.144, y: 1.144), control1: CGPoint(x: 10, y: 1.359), control2: CGPoint(x: 10.048, y: 1.241))
        p.addCurve(to: CGPoint(x: 10.5, y: 1), control1: CGPoint(x: 10.241, y: 1.048), control2: CGPoint(x: 10.359, y: 1))
        p.addCurve(to: CGPoint(x: 10.724, y: 1.053), control1: CGPoint(x: 10.579, y: 1), control2: CGPoint(x: 10.653, y: 1.018))
        p.addLine(to: CGPoint(x: 13.894, y: 2.638))
        p.addCurve(to: CGPoint(x: 14.701, y: 3.376), control1: CGPoint(x: 14.233, y: 2.808), control2: CGPoint(x: 14.502, y: 3.053))
        p.addCurve(to: CGPoint(x: 15, y: 4.427), control1: CGPoint(x: 14.9, y: 3.698), control2: CGPoint(x: 15, y: 4.048))
        p.addLine(to: CGPoint(x: 15, y: 6))
        p.addCurve(to: CGPoint(x: 14.707, y: 6.707), control1: CGPoint(x: 15, y: 6.276), control2: CGPoint(x: 14.902, y: 6.512))
        p.closeSubpath()
        p.move(to: CGPoint(x: 2.149, y: 3.901))
        p.addCurve(to: CGPoint(x: 2, y: 4.427), control1: CGPoint(x: 2.05, y: 4.062), control2: CGPoint(x: 2, y: 4.238))
        p.addLine(to: CGPoint(x: 2, y: 6))
        p.addLine(to: CGPoint(x: 4, y: 6))
        p.addCurve(to: CGPoint(x: 4.707, y: 6.293), control1: CGPoint(x: 4.276, y: 6), control2: CGPoint(x: 4.512, y: 6.098))
        p.addCurve(to: CGPoint(x: 5, y: 7), control1: CGPoint(x: 4.902, y: 6.488), control2: CGPoint(x: 5, y: 6.724))
        p.addLine(to: CGPoint(x: 5, y: 14))
        p.addLine(to: CGPoint(x: 11, y: 14))
        p.addLine(to: CGPoint(x: 11, y: 7))
        p.addCurve(to: CGPoint(x: 11.293, y: 6.293), control1: CGPoint(x: 11, y: 6.724), control2: CGPoint(x: 11.098, y: 6.488))
        p.addCurve(to: CGPoint(x: 12, y: 6), control1: CGPoint(x: 11.488, y: 6.098), control2: CGPoint(x: 11.724, y: 6))
        p.addLine(to: CGPoint(x: 14, y: 6))
        p.addLine(to: CGPoint(x: 14, y: 4.427))
        p.addCurve(to: CGPoint(x: 13.851, y: 3.901), control1: CGPoint(x: 14, y: 4.238), control2: CGPoint(x: 13.95, y: 4.062))
        p.addCurve(to: CGPoint(x: 13.447, y: 3.533), control1: CGPoint(x: 13.751, y: 3.74), control2: CGPoint(x: 13.617, y: 3.617))
        p.addLine(to: CGPoint(x: 10.866, y: 2.242))
        p.addCurve(to: CGPoint(x: 10.773, y: 2.458), control1: CGPoint(x: 10.839, y: 2.315), control2: CGPoint(x: 10.808, y: 2.387))
        p.addCurve(to: CGPoint(x: 10.08, y: 3.305), control1: CGPoint(x: 10.613, y: 2.781), control2: CGPoint(x: 10.382, y: 3.063))
        p.addCurve(to: CGPoint(x: 9.071, y: 3.836), control1: CGPoint(x: 9.788, y: 3.539), control2: CGPoint(x: 9.451, y: 3.716))
        p.addCurve(to: CGPoint(x: 8, y: 4), control1: CGPoint(x: 8.726, y: 3.945), control2: CGPoint(x: 8.369, y: 4))
        p.addCurve(to: CGPoint(x: 6.929, y: 3.836), control1: CGPoint(x: 7.631, y: 4), control2: CGPoint(x: 7.274, y: 3.945))
        p.addCurve(to: CGPoint(x: 5.92, y: 3.305), control1: CGPoint(x: 6.549, y: 3.716), control2: CGPoint(x: 6.212, y: 3.539))
        p.addCurve(to: CGPoint(x: 5.227, y: 2.458), control1: CGPoint(x: 5.618, y: 3.063), control2: CGPoint(x: 5.387, y: 2.781))
        p.addCurve(to: CGPoint(x: 5.134, y: 2.242), control1: CGPoint(x: 5.192, y: 2.387), control2: CGPoint(x: 5.161, y: 2.315))
        p.addLine(to: CGPoint(x: 2.553, y: 3.533))
        p.addCurve(to: CGPoint(x: 2.149, y: 3.901), control1: CGPoint(x: 2.383, y: 3.617), control2: CGPoint(x: 2.249, y: 3.74))
        p.closeSubpath()
        return p.applying(CGAffineTransform(scaleX: rect.width / 16, y: rect.height / 16))
    }
}

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

### Compose

```kotlin
// Gentleface "shirt" (line-round), MIT. https://gentleface.com/icons/shirt
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 ShirtIcon: ImageVector by lazy {
    ImageVector.Builder(
        name = "shirt", defaultWidth = 16.dp, defaultHeight = 16.dp,
        viewportWidth = 16f, viewportHeight = 16f,
    ).addPath(
        pathData = addPathNodes("M14.707 6.707C14.512 6.902 14.276 7 14 7L12 7L12 14C12 14.276 11.902 14.512 11.707 14.707C11.512 14.902 11.276 15 11 15L5 15C4.724 15 4.488 14.902 4.293 14.707C4.098 14.512 4 14.276 4 14L4 7L2 7C1.724 7 1.488 6.902 1.293 6.707C1.098 6.512 1 6.276 1 6L1 4.427C1 4.048 1.1 3.698 1.299 3.376C1.498 3.053 1.767 2.808 2.106 2.638L5.276 1.053C5.402 0.99 5.53 0.98 5.659 1.023C5.788 1.066 5.884 1.15 5.947 1.276C5.982 1.347 6 1.421 6 1.5C6 1.676 6.041 1.848 6.124 2.014C6.218 2.205 6.358 2.375 6.545 2.524C6.74 2.68 6.969 2.8 7.231 2.883C7.477 2.961 7.734 3 8 3C8.266 3 8.523 2.961 8.769 2.883C9.031 2.8 9.26 2.68 9.455 2.524C9.642 2.375 9.782 2.205 9.876 2.014C9.959 1.848 10 1.676 10 1.5C10 1.359 10.048 1.241 10.144 1.144C10.241 1.048 10.359 1 10.5 1C10.579 1 10.653 1.018 10.724 1.053L13.894 2.638C14.233 2.808 14.502 3.053 14.701 3.376C14.9 3.698 15 4.048 15 4.427L15 6C15 6.276 14.902 6.512 14.707 6.707ZM2.149 3.901C2.05 4.062 2 4.238 2 4.427L2 6L4 6C4.276 6 4.512 6.098 4.707 6.293C4.902 6.488 5 6.724 5 7L5 14L11 14L11 7C11 6.724 11.098 6.488 11.293 6.293C11.488 6.098 11.724 6 12 6L14 6L14 4.427C14 4.238 13.95 4.062 13.851 3.901C13.751 3.74 13.617 3.617 13.447 3.533L10.866 2.242C10.839 2.315 10.808 2.387 10.773 2.458C10.613 2.781 10.382 3.063 10.08 3.305C9.788 3.539 9.451 3.716 9.071 3.836C8.726 3.945 8.369 4 8 4C7.631 4 7.274 3.945 6.929 3.836C6.549 3.716 6.212 3.539 5.92 3.305C5.618 3.063 5.387 2.781 5.227 2.458C5.192 2.387 5.161 2.315 5.134 2.242L2.553 3.533C2.383 3.617 2.249 3.74 2.149 3.901Z"),
        fill = SolidColor(Color.Black),
    ).build()
}

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

### Android XML

```xml
<!-- res/drawable/ic_shirt.xml · Gentleface "shirt" (line-round), MIT. https://gentleface.com/icons/shirt -->
<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.707 6.707C14.512 6.902 14.276 7 14 7L12 7L12 14C12 14.276 11.902 14.512 11.707 14.707C11.512 14.902 11.276 15 11 15L5 15C4.724 15 4.488 14.902 4.293 14.707C4.098 14.512 4 14.276 4 14L4 7L2 7C1.724 7 1.488 6.902 1.293 6.707C1.098 6.512 1 6.276 1 6L1 4.427C1 4.048 1.1 3.698 1.299 3.376C1.498 3.053 1.767 2.808 2.106 2.638L5.276 1.053C5.402 0.99 5.53 0.98 5.659 1.023C5.788 1.066 5.884 1.15 5.947 1.276C5.982 1.347 6 1.421 6 1.5C6 1.676 6.041 1.848 6.124 2.014C6.218 2.205 6.358 2.375 6.545 2.524C6.74 2.68 6.969 2.8 7.231 2.883C7.477 2.961 7.734 3 8 3C8.266 3 8.523 2.961 8.769 2.883C9.031 2.8 9.26 2.68 9.455 2.524C9.642 2.375 9.782 2.205 9.876 2.014C9.959 1.848 10 1.676 10 1.5C10 1.359 10.048 1.241 10.144 1.144C10.241 1.048 10.359 1 10.5 1C10.579 1 10.653 1.018 10.724 1.053L13.894 2.638C14.233 2.808 14.502 3.053 14.701 3.376C14.9 3.698 15 4.048 15 4.427L15 6C15 6.276 14.902 6.512 14.707 6.707ZM2.149 3.901C2.05 4.062 2 4.238 2 4.427L2 6L4 6C4.276 6 4.512 6.098 4.707 6.293C4.902 6.488 5 6.724 5 7L5 14L11 14L11 7C11 6.724 11.098 6.488 11.293 6.293C11.488 6.098 11.724 6 12 6L14 6L14 4.427C14 4.238 13.95 4.062 13.851 3.901C13.751 3.74 13.617 3.617 13.447 3.533L10.866 2.242C10.839 2.315 10.808 2.387 10.773 2.458C10.613 2.781 10.382 3.063 10.08 3.305C9.788 3.539 9.451 3.716 9.071 3.836C8.726 3.945 8.369 4 8 4C7.631 4 7.274 3.945 6.929 3.836C6.549 3.716 6.212 3.539 5.92 3.305C5.618 3.063 5.387 2.781 5.227 2.458C5.192 2.387 5.161 2.315 5.134 2.242L2.553 3.533C2.383 3.617 2.249 3.74 2.149 3.901Z"/>
</vector>
```

### Flutter

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

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

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

class _ShirtIconPainter extends CustomPainter {
  _ShirtIconPainter(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.707, 6.707)
      ..cubicTo(14.512, 6.902, 14.276, 7, 14, 7)
      ..lineTo(12, 7)
      ..lineTo(12, 14)
      ..cubicTo(12, 14.276, 11.902, 14.512, 11.707, 14.707)
      ..cubicTo(11.512, 14.902, 11.276, 15, 11, 15)
      ..lineTo(5, 15)
      ..cubicTo(4.724, 15, 4.488, 14.902, 4.293, 14.707)
      ..cubicTo(4.098, 14.512, 4, 14.276, 4, 14)
      ..lineTo(4, 7)
      ..lineTo(2, 7)
      ..cubicTo(1.724, 7, 1.488, 6.902, 1.293, 6.707)
      ..cubicTo(1.098, 6.512, 1, 6.276, 1, 6)
      ..lineTo(1, 4.427)
      ..cubicTo(1, 4.048, 1.1, 3.698, 1.299, 3.376)
      ..cubicTo(1.498, 3.053, 1.767, 2.808, 2.106, 2.638)
      ..lineTo(5.276, 1.053)
      ..cubicTo(5.402, 0.99, 5.53, 0.98, 5.659, 1.023)
      ..cubicTo(5.788, 1.066, 5.884, 1.15, 5.947, 1.276)
      ..cubicTo(5.982, 1.347, 6, 1.421, 6, 1.5)
      ..cubicTo(6, 1.676, 6.041, 1.848, 6.124, 2.014)
      ..cubicTo(6.218, 2.205, 6.358, 2.375, 6.545, 2.524)
      ..cubicTo(6.74, 2.68, 6.969, 2.8, 7.231, 2.883)
      ..cubicTo(7.477, 2.961, 7.734, 3, 8, 3)
      ..cubicTo(8.266, 3, 8.523, 2.961, 8.769, 2.883)
      ..cubicTo(9.031, 2.8, 9.26, 2.68, 9.455, 2.524)
      ..cubicTo(9.642, 2.375, 9.782, 2.205, 9.876, 2.014)
      ..cubicTo(9.959, 1.848, 10, 1.676, 10, 1.5)
      ..cubicTo(10, 1.359, 10.048, 1.241, 10.144, 1.144)
      ..cubicTo(10.241, 1.048, 10.359, 1, 10.5, 1)
      ..cubicTo(10.579, 1, 10.653, 1.018, 10.724, 1.053)
      ..lineTo(13.894, 2.638)
      ..cubicTo(14.233, 2.808, 14.502, 3.053, 14.701, 3.376)
      ..cubicTo(14.9, 3.698, 15, 4.048, 15, 4.427)
      ..lineTo(15, 6)
      ..cubicTo(15, 6.276, 14.902, 6.512, 14.707, 6.707)
      ..close()
      ..moveTo(2.149, 3.901)
      ..cubicTo(2.05, 4.062, 2, 4.238, 2, 4.427)
      ..lineTo(2, 6)
      ..lineTo(4, 6)
      ..cubicTo(4.276, 6, 4.512, 6.098, 4.707, 6.293)
      ..cubicTo(4.902, 6.488, 5, 6.724, 5, 7)
      ..lineTo(5, 14)
      ..lineTo(11, 14)
      ..lineTo(11, 7)
      ..cubicTo(11, 6.724, 11.098, 6.488, 11.293, 6.293)
      ..cubicTo(11.488, 6.098, 11.724, 6, 12, 6)
      ..lineTo(14, 6)
      ..lineTo(14, 4.427)
      ..cubicTo(14, 4.238, 13.95, 4.062, 13.851, 3.901)
      ..cubicTo(13.751, 3.74, 13.617, 3.617, 13.447, 3.533)
      ..lineTo(10.866, 2.242)
      ..cubicTo(10.839, 2.315, 10.808, 2.387, 10.773, 2.458)
      ..cubicTo(10.613, 2.781, 10.382, 3.063, 10.08, 3.305)
      ..cubicTo(9.788, 3.539, 9.451, 3.716, 9.071, 3.836)
      ..cubicTo(8.726, 3.945, 8.369, 4, 8, 4)
      ..cubicTo(7.631, 4, 7.274, 3.945, 6.929, 3.836)
      ..cubicTo(6.549, 3.716, 6.212, 3.539, 5.92, 3.305)
      ..cubicTo(5.618, 3.063, 5.387, 2.781, 5.227, 2.458)
      ..cubicTo(5.192, 2.387, 5.161, 2.315, 5.134, 2.242)
      ..lineTo(2.553, 3.533)
      ..cubicTo(2.383, 3.617, 2.249, 3.74, 2.149, 3.901)
      ..close();
    canvas.drawPath(p, Paint()..color = color);
  }

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