# bookmark icon

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

- Category: Social & emotions
- Use it for: bookmark, save for later, reading position, read later, read it later, last read, page marker
- Tags: bookmark, save, later, ribbon
- Family: bookmark-check, bookmark-off, bookmark-pencil, bookmark-plus, bookmark-search, bookmark-x, bookmarks
- Component name: BookmarkIcon
- Added: 2026-10-14

## Alternatives

- `star`: favorite
- `bookmarks`: the list of saved items
- `book-bookmark`: a reading list (book-bookmark owns reading-list)

## Don't confuse with

- `pin`: pin keeps an item on top; it does not save it for later
- `floppy-disk`: floppy-disk saves a file

## Also fits

- starred message: save a message for later
- reading list: save any item for later, not only a book (save-for-later)
- pin: save for later (bookmark)
- bookmarked: the save toggle itself; most apps fill the bookmark for the saved state

## Not for

- save (use `floppy-disk`): bookmark means save for later; save writes the document
- tag (use `tag`): save for later, not a label
- keep on top (use `pin`): the bookmark motif does not mean keep-on-top
- mark (use `flag`): save for later
- favorite (use `star`): bookmark saves for later; it is not a favorite

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

The SVG of every style: https://gentleface.com/icons/bookmark.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="M11.856 14.856C11.759 14.952 11.641 15 11.5 15C11.362 15 11.244 14.951 11.146 14.854L7.5 11.207L3.854 14.854C3.754 14.953 3.636 15.003 3.5 15.003C3.364 15.003 3.246 14.953 3.146 14.854C3.049 14.756 3 14.638 3 14.5L3 3C3 2.746 3.047 2.5 3.14 2.264C3.242 2.007 3.391 1.781 3.586 1.586C3.781 1.391 4.007 1.242 4.264 1.14C4.5 1.047 4.746 1 5 1L10 1C10.254 1 10.5 1.047 10.736 1.14C10.993 1.242 11.219 1.391 11.414 1.586C11.609 1.781 11.758 2.007 11.86 2.264C11.953 2.5 12 2.746 12 3L12 14.5C12 14.641 11.952 14.759 11.856 14.856ZM6.793 10.5C6.988 10.305 7.224 10.207 7.5 10.207C7.776 10.207 8.012 10.305 8.207 10.5L11 13.293L11 3C11 2.724 10.902 2.488 10.707 2.293C10.512 2.098 10.276 2 10 2L5 2C4.724 2 4.488 2.098 4.293 2.293C4.098 2.488 4 2.724 4 3L4 13.293L6.793 10.5Z"/></svg>
```

### React

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

export function BookmarkIcon(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="M11.856 14.856C11.759 14.952 11.641 15 11.5 15C11.362 15 11.244 14.951 11.146 14.854L7.5 11.207L3.854 14.854C3.754 14.953 3.636 15.003 3.5 15.003C3.364 15.003 3.246 14.953 3.146 14.854C3.049 14.756 3 14.638 3 14.5L3 3C3 2.746 3.047 2.5 3.14 2.264C3.242 2.007 3.391 1.781 3.586 1.586C3.781 1.391 4.007 1.242 4.264 1.14C4.5 1.047 4.746 1 5 1L10 1C10.254 1 10.5 1.047 10.736 1.14C10.993 1.242 11.219 1.391 11.414 1.586C11.609 1.781 11.758 2.007 11.86 2.264C11.953 2.5 12 2.746 12 3L12 14.5C12 14.641 11.952 14.759 11.856 14.856ZM6.793 10.5C6.988 10.305 7.224 10.207 7.5 10.207C7.776 10.207 8.012 10.305 8.207 10.5L11 13.293L11 3C11 2.724 10.902 2.488 10.707 2.293C10.512 2.098 10.276 2 10 2L5 2C4.724 2 4.488 2.098 4.293 2.293C4.098 2.488 4 2.724 4 3L4 13.293L6.793 10.5Z" />
    </svg>
  );
}
```

### Vue

```vue
<!-- Gentleface "bookmark" (line-round), MIT. https://gentleface.com/icons/bookmark -->
<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="M11.856 14.856C11.759 14.952 11.641 15 11.5 15C11.362 15 11.244 14.951 11.146 14.854L7.5 11.207L3.854 14.854C3.754 14.953 3.636 15.003 3.5 15.003C3.364 15.003 3.246 14.953 3.146 14.854C3.049 14.756 3 14.638 3 14.5L3 3C3 2.746 3.047 2.5 3.14 2.264C3.242 2.007 3.391 1.781 3.586 1.586C3.781 1.391 4.007 1.242 4.264 1.14C4.5 1.047 4.746 1 5 1L10 1C10.254 1 10.5 1.047 10.736 1.14C10.993 1.242 11.219 1.391 11.414 1.586C11.609 1.781 11.758 2.007 11.86 2.264C11.953 2.5 12 2.746 12 3L12 14.5C12 14.641 11.952 14.759 11.856 14.856ZM6.793 10.5C6.988 10.305 7.224 10.207 7.5 10.207C7.776 10.207 8.012 10.305 8.207 10.5L11 13.293L11 3C11 2.724 10.902 2.488 10.707 2.293C10.512 2.098 10.276 2 10 2L5 2C4.724 2 4.488 2.098 4.293 2.293C4.098 2.488 4 2.724 4 3L4 13.293L6.793 10.5Z" />
  </svg>
</template>
```

### Svelte

```svelte
<!-- Gentleface "bookmark" (line-round), MIT. https://gentleface.com/icons/bookmark -->
<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="M11.856 14.856C11.759 14.952 11.641 15 11.5 15C11.362 15 11.244 14.951 11.146 14.854L7.5 11.207L3.854 14.854C3.754 14.953 3.636 15.003 3.5 15.003C3.364 15.003 3.246 14.953 3.146 14.854C3.049 14.756 3 14.638 3 14.5L3 3C3 2.746 3.047 2.5 3.14 2.264C3.242 2.007 3.391 1.781 3.586 1.586C3.781 1.391 4.007 1.242 4.264 1.14C4.5 1.047 4.746 1 5 1L10 1C10.254 1 10.5 1.047 10.736 1.14C10.993 1.242 11.219 1.391 11.414 1.586C11.609 1.781 11.758 2.007 11.86 2.264C11.953 2.5 12 2.746 12 3L12 14.5C12 14.641 11.952 14.759 11.856 14.856ZM6.793 10.5C6.988 10.305 7.224 10.207 7.5 10.207C7.776 10.207 8.012 10.305 8.207 10.5L11 13.293L11 3C11 2.724 10.902 2.488 10.707 2.293C10.512 2.098 10.276 2 10 2L5 2C4.724 2 4.488 2.098 4.293 2.293C4.098 2.488 4 2.724 4 3L4 13.293L6.793 10.5Z" />
</svg>
```

### HTML img

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

### CSS

```css
/* Gentleface "bookmark" (line-round), MIT. https://gentleface.com/icons/bookmark. Takes the text color. */
.icon-bookmark {
  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='M11.856 14.856C11.759 14.952 11.641 15 11.5 15C11.362 15 11.244 14.951 11.146 14.854L7.5 11.207L3.854 14.854C3.754 14.953 3.636 15.003 3.5 15.003C3.364 15.003 3.246 14.953 3.146 14.854C3.049 14.756 3 14.638 3 14.5L3 3C3 2.746 3.047 2.5 3.14 2.264C3.242 2.007 3.391 1.781 3.586 1.586C3.781 1.391 4.007 1.242 4.264 1.14C4.5 1.047 4.746 1 5 1L10 1C10.254 1 10.5 1.047 10.736 1.14C10.993 1.242 11.219 1.391 11.414 1.586C11.609 1.781 11.758 2.007 11.86 2.264C11.953 2.5 12 2.746 12 3L12 14.5C12 14.641 11.952 14.759 11.856 14.856ZM6.793 10.5C6.988 10.305 7.224 10.207 7.5 10.207C7.776 10.207 8.012 10.305 8.207 10.5L11 13.293L11 3C11 2.724 10.902 2.488 10.707 2.293C10.512 2.098 10.276 2 10 2L5 2C4.724 2 4.488 2.098 4.293 2.293C4.098 2.488 4 2.724 4 3L4 13.293L6.793 10.5Z'/%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='M11.856 14.856C11.759 14.952 11.641 15 11.5 15C11.362 15 11.244 14.951 11.146 14.854L7.5 11.207L3.854 14.854C3.754 14.953 3.636 15.003 3.5 15.003C3.364 15.003 3.246 14.953 3.146 14.854C3.049 14.756 3 14.638 3 14.5L3 3C3 2.746 3.047 2.5 3.14 2.264C3.242 2.007 3.391 1.781 3.586 1.586C3.781 1.391 4.007 1.242 4.264 1.14C4.5 1.047 4.746 1 5 1L10 1C10.254 1 10.5 1.047 10.736 1.14C10.993 1.242 11.219 1.391 11.414 1.586C11.609 1.781 11.758 2.007 11.86 2.264C11.953 2.5 12 2.746 12 3L12 14.5C12 14.641 11.952 14.759 11.856 14.856ZM6.793 10.5C6.988 10.305 7.224 10.207 7.5 10.207C7.776 10.207 8.012 10.305 8.207 10.5L11 13.293L11 3C11 2.724 10.902 2.488 10.707 2.293C10.512 2.098 10.276 2 10 2L5 2C4.724 2 4.488 2.098 4.293 2.293C4.098 2.488 4 2.724 4 3L4 13.293L6.793 10.5Z'/%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='M11.856 14.856C11.759 14.952 11.641 15 11.5 15C11.362 15 11.244 14.951 11.146 14.854L7.5 11.207L3.854 14.854C3.754 14.953 3.636 15.003 3.5 15.003C3.364 15.003 3.246 14.953 3.146 14.854C3.049 14.756 3 14.638 3 14.5L3 3C3 2.746 3.047 2.5 3.14 2.264C3.242 2.007 3.391 1.781 3.586 1.586C3.781 1.391 4.007 1.242 4.264 1.14C4.5 1.047 4.746 1 5 1L10 1C10.254 1 10.5 1.047 10.736 1.14C10.993 1.242 11.219 1.391 11.414 1.586C11.609 1.781 11.758 2.007 11.86 2.264C11.953 2.5 12 2.746 12 3L12 14.5C12 14.641 11.952 14.759 11.856 14.856ZM6.793 10.5C6.988 10.305 7.224 10.207 7.5 10.207C7.776 10.207 8.012 10.305 8.207 10.5L11 13.293L11 3C11 2.724 10.902 2.488 10.707 2.293C10.512 2.098 10.276 2 10 2L5 2C4.724 2 4.488 2.098 4.293 2.293C4.098 2.488 4 2.724 4 3L4 13.293L6.793 10.5Z'/%3E%3C/svg%3E
```

### Sprite

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

### SwiftUI

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

struct BookmarkIcon: Shape {
    func path(in rect: CGRect) -> Path {
        var p = Path()
        p.move(to: CGPoint(x: 11.856, y: 14.856))
        p.addCurve(to: CGPoint(x: 11.5, y: 15), control1: CGPoint(x: 11.759, y: 14.952), control2: CGPoint(x: 11.641, y: 15))
        p.addCurve(to: CGPoint(x: 11.146, y: 14.854), control1: CGPoint(x: 11.362, y: 15), control2: CGPoint(x: 11.244, y: 14.951))
        p.addLine(to: CGPoint(x: 7.5, y: 11.207))
        p.addLine(to: CGPoint(x: 3.854, y: 14.854))
        p.addCurve(to: CGPoint(x: 3.5, y: 15.003), control1: CGPoint(x: 3.754, y: 14.953), control2: CGPoint(x: 3.636, y: 15.003))
        p.addCurve(to: CGPoint(x: 3.146, y: 14.854), control1: CGPoint(x: 3.364, y: 15.003), control2: CGPoint(x: 3.246, y: 14.953))
        p.addCurve(to: CGPoint(x: 3, y: 14.5), control1: CGPoint(x: 3.049, y: 14.756), control2: CGPoint(x: 3, y: 14.638))
        p.addLine(to: CGPoint(x: 3, y: 3))
        p.addCurve(to: CGPoint(x: 3.14, y: 2.264), control1: CGPoint(x: 3, y: 2.746), control2: CGPoint(x: 3.047, y: 2.5))
        p.addCurve(to: CGPoint(x: 3.586, y: 1.586), control1: CGPoint(x: 3.242, y: 2.007), control2: CGPoint(x: 3.391, y: 1.781))
        p.addCurve(to: CGPoint(x: 4.264, y: 1.14), control1: CGPoint(x: 3.781, y: 1.391), control2: CGPoint(x: 4.007, y: 1.242))
        p.addCurve(to: CGPoint(x: 5, y: 1), control1: CGPoint(x: 4.5, y: 1.047), control2: CGPoint(x: 4.746, y: 1))
        p.addLine(to: CGPoint(x: 10, y: 1))
        p.addCurve(to: CGPoint(x: 10.736, y: 1.14), control1: CGPoint(x: 10.254, y: 1), control2: CGPoint(x: 10.5, y: 1.047))
        p.addCurve(to: CGPoint(x: 11.414, y: 1.586), control1: CGPoint(x: 10.993, y: 1.242), control2: CGPoint(x: 11.219, y: 1.391))
        p.addCurve(to: CGPoint(x: 11.86, y: 2.264), control1: CGPoint(x: 11.609, y: 1.781), control2: CGPoint(x: 11.758, y: 2.007))
        p.addCurve(to: CGPoint(x: 12, y: 3), control1: CGPoint(x: 11.953, y: 2.5), control2: CGPoint(x: 12, y: 2.746))
        p.addLine(to: CGPoint(x: 12, y: 14.5))
        p.addCurve(to: CGPoint(x: 11.856, y: 14.856), control1: CGPoint(x: 12, y: 14.641), control2: CGPoint(x: 11.952, y: 14.759))
        p.closeSubpath()
        p.move(to: CGPoint(x: 6.793, y: 10.5))
        p.addCurve(to: CGPoint(x: 7.5, y: 10.207), control1: CGPoint(x: 6.988, y: 10.305), control2: CGPoint(x: 7.224, y: 10.207))
        p.addCurve(to: CGPoint(x: 8.207, y: 10.5), control1: CGPoint(x: 7.776, y: 10.207), control2: CGPoint(x: 8.012, y: 10.305))
        p.addLine(to: CGPoint(x: 11, y: 13.293))
        p.addLine(to: CGPoint(x: 11, y: 3))
        p.addCurve(to: CGPoint(x: 10.707, y: 2.293), control1: CGPoint(x: 11, y: 2.724), control2: CGPoint(x: 10.902, y: 2.488))
        p.addCurve(to: CGPoint(x: 10, y: 2), control1: CGPoint(x: 10.512, y: 2.098), control2: CGPoint(x: 10.276, y: 2))
        p.addLine(to: CGPoint(x: 5, y: 2))
        p.addCurve(to: CGPoint(x: 4.293, y: 2.293), control1: CGPoint(x: 4.724, y: 2), control2: CGPoint(x: 4.488, y: 2.098))
        p.addCurve(to: CGPoint(x: 4, y: 3), control1: CGPoint(x: 4.098, y: 2.488), control2: CGPoint(x: 4, y: 2.724))
        p.addLine(to: CGPoint(x: 4, y: 13.293))
        p.addLine(to: CGPoint(x: 6.793, y: 10.5))
        p.closeSubpath()
        return p.applying(CGAffineTransform(scaleX: rect.width / 16, y: rect.height / 16))
    }
}

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

### Compose

```kotlin
// Gentleface "bookmark" (line-round), MIT. https://gentleface.com/icons/bookmark
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 BookmarkIcon: ImageVector by lazy {
    ImageVector.Builder(
        name = "bookmark", defaultWidth = 16.dp, defaultHeight = 16.dp,
        viewportWidth = 16f, viewportHeight = 16f,
    ).addPath(
        pathData = addPathNodes("M11.856 14.856C11.759 14.952 11.641 15 11.5 15C11.362 15 11.244 14.951 11.146 14.854L7.5 11.207L3.854 14.854C3.754 14.953 3.636 15.003 3.5 15.003C3.364 15.003 3.246 14.953 3.146 14.854C3.049 14.756 3 14.638 3 14.5L3 3C3 2.746 3.047 2.5 3.14 2.264C3.242 2.007 3.391 1.781 3.586 1.586C3.781 1.391 4.007 1.242 4.264 1.14C4.5 1.047 4.746 1 5 1L10 1C10.254 1 10.5 1.047 10.736 1.14C10.993 1.242 11.219 1.391 11.414 1.586C11.609 1.781 11.758 2.007 11.86 2.264C11.953 2.5 12 2.746 12 3L12 14.5C12 14.641 11.952 14.759 11.856 14.856ZM6.793 10.5C6.988 10.305 7.224 10.207 7.5 10.207C7.776 10.207 8.012 10.305 8.207 10.5L11 13.293L11 3C11 2.724 10.902 2.488 10.707 2.293C10.512 2.098 10.276 2 10 2L5 2C4.724 2 4.488 2.098 4.293 2.293C4.098 2.488 4 2.724 4 3L4 13.293L6.793 10.5Z"),
        fill = SolidColor(Color.Black),
    ).build()
}

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

### Android XML

```xml
<!-- res/drawable/ic_bookmark.xml · Gentleface "bookmark" (line-round), MIT. https://gentleface.com/icons/bookmark -->
<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="M11.856 14.856C11.759 14.952 11.641 15 11.5 15C11.362 15 11.244 14.951 11.146 14.854L7.5 11.207L3.854 14.854C3.754 14.953 3.636 15.003 3.5 15.003C3.364 15.003 3.246 14.953 3.146 14.854C3.049 14.756 3 14.638 3 14.5L3 3C3 2.746 3.047 2.5 3.14 2.264C3.242 2.007 3.391 1.781 3.586 1.586C3.781 1.391 4.007 1.242 4.264 1.14C4.5 1.047 4.746 1 5 1L10 1C10.254 1 10.5 1.047 10.736 1.14C10.993 1.242 11.219 1.391 11.414 1.586C11.609 1.781 11.758 2.007 11.86 2.264C11.953 2.5 12 2.746 12 3L12 14.5C12 14.641 11.952 14.759 11.856 14.856ZM6.793 10.5C6.988 10.305 7.224 10.207 7.5 10.207C7.776 10.207 8.012 10.305 8.207 10.5L11 13.293L11 3C11 2.724 10.902 2.488 10.707 2.293C10.512 2.098 10.276 2 10 2L5 2C4.724 2 4.488 2.098 4.293 2.293C4.098 2.488 4 2.724 4 3L4 13.293L6.793 10.5Z"/>
</vector>
```

### Flutter

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

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

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

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

  @override
  void paint(Canvas canvas, Size size) {
    canvas.scale(size.width / 16, size.height / 16);
    final p = Path()
      ..moveTo(11.856, 14.856)
      ..cubicTo(11.759, 14.952, 11.641, 15, 11.5, 15)
      ..cubicTo(11.362, 15, 11.244, 14.951, 11.146, 14.854)
      ..lineTo(7.5, 11.207)
      ..lineTo(3.854, 14.854)
      ..cubicTo(3.754, 14.953, 3.636, 15.003, 3.5, 15.003)
      ..cubicTo(3.364, 15.003, 3.246, 14.953, 3.146, 14.854)
      ..cubicTo(3.049, 14.756, 3, 14.638, 3, 14.5)
      ..lineTo(3, 3)
      ..cubicTo(3, 2.746, 3.047, 2.5, 3.14, 2.264)
      ..cubicTo(3.242, 2.007, 3.391, 1.781, 3.586, 1.586)
      ..cubicTo(3.781, 1.391, 4.007, 1.242, 4.264, 1.14)
      ..cubicTo(4.5, 1.047, 4.746, 1, 5, 1)
      ..lineTo(10, 1)
      ..cubicTo(10.254, 1, 10.5, 1.047, 10.736, 1.14)
      ..cubicTo(10.993, 1.242, 11.219, 1.391, 11.414, 1.586)
      ..cubicTo(11.609, 1.781, 11.758, 2.007, 11.86, 2.264)
      ..cubicTo(11.953, 2.5, 12, 2.746, 12, 3)
      ..lineTo(12, 14.5)
      ..cubicTo(12, 14.641, 11.952, 14.759, 11.856, 14.856)
      ..close()
      ..moveTo(6.793, 10.5)
      ..cubicTo(6.988, 10.305, 7.224, 10.207, 7.5, 10.207)
      ..cubicTo(7.776, 10.207, 8.012, 10.305, 8.207, 10.5)
      ..lineTo(11, 13.293)
      ..lineTo(11, 3)
      ..cubicTo(11, 2.724, 10.902, 2.488, 10.707, 2.293)
      ..cubicTo(10.512, 2.098, 10.276, 2, 10, 2)
      ..lineTo(5, 2)
      ..cubicTo(4.724, 2, 4.488, 2.098, 4.293, 2.293)
      ..cubicTo(4.098, 2.488, 4, 2.724, 4, 3)
      ..lineTo(4, 13.293)
      ..lineTo(6.793, 10.5)
      ..close();
    canvas.drawPath(p, Paint()..color = color);
  }

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