# mop icon

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

- Category: Home & household
- Use it for: mop, floor cleaning, mopping
- Tags: mop, floor-cleaning
- Component name: MopIcon
- Added: 2026-10-30

## Alternatives

- `broom`: sweeping or clean-up
- `vacuum-cleaner`: vacuuming, or cleaning in general

## Also fits

- clean up: floor cleaning
- cleaning: floor cleaning

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

The SVG of every style: https://gentleface.com/icons/mop.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="M6.854 14.805C6.558 14.903 6.274 14.884 6 14.75C5.728 14.617 5.543 14.401 5.445 14.104C5.35 13.817 5.365 13.539 5.49 13.272C5.496 13.259 5.502 13.246 5.51 13.233C5.812 12.72 6.309 11.934 7 10.875C7.512 10.091 7.886 9.507 8.124 9.124L8.044 9.044C7.781 9.363 7.392 9.848 6.875 10.5C6.169 11.391 5.632 12.052 5.264 12.484C5.253 12.497 5.241 12.509 5.229 12.52C5.128 12.615 5.003 12.689 4.856 12.742C4.705 12.795 4.545 12.822 4.375 12.822C4.205 12.822 4.045 12.795 3.894 12.742C3.736 12.685 3.605 12.605 3.5 12.5C3.395 12.395 3.315 12.264 3.258 12.106C3.205 11.955 3.178 11.795 3.178 11.625C3.178 11.455 3.205 11.295 3.258 11.144C3.311 10.997 3.385 10.872 3.48 10.771C3.491 10.759 3.503 10.747 3.516 10.736C3.948 10.368 4.609 9.831 5.5 9.125C6.152 8.608 6.637 8.219 6.956 7.956L6.876 7.876C6.493 8.113 5.909 8.488 5.125 9C4.066 9.691 3.28 10.188 2.767 10.49C2.754 10.498 2.741 10.504 2.728 10.51C2.461 10.635 2.183 10.65 1.896 10.555C1.599 10.457 1.383 10.272 1.25 10C1.116 9.726 1.097 9.442 1.195 9.146C1.29 8.857 1.468 8.645 1.728 8.511C1.741 8.504 1.754 8.498 1.767 8.493C2.319 8.272 3.105 7.941 4.125 7.5C5.156 7.055 5.948 6.721 6.5 6.5L6.646 6.354C6.746 6.254 6.864 6.204 7 6.204C7.136 6.204 7.254 6.254 7.354 6.354L8.146 7.146L14.146 1.146C14.246 1.047 14.364 0.997 14.5 0.997C14.636 0.997 14.754 1.047 14.854 1.146C14.951 1.244 15 1.362 15 1.5C15 1.638 14.951 1.756 14.854 1.854L8.854 7.854L9.646 8.646C9.746 8.746 9.796 8.864 9.796 9C9.796 9.136 9.746 9.254 9.646 9.354L9.5 9.5C9.279 10.052 8.945 10.844 8.5 11.875C8.059 12.895 7.728 13.681 7.507 14.233C7.502 14.246 7.496 14.259 7.489 14.272C7.355 14.532 7.143 14.71 6.854 14.805Z"/></svg>
```

### React

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

export function MopIcon(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="M6.854 14.805C6.558 14.903 6.274 14.884 6 14.75C5.728 14.617 5.543 14.401 5.445 14.104C5.35 13.817 5.365 13.539 5.49 13.272C5.496 13.259 5.502 13.246 5.51 13.233C5.812 12.72 6.309 11.934 7 10.875C7.512 10.091 7.886 9.507 8.124 9.124L8.044 9.044C7.781 9.363 7.392 9.848 6.875 10.5C6.169 11.391 5.632 12.052 5.264 12.484C5.253 12.497 5.241 12.509 5.229 12.52C5.128 12.615 5.003 12.689 4.856 12.742C4.705 12.795 4.545 12.822 4.375 12.822C4.205 12.822 4.045 12.795 3.894 12.742C3.736 12.685 3.605 12.605 3.5 12.5C3.395 12.395 3.315 12.264 3.258 12.106C3.205 11.955 3.178 11.795 3.178 11.625C3.178 11.455 3.205 11.295 3.258 11.144C3.311 10.997 3.385 10.872 3.48 10.771C3.491 10.759 3.503 10.747 3.516 10.736C3.948 10.368 4.609 9.831 5.5 9.125C6.152 8.608 6.637 8.219 6.956 7.956L6.876 7.876C6.493 8.113 5.909 8.488 5.125 9C4.066 9.691 3.28 10.188 2.767 10.49C2.754 10.498 2.741 10.504 2.728 10.51C2.461 10.635 2.183 10.65 1.896 10.555C1.599 10.457 1.383 10.272 1.25 10C1.116 9.726 1.097 9.442 1.195 9.146C1.29 8.857 1.468 8.645 1.728 8.511C1.741 8.504 1.754 8.498 1.767 8.493C2.319 8.272 3.105 7.941 4.125 7.5C5.156 7.055 5.948 6.721 6.5 6.5L6.646 6.354C6.746 6.254 6.864 6.204 7 6.204C7.136 6.204 7.254 6.254 7.354 6.354L8.146 7.146L14.146 1.146C14.246 1.047 14.364 0.997 14.5 0.997C14.636 0.997 14.754 1.047 14.854 1.146C14.951 1.244 15 1.362 15 1.5C15 1.638 14.951 1.756 14.854 1.854L8.854 7.854L9.646 8.646C9.746 8.746 9.796 8.864 9.796 9C9.796 9.136 9.746 9.254 9.646 9.354L9.5 9.5C9.279 10.052 8.945 10.844 8.5 11.875C8.059 12.895 7.728 13.681 7.507 14.233C7.502 14.246 7.496 14.259 7.489 14.272C7.355 14.532 7.143 14.71 6.854 14.805Z" />
    </svg>
  );
}
```

### Vue

```vue
<!-- Gentleface "mop" (line-round), MIT. https://gentleface.com/icons/mop -->
<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="M6.854 14.805C6.558 14.903 6.274 14.884 6 14.75C5.728 14.617 5.543 14.401 5.445 14.104C5.35 13.817 5.365 13.539 5.49 13.272C5.496 13.259 5.502 13.246 5.51 13.233C5.812 12.72 6.309 11.934 7 10.875C7.512 10.091 7.886 9.507 8.124 9.124L8.044 9.044C7.781 9.363 7.392 9.848 6.875 10.5C6.169 11.391 5.632 12.052 5.264 12.484C5.253 12.497 5.241 12.509 5.229 12.52C5.128 12.615 5.003 12.689 4.856 12.742C4.705 12.795 4.545 12.822 4.375 12.822C4.205 12.822 4.045 12.795 3.894 12.742C3.736 12.685 3.605 12.605 3.5 12.5C3.395 12.395 3.315 12.264 3.258 12.106C3.205 11.955 3.178 11.795 3.178 11.625C3.178 11.455 3.205 11.295 3.258 11.144C3.311 10.997 3.385 10.872 3.48 10.771C3.491 10.759 3.503 10.747 3.516 10.736C3.948 10.368 4.609 9.831 5.5 9.125C6.152 8.608 6.637 8.219 6.956 7.956L6.876 7.876C6.493 8.113 5.909 8.488 5.125 9C4.066 9.691 3.28 10.188 2.767 10.49C2.754 10.498 2.741 10.504 2.728 10.51C2.461 10.635 2.183 10.65 1.896 10.555C1.599 10.457 1.383 10.272 1.25 10C1.116 9.726 1.097 9.442 1.195 9.146C1.29 8.857 1.468 8.645 1.728 8.511C1.741 8.504 1.754 8.498 1.767 8.493C2.319 8.272 3.105 7.941 4.125 7.5C5.156 7.055 5.948 6.721 6.5 6.5L6.646 6.354C6.746 6.254 6.864 6.204 7 6.204C7.136 6.204 7.254 6.254 7.354 6.354L8.146 7.146L14.146 1.146C14.246 1.047 14.364 0.997 14.5 0.997C14.636 0.997 14.754 1.047 14.854 1.146C14.951 1.244 15 1.362 15 1.5C15 1.638 14.951 1.756 14.854 1.854L8.854 7.854L9.646 8.646C9.746 8.746 9.796 8.864 9.796 9C9.796 9.136 9.746 9.254 9.646 9.354L9.5 9.5C9.279 10.052 8.945 10.844 8.5 11.875C8.059 12.895 7.728 13.681 7.507 14.233C7.502 14.246 7.496 14.259 7.489 14.272C7.355 14.532 7.143 14.71 6.854 14.805Z" />
  </svg>
</template>
```

### Svelte

```svelte
<!-- Gentleface "mop" (line-round), MIT. https://gentleface.com/icons/mop -->
<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="M6.854 14.805C6.558 14.903 6.274 14.884 6 14.75C5.728 14.617 5.543 14.401 5.445 14.104C5.35 13.817 5.365 13.539 5.49 13.272C5.496 13.259 5.502 13.246 5.51 13.233C5.812 12.72 6.309 11.934 7 10.875C7.512 10.091 7.886 9.507 8.124 9.124L8.044 9.044C7.781 9.363 7.392 9.848 6.875 10.5C6.169 11.391 5.632 12.052 5.264 12.484C5.253 12.497 5.241 12.509 5.229 12.52C5.128 12.615 5.003 12.689 4.856 12.742C4.705 12.795 4.545 12.822 4.375 12.822C4.205 12.822 4.045 12.795 3.894 12.742C3.736 12.685 3.605 12.605 3.5 12.5C3.395 12.395 3.315 12.264 3.258 12.106C3.205 11.955 3.178 11.795 3.178 11.625C3.178 11.455 3.205 11.295 3.258 11.144C3.311 10.997 3.385 10.872 3.48 10.771C3.491 10.759 3.503 10.747 3.516 10.736C3.948 10.368 4.609 9.831 5.5 9.125C6.152 8.608 6.637 8.219 6.956 7.956L6.876 7.876C6.493 8.113 5.909 8.488 5.125 9C4.066 9.691 3.28 10.188 2.767 10.49C2.754 10.498 2.741 10.504 2.728 10.51C2.461 10.635 2.183 10.65 1.896 10.555C1.599 10.457 1.383 10.272 1.25 10C1.116 9.726 1.097 9.442 1.195 9.146C1.29 8.857 1.468 8.645 1.728 8.511C1.741 8.504 1.754 8.498 1.767 8.493C2.319 8.272 3.105 7.941 4.125 7.5C5.156 7.055 5.948 6.721 6.5 6.5L6.646 6.354C6.746 6.254 6.864 6.204 7 6.204C7.136 6.204 7.254 6.254 7.354 6.354L8.146 7.146L14.146 1.146C14.246 1.047 14.364 0.997 14.5 0.997C14.636 0.997 14.754 1.047 14.854 1.146C14.951 1.244 15 1.362 15 1.5C15 1.638 14.951 1.756 14.854 1.854L8.854 7.854L9.646 8.646C9.746 8.746 9.796 8.864 9.796 9C9.796 9.136 9.746 9.254 9.646 9.354L9.5 9.5C9.279 10.052 8.945 10.844 8.5 11.875C8.059 12.895 7.728 13.681 7.507 14.233C7.502 14.246 7.496 14.259 7.489 14.272C7.355 14.532 7.143 14.71 6.854 14.805Z" />
</svg>
```

### HTML img

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

### CSS

```css
/* Gentleface "mop" (line-round), MIT. https://gentleface.com/icons/mop. Takes the text color. */
.icon-mop {
  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='M6.854 14.805C6.558 14.903 6.274 14.884 6 14.75C5.728 14.617 5.543 14.401 5.445 14.104C5.35 13.817 5.365 13.539 5.49 13.272C5.496 13.259 5.502 13.246 5.51 13.233C5.812 12.72 6.309 11.934 7 10.875C7.512 10.091 7.886 9.507 8.124 9.124L8.044 9.044C7.781 9.363 7.392 9.848 6.875 10.5C6.169 11.391 5.632 12.052 5.264 12.484C5.253 12.497 5.241 12.509 5.229 12.52C5.128 12.615 5.003 12.689 4.856 12.742C4.705 12.795 4.545 12.822 4.375 12.822C4.205 12.822 4.045 12.795 3.894 12.742C3.736 12.685 3.605 12.605 3.5 12.5C3.395 12.395 3.315 12.264 3.258 12.106C3.205 11.955 3.178 11.795 3.178 11.625C3.178 11.455 3.205 11.295 3.258 11.144C3.311 10.997 3.385 10.872 3.48 10.771C3.491 10.759 3.503 10.747 3.516 10.736C3.948 10.368 4.609 9.831 5.5 9.125C6.152 8.608 6.637 8.219 6.956 7.956L6.876 7.876C6.493 8.113 5.909 8.488 5.125 9C4.066 9.691 3.28 10.188 2.767 10.49C2.754 10.498 2.741 10.504 2.728 10.51C2.461 10.635 2.183 10.65 1.896 10.555C1.599 10.457 1.383 10.272 1.25 10C1.116 9.726 1.097 9.442 1.195 9.146C1.29 8.857 1.468 8.645 1.728 8.511C1.741 8.504 1.754 8.498 1.767 8.493C2.319 8.272 3.105 7.941 4.125 7.5C5.156 7.055 5.948 6.721 6.5 6.5L6.646 6.354C6.746 6.254 6.864 6.204 7 6.204C7.136 6.204 7.254 6.254 7.354 6.354L8.146 7.146L14.146 1.146C14.246 1.047 14.364 0.997 14.5 0.997C14.636 0.997 14.754 1.047 14.854 1.146C14.951 1.244 15 1.362 15 1.5C15 1.638 14.951 1.756 14.854 1.854L8.854 7.854L9.646 8.646C9.746 8.746 9.796 8.864 9.796 9C9.796 9.136 9.746 9.254 9.646 9.354L9.5 9.5C9.279 10.052 8.945 10.844 8.5 11.875C8.059 12.895 7.728 13.681 7.507 14.233C7.502 14.246 7.496 14.259 7.489 14.272C7.355 14.532 7.143 14.71 6.854 14.805Z'/%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='M6.854 14.805C6.558 14.903 6.274 14.884 6 14.75C5.728 14.617 5.543 14.401 5.445 14.104C5.35 13.817 5.365 13.539 5.49 13.272C5.496 13.259 5.502 13.246 5.51 13.233C5.812 12.72 6.309 11.934 7 10.875C7.512 10.091 7.886 9.507 8.124 9.124L8.044 9.044C7.781 9.363 7.392 9.848 6.875 10.5C6.169 11.391 5.632 12.052 5.264 12.484C5.253 12.497 5.241 12.509 5.229 12.52C5.128 12.615 5.003 12.689 4.856 12.742C4.705 12.795 4.545 12.822 4.375 12.822C4.205 12.822 4.045 12.795 3.894 12.742C3.736 12.685 3.605 12.605 3.5 12.5C3.395 12.395 3.315 12.264 3.258 12.106C3.205 11.955 3.178 11.795 3.178 11.625C3.178 11.455 3.205 11.295 3.258 11.144C3.311 10.997 3.385 10.872 3.48 10.771C3.491 10.759 3.503 10.747 3.516 10.736C3.948 10.368 4.609 9.831 5.5 9.125C6.152 8.608 6.637 8.219 6.956 7.956L6.876 7.876C6.493 8.113 5.909 8.488 5.125 9C4.066 9.691 3.28 10.188 2.767 10.49C2.754 10.498 2.741 10.504 2.728 10.51C2.461 10.635 2.183 10.65 1.896 10.555C1.599 10.457 1.383 10.272 1.25 10C1.116 9.726 1.097 9.442 1.195 9.146C1.29 8.857 1.468 8.645 1.728 8.511C1.741 8.504 1.754 8.498 1.767 8.493C2.319 8.272 3.105 7.941 4.125 7.5C5.156 7.055 5.948 6.721 6.5 6.5L6.646 6.354C6.746 6.254 6.864 6.204 7 6.204C7.136 6.204 7.254 6.254 7.354 6.354L8.146 7.146L14.146 1.146C14.246 1.047 14.364 0.997 14.5 0.997C14.636 0.997 14.754 1.047 14.854 1.146C14.951 1.244 15 1.362 15 1.5C15 1.638 14.951 1.756 14.854 1.854L8.854 7.854L9.646 8.646C9.746 8.746 9.796 8.864 9.796 9C9.796 9.136 9.746 9.254 9.646 9.354L9.5 9.5C9.279 10.052 8.945 10.844 8.5 11.875C8.059 12.895 7.728 13.681 7.507 14.233C7.502 14.246 7.496 14.259 7.489 14.272C7.355 14.532 7.143 14.71 6.854 14.805Z'/%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='M6.854 14.805C6.558 14.903 6.274 14.884 6 14.75C5.728 14.617 5.543 14.401 5.445 14.104C5.35 13.817 5.365 13.539 5.49 13.272C5.496 13.259 5.502 13.246 5.51 13.233C5.812 12.72 6.309 11.934 7 10.875C7.512 10.091 7.886 9.507 8.124 9.124L8.044 9.044C7.781 9.363 7.392 9.848 6.875 10.5C6.169 11.391 5.632 12.052 5.264 12.484C5.253 12.497 5.241 12.509 5.229 12.52C5.128 12.615 5.003 12.689 4.856 12.742C4.705 12.795 4.545 12.822 4.375 12.822C4.205 12.822 4.045 12.795 3.894 12.742C3.736 12.685 3.605 12.605 3.5 12.5C3.395 12.395 3.315 12.264 3.258 12.106C3.205 11.955 3.178 11.795 3.178 11.625C3.178 11.455 3.205 11.295 3.258 11.144C3.311 10.997 3.385 10.872 3.48 10.771C3.491 10.759 3.503 10.747 3.516 10.736C3.948 10.368 4.609 9.831 5.5 9.125C6.152 8.608 6.637 8.219 6.956 7.956L6.876 7.876C6.493 8.113 5.909 8.488 5.125 9C4.066 9.691 3.28 10.188 2.767 10.49C2.754 10.498 2.741 10.504 2.728 10.51C2.461 10.635 2.183 10.65 1.896 10.555C1.599 10.457 1.383 10.272 1.25 10C1.116 9.726 1.097 9.442 1.195 9.146C1.29 8.857 1.468 8.645 1.728 8.511C1.741 8.504 1.754 8.498 1.767 8.493C2.319 8.272 3.105 7.941 4.125 7.5C5.156 7.055 5.948 6.721 6.5 6.5L6.646 6.354C6.746 6.254 6.864 6.204 7 6.204C7.136 6.204 7.254 6.254 7.354 6.354L8.146 7.146L14.146 1.146C14.246 1.047 14.364 0.997 14.5 0.997C14.636 0.997 14.754 1.047 14.854 1.146C14.951 1.244 15 1.362 15 1.5C15 1.638 14.951 1.756 14.854 1.854L8.854 7.854L9.646 8.646C9.746 8.746 9.796 8.864 9.796 9C9.796 9.136 9.746 9.254 9.646 9.354L9.5 9.5C9.279 10.052 8.945 10.844 8.5 11.875C8.059 12.895 7.728 13.681 7.507 14.233C7.502 14.246 7.496 14.259 7.489 14.272C7.355 14.532 7.143 14.71 6.854 14.805Z'/%3E%3C/svg%3E
```

### Sprite

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

### SwiftUI

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

struct MopIcon: Shape {
    func path(in rect: CGRect) -> Path {
        var p = Path()
        p.move(to: CGPoint(x: 6.854, y: 14.805))
        p.addCurve(to: CGPoint(x: 6, y: 14.75), control1: CGPoint(x: 6.558, y: 14.903), control2: CGPoint(x: 6.274, y: 14.884))
        p.addCurve(to: CGPoint(x: 5.445, y: 14.104), control1: CGPoint(x: 5.728, y: 14.617), control2: CGPoint(x: 5.543, y: 14.401))
        p.addCurve(to: CGPoint(x: 5.49, y: 13.272), control1: CGPoint(x: 5.35, y: 13.817), control2: CGPoint(x: 5.365, y: 13.539))
        p.addCurve(to: CGPoint(x: 5.51, y: 13.233), control1: CGPoint(x: 5.496, y: 13.259), control2: CGPoint(x: 5.502, y: 13.246))
        p.addCurve(to: CGPoint(x: 7, y: 10.875), control1: CGPoint(x: 5.812, y: 12.72), control2: CGPoint(x: 6.309, y: 11.934))
        p.addCurve(to: CGPoint(x: 8.124, y: 9.124), control1: CGPoint(x: 7.512, y: 10.091), control2: CGPoint(x: 7.886, y: 9.507))
        p.addLine(to: CGPoint(x: 8.044, y: 9.044))
        p.addCurve(to: CGPoint(x: 6.875, y: 10.5), control1: CGPoint(x: 7.781, y: 9.363), control2: CGPoint(x: 7.392, y: 9.848))
        p.addCurve(to: CGPoint(x: 5.264, y: 12.484), control1: CGPoint(x: 6.169, y: 11.391), control2: CGPoint(x: 5.632, y: 12.052))
        p.addCurve(to: CGPoint(x: 5.229, y: 12.52), control1: CGPoint(x: 5.253, y: 12.497), control2: CGPoint(x: 5.241, y: 12.509))
        p.addCurve(to: CGPoint(x: 4.856, y: 12.742), control1: CGPoint(x: 5.128, y: 12.615), control2: CGPoint(x: 5.003, y: 12.689))
        p.addCurve(to: CGPoint(x: 4.375, y: 12.822), control1: CGPoint(x: 4.705, y: 12.795), control2: CGPoint(x: 4.545, y: 12.822))
        p.addCurve(to: CGPoint(x: 3.894, y: 12.742), control1: CGPoint(x: 4.205, y: 12.822), control2: CGPoint(x: 4.045, y: 12.795))
        p.addCurve(to: CGPoint(x: 3.5, y: 12.5), control1: CGPoint(x: 3.736, y: 12.685), control2: CGPoint(x: 3.605, y: 12.605))
        p.addCurve(to: CGPoint(x: 3.258, y: 12.106), control1: CGPoint(x: 3.395, y: 12.395), control2: CGPoint(x: 3.315, y: 12.264))
        p.addCurve(to: CGPoint(x: 3.178, y: 11.625), control1: CGPoint(x: 3.205, y: 11.955), control2: CGPoint(x: 3.178, y: 11.795))
        p.addCurve(to: CGPoint(x: 3.258, y: 11.144), control1: CGPoint(x: 3.178, y: 11.455), control2: CGPoint(x: 3.205, y: 11.295))
        p.addCurve(to: CGPoint(x: 3.48, y: 10.771), control1: CGPoint(x: 3.311, y: 10.997), control2: CGPoint(x: 3.385, y: 10.872))
        p.addCurve(to: CGPoint(x: 3.516, y: 10.736), control1: CGPoint(x: 3.491, y: 10.759), control2: CGPoint(x: 3.503, y: 10.747))
        p.addCurve(to: CGPoint(x: 5.5, y: 9.125), control1: CGPoint(x: 3.948, y: 10.368), control2: CGPoint(x: 4.609, y: 9.831))
        p.addCurve(to: CGPoint(x: 6.956, y: 7.956), control1: CGPoint(x: 6.152, y: 8.608), control2: CGPoint(x: 6.637, y: 8.219))
        p.addLine(to: CGPoint(x: 6.876, y: 7.876))
        p.addCurve(to: CGPoint(x: 5.125, y: 9), control1: CGPoint(x: 6.493, y: 8.113), control2: CGPoint(x: 5.909, y: 8.488))
        p.addCurve(to: CGPoint(x: 2.767, y: 10.49), control1: CGPoint(x: 4.066, y: 9.691), control2: CGPoint(x: 3.28, y: 10.188))
        p.addCurve(to: CGPoint(x: 2.728, y: 10.51), control1: CGPoint(x: 2.754, y: 10.498), control2: CGPoint(x: 2.741, y: 10.504))
        p.addCurve(to: CGPoint(x: 1.896, y: 10.555), control1: CGPoint(x: 2.461, y: 10.635), control2: CGPoint(x: 2.183, y: 10.65))
        p.addCurve(to: CGPoint(x: 1.25, y: 10), control1: CGPoint(x: 1.599, y: 10.457), control2: CGPoint(x: 1.383, y: 10.272))
        p.addCurve(to: CGPoint(x: 1.195, y: 9.146), control1: CGPoint(x: 1.116, y: 9.726), control2: CGPoint(x: 1.097, y: 9.442))
        p.addCurve(to: CGPoint(x: 1.728, y: 8.511), control1: CGPoint(x: 1.29, y: 8.857), control2: CGPoint(x: 1.468, y: 8.645))
        p.addCurve(to: CGPoint(x: 1.767, y: 8.493), control1: CGPoint(x: 1.741, y: 8.504), control2: CGPoint(x: 1.754, y: 8.498))
        p.addCurve(to: CGPoint(x: 4.125, y: 7.5), control1: CGPoint(x: 2.319, y: 8.272), control2: CGPoint(x: 3.105, y: 7.941))
        p.addCurve(to: CGPoint(x: 6.5, y: 6.5), control1: CGPoint(x: 5.156, y: 7.055), control2: CGPoint(x: 5.948, y: 6.721))
        p.addLine(to: CGPoint(x: 6.646, y: 6.354))
        p.addCurve(to: CGPoint(x: 7, y: 6.204), control1: CGPoint(x: 6.746, y: 6.254), control2: CGPoint(x: 6.864, y: 6.204))
        p.addCurve(to: CGPoint(x: 7.354, y: 6.354), control1: CGPoint(x: 7.136, y: 6.204), control2: CGPoint(x: 7.254, y: 6.254))
        p.addLine(to: CGPoint(x: 8.146, y: 7.146))
        p.addLine(to: CGPoint(x: 14.146, y: 1.146))
        p.addCurve(to: CGPoint(x: 14.5, y: 0.997), control1: CGPoint(x: 14.246, y: 1.047), control2: CGPoint(x: 14.364, y: 0.997))
        p.addCurve(to: CGPoint(x: 14.854, y: 1.146), control1: CGPoint(x: 14.636, y: 0.997), control2: CGPoint(x: 14.754, y: 1.047))
        p.addCurve(to: CGPoint(x: 15, y: 1.5), control1: CGPoint(x: 14.951, y: 1.244), control2: CGPoint(x: 15, y: 1.362))
        p.addCurve(to: CGPoint(x: 14.854, y: 1.854), control1: CGPoint(x: 15, y: 1.638), control2: CGPoint(x: 14.951, y: 1.756))
        p.addLine(to: CGPoint(x: 8.854, y: 7.854))
        p.addLine(to: CGPoint(x: 9.646, y: 8.646))
        p.addCurve(to: CGPoint(x: 9.796, y: 9), control1: CGPoint(x: 9.746, y: 8.746), control2: CGPoint(x: 9.796, y: 8.864))
        p.addCurve(to: CGPoint(x: 9.646, y: 9.354), control1: CGPoint(x: 9.796, y: 9.136), control2: CGPoint(x: 9.746, y: 9.254))
        p.addLine(to: CGPoint(x: 9.5, y: 9.5))
        p.addCurve(to: CGPoint(x: 8.5, y: 11.875), control1: CGPoint(x: 9.279, y: 10.052), control2: CGPoint(x: 8.945, y: 10.844))
        p.addCurve(to: CGPoint(x: 7.507, y: 14.233), control1: CGPoint(x: 8.059, y: 12.895), control2: CGPoint(x: 7.728, y: 13.681))
        p.addCurve(to: CGPoint(x: 7.489, y: 14.272), control1: CGPoint(x: 7.502, y: 14.246), control2: CGPoint(x: 7.496, y: 14.259))
        p.addCurve(to: CGPoint(x: 6.854, y: 14.805), control1: CGPoint(x: 7.355, y: 14.532), control2: CGPoint(x: 7.143, y: 14.71))
        p.closeSubpath()
        return p.applying(CGAffineTransform(scaleX: rect.width / 16, y: rect.height / 16))
    }
}

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

### Compose

```kotlin
// Gentleface "mop" (line-round), MIT. https://gentleface.com/icons/mop
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 MopIcon: ImageVector by lazy {
    ImageVector.Builder(
        name = "mop", defaultWidth = 16.dp, defaultHeight = 16.dp,
        viewportWidth = 16f, viewportHeight = 16f,
    ).addPath(
        pathData = addPathNodes("M6.854 14.805C6.558 14.903 6.274 14.884 6 14.75C5.728 14.617 5.543 14.401 5.445 14.104C5.35 13.817 5.365 13.539 5.49 13.272C5.496 13.259 5.502 13.246 5.51 13.233C5.812 12.72 6.309 11.934 7 10.875C7.512 10.091 7.886 9.507 8.124 9.124L8.044 9.044C7.781 9.363 7.392 9.848 6.875 10.5C6.169 11.391 5.632 12.052 5.264 12.484C5.253 12.497 5.241 12.509 5.229 12.52C5.128 12.615 5.003 12.689 4.856 12.742C4.705 12.795 4.545 12.822 4.375 12.822C4.205 12.822 4.045 12.795 3.894 12.742C3.736 12.685 3.605 12.605 3.5 12.5C3.395 12.395 3.315 12.264 3.258 12.106C3.205 11.955 3.178 11.795 3.178 11.625C3.178 11.455 3.205 11.295 3.258 11.144C3.311 10.997 3.385 10.872 3.48 10.771C3.491 10.759 3.503 10.747 3.516 10.736C3.948 10.368 4.609 9.831 5.5 9.125C6.152 8.608 6.637 8.219 6.956 7.956L6.876 7.876C6.493 8.113 5.909 8.488 5.125 9C4.066 9.691 3.28 10.188 2.767 10.49C2.754 10.498 2.741 10.504 2.728 10.51C2.461 10.635 2.183 10.65 1.896 10.555C1.599 10.457 1.383 10.272 1.25 10C1.116 9.726 1.097 9.442 1.195 9.146C1.29 8.857 1.468 8.645 1.728 8.511C1.741 8.504 1.754 8.498 1.767 8.493C2.319 8.272 3.105 7.941 4.125 7.5C5.156 7.055 5.948 6.721 6.5 6.5L6.646 6.354C6.746 6.254 6.864 6.204 7 6.204C7.136 6.204 7.254 6.254 7.354 6.354L8.146 7.146L14.146 1.146C14.246 1.047 14.364 0.997 14.5 0.997C14.636 0.997 14.754 1.047 14.854 1.146C14.951 1.244 15 1.362 15 1.5C15 1.638 14.951 1.756 14.854 1.854L8.854 7.854L9.646 8.646C9.746 8.746 9.796 8.864 9.796 9C9.796 9.136 9.746 9.254 9.646 9.354L9.5 9.5C9.279 10.052 8.945 10.844 8.5 11.875C8.059 12.895 7.728 13.681 7.507 14.233C7.502 14.246 7.496 14.259 7.489 14.272C7.355 14.532 7.143 14.71 6.854 14.805Z"),
        fill = SolidColor(Color.Black),
    ).build()
}

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

### Android XML

```xml
<!-- res/drawable/ic_mop.xml · Gentleface "mop" (line-round), MIT. https://gentleface.com/icons/mop -->
<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="M6.854 14.805C6.558 14.903 6.274 14.884 6 14.75C5.728 14.617 5.543 14.401 5.445 14.104C5.35 13.817 5.365 13.539 5.49 13.272C5.496 13.259 5.502 13.246 5.51 13.233C5.812 12.72 6.309 11.934 7 10.875C7.512 10.091 7.886 9.507 8.124 9.124L8.044 9.044C7.781 9.363 7.392 9.848 6.875 10.5C6.169 11.391 5.632 12.052 5.264 12.484C5.253 12.497 5.241 12.509 5.229 12.52C5.128 12.615 5.003 12.689 4.856 12.742C4.705 12.795 4.545 12.822 4.375 12.822C4.205 12.822 4.045 12.795 3.894 12.742C3.736 12.685 3.605 12.605 3.5 12.5C3.395 12.395 3.315 12.264 3.258 12.106C3.205 11.955 3.178 11.795 3.178 11.625C3.178 11.455 3.205 11.295 3.258 11.144C3.311 10.997 3.385 10.872 3.48 10.771C3.491 10.759 3.503 10.747 3.516 10.736C3.948 10.368 4.609 9.831 5.5 9.125C6.152 8.608 6.637 8.219 6.956 7.956L6.876 7.876C6.493 8.113 5.909 8.488 5.125 9C4.066 9.691 3.28 10.188 2.767 10.49C2.754 10.498 2.741 10.504 2.728 10.51C2.461 10.635 2.183 10.65 1.896 10.555C1.599 10.457 1.383 10.272 1.25 10C1.116 9.726 1.097 9.442 1.195 9.146C1.29 8.857 1.468 8.645 1.728 8.511C1.741 8.504 1.754 8.498 1.767 8.493C2.319 8.272 3.105 7.941 4.125 7.5C5.156 7.055 5.948 6.721 6.5 6.5L6.646 6.354C6.746 6.254 6.864 6.204 7 6.204C7.136 6.204 7.254 6.254 7.354 6.354L8.146 7.146L14.146 1.146C14.246 1.047 14.364 0.997 14.5 0.997C14.636 0.997 14.754 1.047 14.854 1.146C14.951 1.244 15 1.362 15 1.5C15 1.638 14.951 1.756 14.854 1.854L8.854 7.854L9.646 8.646C9.746 8.746 9.796 8.864 9.796 9C9.796 9.136 9.746 9.254 9.646 9.354L9.5 9.5C9.279 10.052 8.945 10.844 8.5 11.875C8.059 12.895 7.728 13.681 7.507 14.233C7.502 14.246 7.496 14.259 7.489 14.272C7.355 14.532 7.143 14.71 6.854 14.805Z"/>
</vector>
```

### Flutter

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

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

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

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

  @override
  void paint(Canvas canvas, Size size) {
    canvas.scale(size.width / 16, size.height / 16);
    final p = Path()
      ..moveTo(6.854, 14.805)
      ..cubicTo(6.558, 14.903, 6.274, 14.884, 6, 14.75)
      ..cubicTo(5.728, 14.617, 5.543, 14.401, 5.445, 14.104)
      ..cubicTo(5.35, 13.817, 5.365, 13.539, 5.49, 13.272)
      ..cubicTo(5.496, 13.259, 5.502, 13.246, 5.51, 13.233)
      ..cubicTo(5.812, 12.72, 6.309, 11.934, 7, 10.875)
      ..cubicTo(7.512, 10.091, 7.886, 9.507, 8.124, 9.124)
      ..lineTo(8.044, 9.044)
      ..cubicTo(7.781, 9.363, 7.392, 9.848, 6.875, 10.5)
      ..cubicTo(6.169, 11.391, 5.632, 12.052, 5.264, 12.484)
      ..cubicTo(5.253, 12.497, 5.241, 12.509, 5.229, 12.52)
      ..cubicTo(5.128, 12.615, 5.003, 12.689, 4.856, 12.742)
      ..cubicTo(4.705, 12.795, 4.545, 12.822, 4.375, 12.822)
      ..cubicTo(4.205, 12.822, 4.045, 12.795, 3.894, 12.742)
      ..cubicTo(3.736, 12.685, 3.605, 12.605, 3.5, 12.5)
      ..cubicTo(3.395, 12.395, 3.315, 12.264, 3.258, 12.106)
      ..cubicTo(3.205, 11.955, 3.178, 11.795, 3.178, 11.625)
      ..cubicTo(3.178, 11.455, 3.205, 11.295, 3.258, 11.144)
      ..cubicTo(3.311, 10.997, 3.385, 10.872, 3.48, 10.771)
      ..cubicTo(3.491, 10.759, 3.503, 10.747, 3.516, 10.736)
      ..cubicTo(3.948, 10.368, 4.609, 9.831, 5.5, 9.125)
      ..cubicTo(6.152, 8.608, 6.637, 8.219, 6.956, 7.956)
      ..lineTo(6.876, 7.876)
      ..cubicTo(6.493, 8.113, 5.909, 8.488, 5.125, 9)
      ..cubicTo(4.066, 9.691, 3.28, 10.188, 2.767, 10.49)
      ..cubicTo(2.754, 10.498, 2.741, 10.504, 2.728, 10.51)
      ..cubicTo(2.461, 10.635, 2.183, 10.65, 1.896, 10.555)
      ..cubicTo(1.599, 10.457, 1.383, 10.272, 1.25, 10)
      ..cubicTo(1.116, 9.726, 1.097, 9.442, 1.195, 9.146)
      ..cubicTo(1.29, 8.857, 1.468, 8.645, 1.728, 8.511)
      ..cubicTo(1.741, 8.504, 1.754, 8.498, 1.767, 8.493)
      ..cubicTo(2.319, 8.272, 3.105, 7.941, 4.125, 7.5)
      ..cubicTo(5.156, 7.055, 5.948, 6.721, 6.5, 6.5)
      ..lineTo(6.646, 6.354)
      ..cubicTo(6.746, 6.254, 6.864, 6.204, 7, 6.204)
      ..cubicTo(7.136, 6.204, 7.254, 6.254, 7.354, 6.354)
      ..lineTo(8.146, 7.146)
      ..lineTo(14.146, 1.146)
      ..cubicTo(14.246, 1.047, 14.364, 0.997, 14.5, 0.997)
      ..cubicTo(14.636, 0.997, 14.754, 1.047, 14.854, 1.146)
      ..cubicTo(14.951, 1.244, 15, 1.362, 15, 1.5)
      ..cubicTo(15, 1.638, 14.951, 1.756, 14.854, 1.854)
      ..lineTo(8.854, 7.854)
      ..lineTo(9.646, 8.646)
      ..cubicTo(9.746, 8.746, 9.796, 8.864, 9.796, 9)
      ..cubicTo(9.796, 9.136, 9.746, 9.254, 9.646, 9.354)
      ..lineTo(9.5, 9.5)
      ..cubicTo(9.279, 10.052, 8.945, 10.844, 8.5, 11.875)
      ..cubicTo(8.059, 12.895, 7.728, 13.681, 7.507, 14.233)
      ..cubicTo(7.502, 14.246, 7.496, 14.259, 7.489, 14.272)
      ..cubicTo(7.355, 14.532, 7.143, 14.71, 6.854, 14.805)
      ..close();
    canvas.drawPath(p, Paint()..color = color);
  }

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