# prism icon

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

- Category: Science & education
- Use it for: prism, light prism, dispersion, optics
- Tags: prism, light, optics, dispersion, refraction, spectrum, physics
- Component name: PrismIcon
- Added: 2026-11-12

## Files

Each icon is drawn on the 16 px grid, and most also on the 20 and 24 px grids (at 24 in three weights: light 1 px, regular 1.5 px, bold 2 px). Show the drawing made for your size, or an exact multiple of it, on whole pixels: 16 for 16 and 32 px, 20 for 20 and 40, 24 for 24 and 48. A size in between or a fractional position blurs it. The code on each icon page is the 16 px drawing, an SVG with fill="currentColor"; the icon page's downloads follow its Grid switch, and npm has the 20 and 24 px drawings too.

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

The SVG of every style: https://gentleface.com/icons/prism.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="M8.809 7L13.5 7C13.641 7 13.759 7.048 13.856 7.144C13.952 7.241 14 7.359 14 7.5C14 7.641 13.952 7.759 13.856 7.856C13.759 7.952 13.641 8 13.5 8L9.309 8L9.873 9.127L13.724 11.053C13.85 11.116 13.934 11.212 13.977 11.341C14.02 11.47 14.01 11.598 13.947 11.724C13.884 11.85 13.788 11.934 13.659 11.977C13.53 12.02 13.402 12.01 13.276 11.947L10.615 10.616C10.667 10.741 10.692 10.872 10.691 11.01C10.689 11.196 10.639 11.368 10.542 11.526C10.444 11.684 10.312 11.805 10.147 11.89C10.004 11.963 9.852 12 9.691 12L3.309 12C3.148 12 2.996 11.963 2.853 11.89C2.688 11.805 2.556 11.684 2.458 11.526C2.361 11.368 2.311 11.196 2.309 11.01C2.307 10.849 2.343 10.697 2.415 10.553L3.382 8.618L1.724 9.447C1.598 9.51 1.47 9.52 1.341 9.477C1.212 9.434 1.116 9.35 1.053 9.224C0.99 9.098 0.98 8.97 1.023 8.841C1.066 8.712 1.15 8.616 1.276 8.553L4.127 7.127L6.053 3.276C6.116 3.15 6.212 3.066 6.341 3.023C6.47 2.98 6.598 2.99 6.724 3.053C6.823 3.102 6.898 3.177 6.947 3.276L7.724 4.829L13.276 2.053C13.402 1.99 13.53 1.98 13.659 2.023C13.788 2.066 13.884 2.15 13.947 2.276C14.01 2.402 14.02 2.53 13.977 2.659C13.934 2.788 13.85 2.884 13.724 2.947L8.171 5.724L8.809 7ZM3.309 11L9.691 11L6.5 4.618L3.309 11Z"/></svg>
```

### React

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

export function PrismIcon(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="M8.809 7L13.5 7C13.641 7 13.759 7.048 13.856 7.144C13.952 7.241 14 7.359 14 7.5C14 7.641 13.952 7.759 13.856 7.856C13.759 7.952 13.641 8 13.5 8L9.309 8L9.873 9.127L13.724 11.053C13.85 11.116 13.934 11.212 13.977 11.341C14.02 11.47 14.01 11.598 13.947 11.724C13.884 11.85 13.788 11.934 13.659 11.977C13.53 12.02 13.402 12.01 13.276 11.947L10.615 10.616C10.667 10.741 10.692 10.872 10.691 11.01C10.689 11.196 10.639 11.368 10.542 11.526C10.444 11.684 10.312 11.805 10.147 11.89C10.004 11.963 9.852 12 9.691 12L3.309 12C3.148 12 2.996 11.963 2.853 11.89C2.688 11.805 2.556 11.684 2.458 11.526C2.361 11.368 2.311 11.196 2.309 11.01C2.307 10.849 2.343 10.697 2.415 10.553L3.382 8.618L1.724 9.447C1.598 9.51 1.47 9.52 1.341 9.477C1.212 9.434 1.116 9.35 1.053 9.224C0.99 9.098 0.98 8.97 1.023 8.841C1.066 8.712 1.15 8.616 1.276 8.553L4.127 7.127L6.053 3.276C6.116 3.15 6.212 3.066 6.341 3.023C6.47 2.98 6.598 2.99 6.724 3.053C6.823 3.102 6.898 3.177 6.947 3.276L7.724 4.829L13.276 2.053C13.402 1.99 13.53 1.98 13.659 2.023C13.788 2.066 13.884 2.15 13.947 2.276C14.01 2.402 14.02 2.53 13.977 2.659C13.934 2.788 13.85 2.884 13.724 2.947L8.171 5.724L8.809 7ZM3.309 11L9.691 11L6.5 4.618L3.309 11Z" />
    </svg>
  );
}
```

### Vue

```vue
<!-- Gentleface "prism" (line-round), MIT. https://gentleface.com/icons/prism -->
<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="M8.809 7L13.5 7C13.641 7 13.759 7.048 13.856 7.144C13.952 7.241 14 7.359 14 7.5C14 7.641 13.952 7.759 13.856 7.856C13.759 7.952 13.641 8 13.5 8L9.309 8L9.873 9.127L13.724 11.053C13.85 11.116 13.934 11.212 13.977 11.341C14.02 11.47 14.01 11.598 13.947 11.724C13.884 11.85 13.788 11.934 13.659 11.977C13.53 12.02 13.402 12.01 13.276 11.947L10.615 10.616C10.667 10.741 10.692 10.872 10.691 11.01C10.689 11.196 10.639 11.368 10.542 11.526C10.444 11.684 10.312 11.805 10.147 11.89C10.004 11.963 9.852 12 9.691 12L3.309 12C3.148 12 2.996 11.963 2.853 11.89C2.688 11.805 2.556 11.684 2.458 11.526C2.361 11.368 2.311 11.196 2.309 11.01C2.307 10.849 2.343 10.697 2.415 10.553L3.382 8.618L1.724 9.447C1.598 9.51 1.47 9.52 1.341 9.477C1.212 9.434 1.116 9.35 1.053 9.224C0.99 9.098 0.98 8.97 1.023 8.841C1.066 8.712 1.15 8.616 1.276 8.553L4.127 7.127L6.053 3.276C6.116 3.15 6.212 3.066 6.341 3.023C6.47 2.98 6.598 2.99 6.724 3.053C6.823 3.102 6.898 3.177 6.947 3.276L7.724 4.829L13.276 2.053C13.402 1.99 13.53 1.98 13.659 2.023C13.788 2.066 13.884 2.15 13.947 2.276C14.01 2.402 14.02 2.53 13.977 2.659C13.934 2.788 13.85 2.884 13.724 2.947L8.171 5.724L8.809 7ZM3.309 11L9.691 11L6.5 4.618L3.309 11Z" />
  </svg>
</template>
```

### Svelte

```svelte
<!-- Gentleface "prism" (line-round), MIT. https://gentleface.com/icons/prism -->
<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="M8.809 7L13.5 7C13.641 7 13.759 7.048 13.856 7.144C13.952 7.241 14 7.359 14 7.5C14 7.641 13.952 7.759 13.856 7.856C13.759 7.952 13.641 8 13.5 8L9.309 8L9.873 9.127L13.724 11.053C13.85 11.116 13.934 11.212 13.977 11.341C14.02 11.47 14.01 11.598 13.947 11.724C13.884 11.85 13.788 11.934 13.659 11.977C13.53 12.02 13.402 12.01 13.276 11.947L10.615 10.616C10.667 10.741 10.692 10.872 10.691 11.01C10.689 11.196 10.639 11.368 10.542 11.526C10.444 11.684 10.312 11.805 10.147 11.89C10.004 11.963 9.852 12 9.691 12L3.309 12C3.148 12 2.996 11.963 2.853 11.89C2.688 11.805 2.556 11.684 2.458 11.526C2.361 11.368 2.311 11.196 2.309 11.01C2.307 10.849 2.343 10.697 2.415 10.553L3.382 8.618L1.724 9.447C1.598 9.51 1.47 9.52 1.341 9.477C1.212 9.434 1.116 9.35 1.053 9.224C0.99 9.098 0.98 8.97 1.023 8.841C1.066 8.712 1.15 8.616 1.276 8.553L4.127 7.127L6.053 3.276C6.116 3.15 6.212 3.066 6.341 3.023C6.47 2.98 6.598 2.99 6.724 3.053C6.823 3.102 6.898 3.177 6.947 3.276L7.724 4.829L13.276 2.053C13.402 1.99 13.53 1.98 13.659 2.023C13.788 2.066 13.884 2.15 13.947 2.276C14.01 2.402 14.02 2.53 13.977 2.659C13.934 2.788 13.85 2.884 13.724 2.947L8.171 5.724L8.809 7ZM3.309 11L9.691 11L6.5 4.618L3.309 11Z" />
</svg>
```

### HTML img

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

### CSS

```css
/* Gentleface "prism" (line-round), MIT. https://gentleface.com/icons/prism. Takes the text color. */
.icon-prism {
  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='M8.809 7L13.5 7C13.641 7 13.759 7.048 13.856 7.144C13.952 7.241 14 7.359 14 7.5C14 7.641 13.952 7.759 13.856 7.856C13.759 7.952 13.641 8 13.5 8L9.309 8L9.873 9.127L13.724 11.053C13.85 11.116 13.934 11.212 13.977 11.341C14.02 11.47 14.01 11.598 13.947 11.724C13.884 11.85 13.788 11.934 13.659 11.977C13.53 12.02 13.402 12.01 13.276 11.947L10.615 10.616C10.667 10.741 10.692 10.872 10.691 11.01C10.689 11.196 10.639 11.368 10.542 11.526C10.444 11.684 10.312 11.805 10.147 11.89C10.004 11.963 9.852 12 9.691 12L3.309 12C3.148 12 2.996 11.963 2.853 11.89C2.688 11.805 2.556 11.684 2.458 11.526C2.361 11.368 2.311 11.196 2.309 11.01C2.307 10.849 2.343 10.697 2.415 10.553L3.382 8.618L1.724 9.447C1.598 9.51 1.47 9.52 1.341 9.477C1.212 9.434 1.116 9.35 1.053 9.224C0.99 9.098 0.98 8.97 1.023 8.841C1.066 8.712 1.15 8.616 1.276 8.553L4.127 7.127L6.053 3.276C6.116 3.15 6.212 3.066 6.341 3.023C6.47 2.98 6.598 2.99 6.724 3.053C6.823 3.102 6.898 3.177 6.947 3.276L7.724 4.829L13.276 2.053C13.402 1.99 13.53 1.98 13.659 2.023C13.788 2.066 13.884 2.15 13.947 2.276C14.01 2.402 14.02 2.53 13.977 2.659C13.934 2.788 13.85 2.884 13.724 2.947L8.171 5.724L8.809 7ZM3.309 11L9.691 11L6.5 4.618L3.309 11Z'/%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='M8.809 7L13.5 7C13.641 7 13.759 7.048 13.856 7.144C13.952 7.241 14 7.359 14 7.5C14 7.641 13.952 7.759 13.856 7.856C13.759 7.952 13.641 8 13.5 8L9.309 8L9.873 9.127L13.724 11.053C13.85 11.116 13.934 11.212 13.977 11.341C14.02 11.47 14.01 11.598 13.947 11.724C13.884 11.85 13.788 11.934 13.659 11.977C13.53 12.02 13.402 12.01 13.276 11.947L10.615 10.616C10.667 10.741 10.692 10.872 10.691 11.01C10.689 11.196 10.639 11.368 10.542 11.526C10.444 11.684 10.312 11.805 10.147 11.89C10.004 11.963 9.852 12 9.691 12L3.309 12C3.148 12 2.996 11.963 2.853 11.89C2.688 11.805 2.556 11.684 2.458 11.526C2.361 11.368 2.311 11.196 2.309 11.01C2.307 10.849 2.343 10.697 2.415 10.553L3.382 8.618L1.724 9.447C1.598 9.51 1.47 9.52 1.341 9.477C1.212 9.434 1.116 9.35 1.053 9.224C0.99 9.098 0.98 8.97 1.023 8.841C1.066 8.712 1.15 8.616 1.276 8.553L4.127 7.127L6.053 3.276C6.116 3.15 6.212 3.066 6.341 3.023C6.47 2.98 6.598 2.99 6.724 3.053C6.823 3.102 6.898 3.177 6.947 3.276L7.724 4.829L13.276 2.053C13.402 1.99 13.53 1.98 13.659 2.023C13.788 2.066 13.884 2.15 13.947 2.276C14.01 2.402 14.02 2.53 13.977 2.659C13.934 2.788 13.85 2.884 13.724 2.947L8.171 5.724L8.809 7ZM3.309 11L9.691 11L6.5 4.618L3.309 11Z'/%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='M8.809 7L13.5 7C13.641 7 13.759 7.048 13.856 7.144C13.952 7.241 14 7.359 14 7.5C14 7.641 13.952 7.759 13.856 7.856C13.759 7.952 13.641 8 13.5 8L9.309 8L9.873 9.127L13.724 11.053C13.85 11.116 13.934 11.212 13.977 11.341C14.02 11.47 14.01 11.598 13.947 11.724C13.884 11.85 13.788 11.934 13.659 11.977C13.53 12.02 13.402 12.01 13.276 11.947L10.615 10.616C10.667 10.741 10.692 10.872 10.691 11.01C10.689 11.196 10.639 11.368 10.542 11.526C10.444 11.684 10.312 11.805 10.147 11.89C10.004 11.963 9.852 12 9.691 12L3.309 12C3.148 12 2.996 11.963 2.853 11.89C2.688 11.805 2.556 11.684 2.458 11.526C2.361 11.368 2.311 11.196 2.309 11.01C2.307 10.849 2.343 10.697 2.415 10.553L3.382 8.618L1.724 9.447C1.598 9.51 1.47 9.52 1.341 9.477C1.212 9.434 1.116 9.35 1.053 9.224C0.99 9.098 0.98 8.97 1.023 8.841C1.066 8.712 1.15 8.616 1.276 8.553L4.127 7.127L6.053 3.276C6.116 3.15 6.212 3.066 6.341 3.023C6.47 2.98 6.598 2.99 6.724 3.053C6.823 3.102 6.898 3.177 6.947 3.276L7.724 4.829L13.276 2.053C13.402 1.99 13.53 1.98 13.659 2.023C13.788 2.066 13.884 2.15 13.947 2.276C14.01 2.402 14.02 2.53 13.977 2.659C13.934 2.788 13.85 2.884 13.724 2.947L8.171 5.724L8.809 7ZM3.309 11L9.691 11L6.5 4.618L3.309 11Z'/%3E%3C/svg%3E
```

### Sprite

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

### SwiftUI

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

struct PrismIcon: Shape {
    func path(in rect: CGRect) -> Path {
        var p = Path()
        p.move(to: CGPoint(x: 8.809, y: 7))
        p.addLine(to: CGPoint(x: 13.5, y: 7))
        p.addCurve(to: CGPoint(x: 13.856, y: 7.144), control1: CGPoint(x: 13.641, y: 7), control2: CGPoint(x: 13.759, y: 7.048))
        p.addCurve(to: CGPoint(x: 14, y: 7.5), control1: CGPoint(x: 13.952, y: 7.241), control2: CGPoint(x: 14, y: 7.359))
        p.addCurve(to: CGPoint(x: 13.856, y: 7.856), control1: CGPoint(x: 14, y: 7.641), control2: CGPoint(x: 13.952, y: 7.759))
        p.addCurve(to: CGPoint(x: 13.5, y: 8), control1: CGPoint(x: 13.759, y: 7.952), control2: CGPoint(x: 13.641, y: 8))
        p.addLine(to: CGPoint(x: 9.309, y: 8))
        p.addLine(to: CGPoint(x: 9.873, y: 9.127))
        p.addLine(to: CGPoint(x: 13.724, y: 11.053))
        p.addCurve(to: CGPoint(x: 13.977, y: 11.341), control1: CGPoint(x: 13.85, y: 11.116), control2: CGPoint(x: 13.934, y: 11.212))
        p.addCurve(to: CGPoint(x: 13.947, y: 11.724), control1: CGPoint(x: 14.02, y: 11.47), control2: CGPoint(x: 14.01, y: 11.598))
        p.addCurve(to: CGPoint(x: 13.659, y: 11.977), control1: CGPoint(x: 13.884, y: 11.85), control2: CGPoint(x: 13.788, y: 11.934))
        p.addCurve(to: CGPoint(x: 13.276, y: 11.947), control1: CGPoint(x: 13.53, y: 12.02), control2: CGPoint(x: 13.402, y: 12.01))
        p.addLine(to: CGPoint(x: 10.615, y: 10.616))
        p.addCurve(to: CGPoint(x: 10.691, y: 11.01), control1: CGPoint(x: 10.667, y: 10.741), control2: CGPoint(x: 10.692, y: 10.872))
        p.addCurve(to: CGPoint(x: 10.542, y: 11.526), control1: CGPoint(x: 10.689, y: 11.196), control2: CGPoint(x: 10.639, y: 11.368))
        p.addCurve(to: CGPoint(x: 10.147, y: 11.89), control1: CGPoint(x: 10.444, y: 11.684), control2: CGPoint(x: 10.312, y: 11.805))
        p.addCurve(to: CGPoint(x: 9.691, y: 12), control1: CGPoint(x: 10.004, y: 11.963), control2: CGPoint(x: 9.852, y: 12))
        p.addLine(to: CGPoint(x: 3.309, y: 12))
        p.addCurve(to: CGPoint(x: 2.853, y: 11.89), control1: CGPoint(x: 3.148, y: 12), control2: CGPoint(x: 2.996, y: 11.963))
        p.addCurve(to: CGPoint(x: 2.458, y: 11.526), control1: CGPoint(x: 2.688, y: 11.805), control2: CGPoint(x: 2.556, y: 11.684))
        p.addCurve(to: CGPoint(x: 2.309, y: 11.01), control1: CGPoint(x: 2.361, y: 11.368), control2: CGPoint(x: 2.311, y: 11.196))
        p.addCurve(to: CGPoint(x: 2.415, y: 10.553), control1: CGPoint(x: 2.307, y: 10.849), control2: CGPoint(x: 2.343, y: 10.697))
        p.addLine(to: CGPoint(x: 3.382, y: 8.618))
        p.addLine(to: CGPoint(x: 1.724, y: 9.447))
        p.addCurve(to: CGPoint(x: 1.341, y: 9.477), control1: CGPoint(x: 1.598, y: 9.51), control2: CGPoint(x: 1.47, y: 9.52))
        p.addCurve(to: CGPoint(x: 1.053, y: 9.224), control1: CGPoint(x: 1.212, y: 9.434), control2: CGPoint(x: 1.116, y: 9.35))
        p.addCurve(to: CGPoint(x: 1.023, y: 8.841), control1: CGPoint(x: 0.99, y: 9.098), control2: CGPoint(x: 0.98, y: 8.97))
        p.addCurve(to: CGPoint(x: 1.276, y: 8.553), control1: CGPoint(x: 1.066, y: 8.712), control2: CGPoint(x: 1.15, y: 8.616))
        p.addLine(to: CGPoint(x: 4.127, y: 7.127))
        p.addLine(to: CGPoint(x: 6.053, y: 3.276))
        p.addCurve(to: CGPoint(x: 6.341, y: 3.023), control1: CGPoint(x: 6.116, y: 3.15), control2: CGPoint(x: 6.212, y: 3.066))
        p.addCurve(to: CGPoint(x: 6.724, y: 3.053), control1: CGPoint(x: 6.47, y: 2.98), control2: CGPoint(x: 6.598, y: 2.99))
        p.addCurve(to: CGPoint(x: 6.947, y: 3.276), control1: CGPoint(x: 6.823, y: 3.102), control2: CGPoint(x: 6.898, y: 3.177))
        p.addLine(to: CGPoint(x: 7.724, y: 4.829))
        p.addLine(to: CGPoint(x: 13.276, y: 2.053))
        p.addCurve(to: CGPoint(x: 13.659, y: 2.023), control1: CGPoint(x: 13.402, y: 1.99), control2: CGPoint(x: 13.53, y: 1.98))
        p.addCurve(to: CGPoint(x: 13.947, y: 2.276), control1: CGPoint(x: 13.788, y: 2.066), control2: CGPoint(x: 13.884, y: 2.15))
        p.addCurve(to: CGPoint(x: 13.977, y: 2.659), control1: CGPoint(x: 14.01, y: 2.402), control2: CGPoint(x: 14.02, y: 2.53))
        p.addCurve(to: CGPoint(x: 13.724, y: 2.947), control1: CGPoint(x: 13.934, y: 2.788), control2: CGPoint(x: 13.85, y: 2.884))
        p.addLine(to: CGPoint(x: 8.171, y: 5.724))
        p.addLine(to: CGPoint(x: 8.809, y: 7))
        p.closeSubpath()
        p.move(to: CGPoint(x: 3.309, y: 11))
        p.addLine(to: CGPoint(x: 9.691, y: 11))
        p.addLine(to: CGPoint(x: 6.5, y: 4.618))
        p.addLine(to: CGPoint(x: 3.309, y: 11))
        p.closeSubpath()
        return p.applying(CGAffineTransform(scaleX: rect.width / 16, y: rect.height / 16))
    }
}

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

### Compose

```kotlin
// Gentleface "prism" (line-round), MIT. https://gentleface.com/icons/prism
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 PrismIcon: ImageVector by lazy {
    ImageVector.Builder(
        name = "prism", defaultWidth = 16.dp, defaultHeight = 16.dp,
        viewportWidth = 16f, viewportHeight = 16f,
    ).addPath(
        pathData = addPathNodes("M8.809 7L13.5 7C13.641 7 13.759 7.048 13.856 7.144C13.952 7.241 14 7.359 14 7.5C14 7.641 13.952 7.759 13.856 7.856C13.759 7.952 13.641 8 13.5 8L9.309 8L9.873 9.127L13.724 11.053C13.85 11.116 13.934 11.212 13.977 11.341C14.02 11.47 14.01 11.598 13.947 11.724C13.884 11.85 13.788 11.934 13.659 11.977C13.53 12.02 13.402 12.01 13.276 11.947L10.615 10.616C10.667 10.741 10.692 10.872 10.691 11.01C10.689 11.196 10.639 11.368 10.542 11.526C10.444 11.684 10.312 11.805 10.147 11.89C10.004 11.963 9.852 12 9.691 12L3.309 12C3.148 12 2.996 11.963 2.853 11.89C2.688 11.805 2.556 11.684 2.458 11.526C2.361 11.368 2.311 11.196 2.309 11.01C2.307 10.849 2.343 10.697 2.415 10.553L3.382 8.618L1.724 9.447C1.598 9.51 1.47 9.52 1.341 9.477C1.212 9.434 1.116 9.35 1.053 9.224C0.99 9.098 0.98 8.97 1.023 8.841C1.066 8.712 1.15 8.616 1.276 8.553L4.127 7.127L6.053 3.276C6.116 3.15 6.212 3.066 6.341 3.023C6.47 2.98 6.598 2.99 6.724 3.053C6.823 3.102 6.898 3.177 6.947 3.276L7.724 4.829L13.276 2.053C13.402 1.99 13.53 1.98 13.659 2.023C13.788 2.066 13.884 2.15 13.947 2.276C14.01 2.402 14.02 2.53 13.977 2.659C13.934 2.788 13.85 2.884 13.724 2.947L8.171 5.724L8.809 7ZM3.309 11L9.691 11L6.5 4.618L3.309 11Z"),
        fill = SolidColor(Color.Black),
    ).build()
}

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

### Android XML

```xml
<!-- res/drawable/ic_prism.xml · Gentleface "prism" (line-round), MIT. https://gentleface.com/icons/prism -->
<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="M8.809 7L13.5 7C13.641 7 13.759 7.048 13.856 7.144C13.952 7.241 14 7.359 14 7.5C14 7.641 13.952 7.759 13.856 7.856C13.759 7.952 13.641 8 13.5 8L9.309 8L9.873 9.127L13.724 11.053C13.85 11.116 13.934 11.212 13.977 11.341C14.02 11.47 14.01 11.598 13.947 11.724C13.884 11.85 13.788 11.934 13.659 11.977C13.53 12.02 13.402 12.01 13.276 11.947L10.615 10.616C10.667 10.741 10.692 10.872 10.691 11.01C10.689 11.196 10.639 11.368 10.542 11.526C10.444 11.684 10.312 11.805 10.147 11.89C10.004 11.963 9.852 12 9.691 12L3.309 12C3.148 12 2.996 11.963 2.853 11.89C2.688 11.805 2.556 11.684 2.458 11.526C2.361 11.368 2.311 11.196 2.309 11.01C2.307 10.849 2.343 10.697 2.415 10.553L3.382 8.618L1.724 9.447C1.598 9.51 1.47 9.52 1.341 9.477C1.212 9.434 1.116 9.35 1.053 9.224C0.99 9.098 0.98 8.97 1.023 8.841C1.066 8.712 1.15 8.616 1.276 8.553L4.127 7.127L6.053 3.276C6.116 3.15 6.212 3.066 6.341 3.023C6.47 2.98 6.598 2.99 6.724 3.053C6.823 3.102 6.898 3.177 6.947 3.276L7.724 4.829L13.276 2.053C13.402 1.99 13.53 1.98 13.659 2.023C13.788 2.066 13.884 2.15 13.947 2.276C14.01 2.402 14.02 2.53 13.977 2.659C13.934 2.788 13.85 2.884 13.724 2.947L8.171 5.724L8.809 7ZM3.309 11L9.691 11L6.5 4.618L3.309 11Z"/>
</vector>
```

### Flutter

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

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

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

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

  @override
  void paint(Canvas canvas, Size size) {
    canvas.scale(size.width / 16, size.height / 16);
    final p = Path()
      ..moveTo(8.809, 7)
      ..lineTo(13.5, 7)
      ..cubicTo(13.641, 7, 13.759, 7.048, 13.856, 7.144)
      ..cubicTo(13.952, 7.241, 14, 7.359, 14, 7.5)
      ..cubicTo(14, 7.641, 13.952, 7.759, 13.856, 7.856)
      ..cubicTo(13.759, 7.952, 13.641, 8, 13.5, 8)
      ..lineTo(9.309, 8)
      ..lineTo(9.873, 9.127)
      ..lineTo(13.724, 11.053)
      ..cubicTo(13.85, 11.116, 13.934, 11.212, 13.977, 11.341)
      ..cubicTo(14.02, 11.47, 14.01, 11.598, 13.947, 11.724)
      ..cubicTo(13.884, 11.85, 13.788, 11.934, 13.659, 11.977)
      ..cubicTo(13.53, 12.02, 13.402, 12.01, 13.276, 11.947)
      ..lineTo(10.615, 10.616)
      ..cubicTo(10.667, 10.741, 10.692, 10.872, 10.691, 11.01)
      ..cubicTo(10.689, 11.196, 10.639, 11.368, 10.542, 11.526)
      ..cubicTo(10.444, 11.684, 10.312, 11.805, 10.147, 11.89)
      ..cubicTo(10.004, 11.963, 9.852, 12, 9.691, 12)
      ..lineTo(3.309, 12)
      ..cubicTo(3.148, 12, 2.996, 11.963, 2.853, 11.89)
      ..cubicTo(2.688, 11.805, 2.556, 11.684, 2.458, 11.526)
      ..cubicTo(2.361, 11.368, 2.311, 11.196, 2.309, 11.01)
      ..cubicTo(2.307, 10.849, 2.343, 10.697, 2.415, 10.553)
      ..lineTo(3.382, 8.618)
      ..lineTo(1.724, 9.447)
      ..cubicTo(1.598, 9.51, 1.47, 9.52, 1.341, 9.477)
      ..cubicTo(1.212, 9.434, 1.116, 9.35, 1.053, 9.224)
      ..cubicTo(0.99, 9.098, 0.98, 8.97, 1.023, 8.841)
      ..cubicTo(1.066, 8.712, 1.15, 8.616, 1.276, 8.553)
      ..lineTo(4.127, 7.127)
      ..lineTo(6.053, 3.276)
      ..cubicTo(6.116, 3.15, 6.212, 3.066, 6.341, 3.023)
      ..cubicTo(6.47, 2.98, 6.598, 2.99, 6.724, 3.053)
      ..cubicTo(6.823, 3.102, 6.898, 3.177, 6.947, 3.276)
      ..lineTo(7.724, 4.829)
      ..lineTo(13.276, 2.053)
      ..cubicTo(13.402, 1.99, 13.53, 1.98, 13.659, 2.023)
      ..cubicTo(13.788, 2.066, 13.884, 2.15, 13.947, 2.276)
      ..cubicTo(14.01, 2.402, 14.02, 2.53, 13.977, 2.659)
      ..cubicTo(13.934, 2.788, 13.85, 2.884, 13.724, 2.947)
      ..lineTo(8.171, 5.724)
      ..lineTo(8.809, 7)
      ..close()
      ..moveTo(3.309, 11)
      ..lineTo(9.691, 11)
      ..lineTo(6.5, 4.618)
      ..lineTo(3.309, 11)
      ..close();
    canvas.drawPath(p, Paint()..color = color);
  }

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