# file-sync icon

File sync. Gentleface icon, drawn on the 16 px pixel grid. Free, MIT licensed. Page: https://gentleface.com/icons/file-sync

- Category: Files & folders
- Use it for: file syncing, sync file, syncing file
- Example: Syncing file
- Built from: file + sync
- Tags: document, page, sheet, sync
- Family: file, contract, file-alert, file-arrow-down, file-arrow-up, file-binary, file-chart, file-check, file-clock, file-cloud, file-code, file-diff, file-dot, file-export, file-eye, file-gear, file-image, file-import, file-info, file-link, file-lock, file-music, file-off, file-pencil, file-plus, file-presentation, file-question, file-scan, file-search, file-shield, file-sparkle, file-spreadsheet, file-star, file-symlink, file-template, file-text, file-unlock, file-user, file-video, file-x, file-zip, files
- Component name: FileSyncIcon
- Added: 2026-10-15

## Alternatives

- `folder-sync`: a syncing folder (sync-folder)
- `cloud-sync`: sync to the cloud (sync-to-cloud)

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

The SVG of every style: https://gentleface.com/icons/file-sync.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="M3.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 1L7.5 1C7.886 1 8.258 1.074 8.615 1.222C8.972 1.37 9.287 1.58 9.561 1.854L12.146 4.439C12.428 4.721 12.642 5.046 12.79 5.415C12.843 5.545 12.842 5.673 12.789 5.799C12.735 5.924 12.643 6.012 12.513 6.065C12.384 6.116 12.257 6.115 12.13 6.061C12.093 6.045 12.058 6.024 12.025 6L10 6C9.746 6 9.5 5.953 9.264 5.86C9.007 5.758 8.781 5.609 8.586 5.414C8.391 5.219 8.242 4.993 8.14 4.736C8.047 4.5 8 4.254 8 4L8 2.066C7.838 2.022 7.671 2 7.5 2L5 2C4.724 2 4.488 2.098 4.293 2.293C4.098 2.488 4 2.724 4 3L4 13C4 13.276 4.098 13.512 4.293 13.707C4.488 13.902 4.724 14 5 14L5.5 14C5.641 14 5.759 14.048 5.856 14.144C5.952 14.241 6 14.359 6 14.5C6 14.641 5.952 14.759 5.856 14.856C5.759 14.952 5.641 15 5.5 15L5 15C4.746 15 4.5 14.953 4.264 14.86C4.007 14.758 3.781 14.609 3.586 14.414C3.391 14.219 3.242 13.993 3.14 13.736C3.047 13.5 3 13.254 3 13L3 3C3 2.746 3.047 2.5 3.14 2.264ZM9 2.707L9 4C9 4.276 9.098 4.512 9.293 4.707C9.488 4.902 9.724 5 10 5L11.293 5L9 2.707ZM15.354 9.146C15.453 9.246 15.503 9.364 15.503 9.5C15.503 9.636 15.453 9.754 15.354 9.854L13.354 11.854C13.254 11.953 13.136 12.003 13 12.003C12.864 12.003 12.746 11.953 12.646 11.854C12.547 11.754 12.497 11.636 12.497 11.5C12.497 11.364 12.547 11.246 12.646 11.146L13.793 10L8.5 10C8.359 10 8.241 9.952 8.144 9.856C8.048 9.759 8 9.641 8 9.5C8 9.359 8.048 9.241 8.144 9.144C8.241 9.048 8.359 9 8.5 9L13.793 9L12.646 7.854C12.549 7.756 12.5 7.638 12.5 7.5C12.5 7.362 12.549 7.244 12.646 7.146C12.746 7.047 12.864 6.997 13 6.997C13.136 6.997 13.254 7.047 13.354 7.146L15.354 9.146ZM14.5 13C14.641 13 14.759 13.048 14.856 13.144C14.952 13.241 15 13.359 15 13.5C15 13.641 14.952 13.759 14.856 13.856C14.759 13.952 14.641 14 14.5 14L9.207 14L10.354 15.146C10.453 15.246 10.503 15.364 10.503 15.5C10.503 15.636 10.453 15.754 10.354 15.854C10.254 15.953 10.136 16.003 10 16.003C9.864 16.003 9.746 15.953 9.646 15.854L7.646 13.854C7.547 13.754 7.497 13.636 7.497 13.5C7.497 13.364 7.547 13.246 7.646 13.146L9.646 11.146C9.746 11.047 9.864 10.997 10 10.997C10.136 10.997 10.254 11.047 10.354 11.146C10.453 11.246 10.503 11.364 10.503 11.5C10.503 11.636 10.453 11.754 10.354 11.854L9.207 13L14.5 13Z"/></svg>
```

### React

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

export function FileSyncIcon(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="M3.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 1L7.5 1C7.886 1 8.258 1.074 8.615 1.222C8.972 1.37 9.287 1.58 9.561 1.854L12.146 4.439C12.428 4.721 12.642 5.046 12.79 5.415C12.843 5.545 12.842 5.673 12.789 5.799C12.735 5.924 12.643 6.012 12.513 6.065C12.384 6.116 12.257 6.115 12.13 6.061C12.093 6.045 12.058 6.024 12.025 6L10 6C9.746 6 9.5 5.953 9.264 5.86C9.007 5.758 8.781 5.609 8.586 5.414C8.391 5.219 8.242 4.993 8.14 4.736C8.047 4.5 8 4.254 8 4L8 2.066C7.838 2.022 7.671 2 7.5 2L5 2C4.724 2 4.488 2.098 4.293 2.293C4.098 2.488 4 2.724 4 3L4 13C4 13.276 4.098 13.512 4.293 13.707C4.488 13.902 4.724 14 5 14L5.5 14C5.641 14 5.759 14.048 5.856 14.144C5.952 14.241 6 14.359 6 14.5C6 14.641 5.952 14.759 5.856 14.856C5.759 14.952 5.641 15 5.5 15L5 15C4.746 15 4.5 14.953 4.264 14.86C4.007 14.758 3.781 14.609 3.586 14.414C3.391 14.219 3.242 13.993 3.14 13.736C3.047 13.5 3 13.254 3 13L3 3C3 2.746 3.047 2.5 3.14 2.264ZM9 2.707L9 4C9 4.276 9.098 4.512 9.293 4.707C9.488 4.902 9.724 5 10 5L11.293 5L9 2.707ZM15.354 9.146C15.453 9.246 15.503 9.364 15.503 9.5C15.503 9.636 15.453 9.754 15.354 9.854L13.354 11.854C13.254 11.953 13.136 12.003 13 12.003C12.864 12.003 12.746 11.953 12.646 11.854C12.547 11.754 12.497 11.636 12.497 11.5C12.497 11.364 12.547 11.246 12.646 11.146L13.793 10L8.5 10C8.359 10 8.241 9.952 8.144 9.856C8.048 9.759 8 9.641 8 9.5C8 9.359 8.048 9.241 8.144 9.144C8.241 9.048 8.359 9 8.5 9L13.793 9L12.646 7.854C12.549 7.756 12.5 7.638 12.5 7.5C12.5 7.362 12.549 7.244 12.646 7.146C12.746 7.047 12.864 6.997 13 6.997C13.136 6.997 13.254 7.047 13.354 7.146L15.354 9.146ZM14.5 13C14.641 13 14.759 13.048 14.856 13.144C14.952 13.241 15 13.359 15 13.5C15 13.641 14.952 13.759 14.856 13.856C14.759 13.952 14.641 14 14.5 14L9.207 14L10.354 15.146C10.453 15.246 10.503 15.364 10.503 15.5C10.503 15.636 10.453 15.754 10.354 15.854C10.254 15.953 10.136 16.003 10 16.003C9.864 16.003 9.746 15.953 9.646 15.854L7.646 13.854C7.547 13.754 7.497 13.636 7.497 13.5C7.497 13.364 7.547 13.246 7.646 13.146L9.646 11.146C9.746 11.047 9.864 10.997 10 10.997C10.136 10.997 10.254 11.047 10.354 11.146C10.453 11.246 10.503 11.364 10.503 11.5C10.503 11.636 10.453 11.754 10.354 11.854L9.207 13L14.5 13Z" />
    </svg>
  );
}
```

### Vue

```vue
<!-- Gentleface "file-sync" (line-round), MIT. https://gentleface.com/icons/file-sync -->
<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="M3.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 1L7.5 1C7.886 1 8.258 1.074 8.615 1.222C8.972 1.37 9.287 1.58 9.561 1.854L12.146 4.439C12.428 4.721 12.642 5.046 12.79 5.415C12.843 5.545 12.842 5.673 12.789 5.799C12.735 5.924 12.643 6.012 12.513 6.065C12.384 6.116 12.257 6.115 12.13 6.061C12.093 6.045 12.058 6.024 12.025 6L10 6C9.746 6 9.5 5.953 9.264 5.86C9.007 5.758 8.781 5.609 8.586 5.414C8.391 5.219 8.242 4.993 8.14 4.736C8.047 4.5 8 4.254 8 4L8 2.066C7.838 2.022 7.671 2 7.5 2L5 2C4.724 2 4.488 2.098 4.293 2.293C4.098 2.488 4 2.724 4 3L4 13C4 13.276 4.098 13.512 4.293 13.707C4.488 13.902 4.724 14 5 14L5.5 14C5.641 14 5.759 14.048 5.856 14.144C5.952 14.241 6 14.359 6 14.5C6 14.641 5.952 14.759 5.856 14.856C5.759 14.952 5.641 15 5.5 15L5 15C4.746 15 4.5 14.953 4.264 14.86C4.007 14.758 3.781 14.609 3.586 14.414C3.391 14.219 3.242 13.993 3.14 13.736C3.047 13.5 3 13.254 3 13L3 3C3 2.746 3.047 2.5 3.14 2.264ZM9 2.707L9 4C9 4.276 9.098 4.512 9.293 4.707C9.488 4.902 9.724 5 10 5L11.293 5L9 2.707ZM15.354 9.146C15.453 9.246 15.503 9.364 15.503 9.5C15.503 9.636 15.453 9.754 15.354 9.854L13.354 11.854C13.254 11.953 13.136 12.003 13 12.003C12.864 12.003 12.746 11.953 12.646 11.854C12.547 11.754 12.497 11.636 12.497 11.5C12.497 11.364 12.547 11.246 12.646 11.146L13.793 10L8.5 10C8.359 10 8.241 9.952 8.144 9.856C8.048 9.759 8 9.641 8 9.5C8 9.359 8.048 9.241 8.144 9.144C8.241 9.048 8.359 9 8.5 9L13.793 9L12.646 7.854C12.549 7.756 12.5 7.638 12.5 7.5C12.5 7.362 12.549 7.244 12.646 7.146C12.746 7.047 12.864 6.997 13 6.997C13.136 6.997 13.254 7.047 13.354 7.146L15.354 9.146ZM14.5 13C14.641 13 14.759 13.048 14.856 13.144C14.952 13.241 15 13.359 15 13.5C15 13.641 14.952 13.759 14.856 13.856C14.759 13.952 14.641 14 14.5 14L9.207 14L10.354 15.146C10.453 15.246 10.503 15.364 10.503 15.5C10.503 15.636 10.453 15.754 10.354 15.854C10.254 15.953 10.136 16.003 10 16.003C9.864 16.003 9.746 15.953 9.646 15.854L7.646 13.854C7.547 13.754 7.497 13.636 7.497 13.5C7.497 13.364 7.547 13.246 7.646 13.146L9.646 11.146C9.746 11.047 9.864 10.997 10 10.997C10.136 10.997 10.254 11.047 10.354 11.146C10.453 11.246 10.503 11.364 10.503 11.5C10.503 11.636 10.453 11.754 10.354 11.854L9.207 13L14.5 13Z" />
  </svg>
</template>
```

### Svelte

```svelte
<!-- Gentleface "file-sync" (line-round), MIT. https://gentleface.com/icons/file-sync -->
<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="M3.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 1L7.5 1C7.886 1 8.258 1.074 8.615 1.222C8.972 1.37 9.287 1.58 9.561 1.854L12.146 4.439C12.428 4.721 12.642 5.046 12.79 5.415C12.843 5.545 12.842 5.673 12.789 5.799C12.735 5.924 12.643 6.012 12.513 6.065C12.384 6.116 12.257 6.115 12.13 6.061C12.093 6.045 12.058 6.024 12.025 6L10 6C9.746 6 9.5 5.953 9.264 5.86C9.007 5.758 8.781 5.609 8.586 5.414C8.391 5.219 8.242 4.993 8.14 4.736C8.047 4.5 8 4.254 8 4L8 2.066C7.838 2.022 7.671 2 7.5 2L5 2C4.724 2 4.488 2.098 4.293 2.293C4.098 2.488 4 2.724 4 3L4 13C4 13.276 4.098 13.512 4.293 13.707C4.488 13.902 4.724 14 5 14L5.5 14C5.641 14 5.759 14.048 5.856 14.144C5.952 14.241 6 14.359 6 14.5C6 14.641 5.952 14.759 5.856 14.856C5.759 14.952 5.641 15 5.5 15L5 15C4.746 15 4.5 14.953 4.264 14.86C4.007 14.758 3.781 14.609 3.586 14.414C3.391 14.219 3.242 13.993 3.14 13.736C3.047 13.5 3 13.254 3 13L3 3C3 2.746 3.047 2.5 3.14 2.264ZM9 2.707L9 4C9 4.276 9.098 4.512 9.293 4.707C9.488 4.902 9.724 5 10 5L11.293 5L9 2.707ZM15.354 9.146C15.453 9.246 15.503 9.364 15.503 9.5C15.503 9.636 15.453 9.754 15.354 9.854L13.354 11.854C13.254 11.953 13.136 12.003 13 12.003C12.864 12.003 12.746 11.953 12.646 11.854C12.547 11.754 12.497 11.636 12.497 11.5C12.497 11.364 12.547 11.246 12.646 11.146L13.793 10L8.5 10C8.359 10 8.241 9.952 8.144 9.856C8.048 9.759 8 9.641 8 9.5C8 9.359 8.048 9.241 8.144 9.144C8.241 9.048 8.359 9 8.5 9L13.793 9L12.646 7.854C12.549 7.756 12.5 7.638 12.5 7.5C12.5 7.362 12.549 7.244 12.646 7.146C12.746 7.047 12.864 6.997 13 6.997C13.136 6.997 13.254 7.047 13.354 7.146L15.354 9.146ZM14.5 13C14.641 13 14.759 13.048 14.856 13.144C14.952 13.241 15 13.359 15 13.5C15 13.641 14.952 13.759 14.856 13.856C14.759 13.952 14.641 14 14.5 14L9.207 14L10.354 15.146C10.453 15.246 10.503 15.364 10.503 15.5C10.503 15.636 10.453 15.754 10.354 15.854C10.254 15.953 10.136 16.003 10 16.003C9.864 16.003 9.746 15.953 9.646 15.854L7.646 13.854C7.547 13.754 7.497 13.636 7.497 13.5C7.497 13.364 7.547 13.246 7.646 13.146L9.646 11.146C9.746 11.047 9.864 10.997 10 10.997C10.136 10.997 10.254 11.047 10.354 11.146C10.453 11.246 10.503 11.364 10.503 11.5C10.503 11.636 10.453 11.754 10.354 11.854L9.207 13L14.5 13Z" />
</svg>
```

### HTML img

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

### CSS

```css
/* Gentleface "file-sync" (line-round), MIT. https://gentleface.com/icons/file-sync. Takes the text color. */
.icon-file-sync {
  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='M3.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 1L7.5 1C7.886 1 8.258 1.074 8.615 1.222C8.972 1.37 9.287 1.58 9.561 1.854L12.146 4.439C12.428 4.721 12.642 5.046 12.79 5.415C12.843 5.545 12.842 5.673 12.789 5.799C12.735 5.924 12.643 6.012 12.513 6.065C12.384 6.116 12.257 6.115 12.13 6.061C12.093 6.045 12.058 6.024 12.025 6L10 6C9.746 6 9.5 5.953 9.264 5.86C9.007 5.758 8.781 5.609 8.586 5.414C8.391 5.219 8.242 4.993 8.14 4.736C8.047 4.5 8 4.254 8 4L8 2.066C7.838 2.022 7.671 2 7.5 2L5 2C4.724 2 4.488 2.098 4.293 2.293C4.098 2.488 4 2.724 4 3L4 13C4 13.276 4.098 13.512 4.293 13.707C4.488 13.902 4.724 14 5 14L5.5 14C5.641 14 5.759 14.048 5.856 14.144C5.952 14.241 6 14.359 6 14.5C6 14.641 5.952 14.759 5.856 14.856C5.759 14.952 5.641 15 5.5 15L5 15C4.746 15 4.5 14.953 4.264 14.86C4.007 14.758 3.781 14.609 3.586 14.414C3.391 14.219 3.242 13.993 3.14 13.736C3.047 13.5 3 13.254 3 13L3 3C3 2.746 3.047 2.5 3.14 2.264ZM9 2.707L9 4C9 4.276 9.098 4.512 9.293 4.707C9.488 4.902 9.724 5 10 5L11.293 5L9 2.707ZM15.354 9.146C15.453 9.246 15.503 9.364 15.503 9.5C15.503 9.636 15.453 9.754 15.354 9.854L13.354 11.854C13.254 11.953 13.136 12.003 13 12.003C12.864 12.003 12.746 11.953 12.646 11.854C12.547 11.754 12.497 11.636 12.497 11.5C12.497 11.364 12.547 11.246 12.646 11.146L13.793 10L8.5 10C8.359 10 8.241 9.952 8.144 9.856C8.048 9.759 8 9.641 8 9.5C8 9.359 8.048 9.241 8.144 9.144C8.241 9.048 8.359 9 8.5 9L13.793 9L12.646 7.854C12.549 7.756 12.5 7.638 12.5 7.5C12.5 7.362 12.549 7.244 12.646 7.146C12.746 7.047 12.864 6.997 13 6.997C13.136 6.997 13.254 7.047 13.354 7.146L15.354 9.146ZM14.5 13C14.641 13 14.759 13.048 14.856 13.144C14.952 13.241 15 13.359 15 13.5C15 13.641 14.952 13.759 14.856 13.856C14.759 13.952 14.641 14 14.5 14L9.207 14L10.354 15.146C10.453 15.246 10.503 15.364 10.503 15.5C10.503 15.636 10.453 15.754 10.354 15.854C10.254 15.953 10.136 16.003 10 16.003C9.864 16.003 9.746 15.953 9.646 15.854L7.646 13.854C7.547 13.754 7.497 13.636 7.497 13.5C7.497 13.364 7.547 13.246 7.646 13.146L9.646 11.146C9.746 11.047 9.864 10.997 10 10.997C10.136 10.997 10.254 11.047 10.354 11.146C10.453 11.246 10.503 11.364 10.503 11.5C10.503 11.636 10.453 11.754 10.354 11.854L9.207 13L14.5 13Z'/%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='M3.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 1L7.5 1C7.886 1 8.258 1.074 8.615 1.222C8.972 1.37 9.287 1.58 9.561 1.854L12.146 4.439C12.428 4.721 12.642 5.046 12.79 5.415C12.843 5.545 12.842 5.673 12.789 5.799C12.735 5.924 12.643 6.012 12.513 6.065C12.384 6.116 12.257 6.115 12.13 6.061C12.093 6.045 12.058 6.024 12.025 6L10 6C9.746 6 9.5 5.953 9.264 5.86C9.007 5.758 8.781 5.609 8.586 5.414C8.391 5.219 8.242 4.993 8.14 4.736C8.047 4.5 8 4.254 8 4L8 2.066C7.838 2.022 7.671 2 7.5 2L5 2C4.724 2 4.488 2.098 4.293 2.293C4.098 2.488 4 2.724 4 3L4 13C4 13.276 4.098 13.512 4.293 13.707C4.488 13.902 4.724 14 5 14L5.5 14C5.641 14 5.759 14.048 5.856 14.144C5.952 14.241 6 14.359 6 14.5C6 14.641 5.952 14.759 5.856 14.856C5.759 14.952 5.641 15 5.5 15L5 15C4.746 15 4.5 14.953 4.264 14.86C4.007 14.758 3.781 14.609 3.586 14.414C3.391 14.219 3.242 13.993 3.14 13.736C3.047 13.5 3 13.254 3 13L3 3C3 2.746 3.047 2.5 3.14 2.264ZM9 2.707L9 4C9 4.276 9.098 4.512 9.293 4.707C9.488 4.902 9.724 5 10 5L11.293 5L9 2.707ZM15.354 9.146C15.453 9.246 15.503 9.364 15.503 9.5C15.503 9.636 15.453 9.754 15.354 9.854L13.354 11.854C13.254 11.953 13.136 12.003 13 12.003C12.864 12.003 12.746 11.953 12.646 11.854C12.547 11.754 12.497 11.636 12.497 11.5C12.497 11.364 12.547 11.246 12.646 11.146L13.793 10L8.5 10C8.359 10 8.241 9.952 8.144 9.856C8.048 9.759 8 9.641 8 9.5C8 9.359 8.048 9.241 8.144 9.144C8.241 9.048 8.359 9 8.5 9L13.793 9L12.646 7.854C12.549 7.756 12.5 7.638 12.5 7.5C12.5 7.362 12.549 7.244 12.646 7.146C12.746 7.047 12.864 6.997 13 6.997C13.136 6.997 13.254 7.047 13.354 7.146L15.354 9.146ZM14.5 13C14.641 13 14.759 13.048 14.856 13.144C14.952 13.241 15 13.359 15 13.5C15 13.641 14.952 13.759 14.856 13.856C14.759 13.952 14.641 14 14.5 14L9.207 14L10.354 15.146C10.453 15.246 10.503 15.364 10.503 15.5C10.503 15.636 10.453 15.754 10.354 15.854C10.254 15.953 10.136 16.003 10 16.003C9.864 16.003 9.746 15.953 9.646 15.854L7.646 13.854C7.547 13.754 7.497 13.636 7.497 13.5C7.497 13.364 7.547 13.246 7.646 13.146L9.646 11.146C9.746 11.047 9.864 10.997 10 10.997C10.136 10.997 10.254 11.047 10.354 11.146C10.453 11.246 10.503 11.364 10.503 11.5C10.503 11.636 10.453 11.754 10.354 11.854L9.207 13L14.5 13Z'/%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='M3.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 1L7.5 1C7.886 1 8.258 1.074 8.615 1.222C8.972 1.37 9.287 1.58 9.561 1.854L12.146 4.439C12.428 4.721 12.642 5.046 12.79 5.415C12.843 5.545 12.842 5.673 12.789 5.799C12.735 5.924 12.643 6.012 12.513 6.065C12.384 6.116 12.257 6.115 12.13 6.061C12.093 6.045 12.058 6.024 12.025 6L10 6C9.746 6 9.5 5.953 9.264 5.86C9.007 5.758 8.781 5.609 8.586 5.414C8.391 5.219 8.242 4.993 8.14 4.736C8.047 4.5 8 4.254 8 4L8 2.066C7.838 2.022 7.671 2 7.5 2L5 2C4.724 2 4.488 2.098 4.293 2.293C4.098 2.488 4 2.724 4 3L4 13C4 13.276 4.098 13.512 4.293 13.707C4.488 13.902 4.724 14 5 14L5.5 14C5.641 14 5.759 14.048 5.856 14.144C5.952 14.241 6 14.359 6 14.5C6 14.641 5.952 14.759 5.856 14.856C5.759 14.952 5.641 15 5.5 15L5 15C4.746 15 4.5 14.953 4.264 14.86C4.007 14.758 3.781 14.609 3.586 14.414C3.391 14.219 3.242 13.993 3.14 13.736C3.047 13.5 3 13.254 3 13L3 3C3 2.746 3.047 2.5 3.14 2.264ZM9 2.707L9 4C9 4.276 9.098 4.512 9.293 4.707C9.488 4.902 9.724 5 10 5L11.293 5L9 2.707ZM15.354 9.146C15.453 9.246 15.503 9.364 15.503 9.5C15.503 9.636 15.453 9.754 15.354 9.854L13.354 11.854C13.254 11.953 13.136 12.003 13 12.003C12.864 12.003 12.746 11.953 12.646 11.854C12.547 11.754 12.497 11.636 12.497 11.5C12.497 11.364 12.547 11.246 12.646 11.146L13.793 10L8.5 10C8.359 10 8.241 9.952 8.144 9.856C8.048 9.759 8 9.641 8 9.5C8 9.359 8.048 9.241 8.144 9.144C8.241 9.048 8.359 9 8.5 9L13.793 9L12.646 7.854C12.549 7.756 12.5 7.638 12.5 7.5C12.5 7.362 12.549 7.244 12.646 7.146C12.746 7.047 12.864 6.997 13 6.997C13.136 6.997 13.254 7.047 13.354 7.146L15.354 9.146ZM14.5 13C14.641 13 14.759 13.048 14.856 13.144C14.952 13.241 15 13.359 15 13.5C15 13.641 14.952 13.759 14.856 13.856C14.759 13.952 14.641 14 14.5 14L9.207 14L10.354 15.146C10.453 15.246 10.503 15.364 10.503 15.5C10.503 15.636 10.453 15.754 10.354 15.854C10.254 15.953 10.136 16.003 10 16.003C9.864 16.003 9.746 15.953 9.646 15.854L7.646 13.854C7.547 13.754 7.497 13.636 7.497 13.5C7.497 13.364 7.547 13.246 7.646 13.146L9.646 11.146C9.746 11.047 9.864 10.997 10 10.997C10.136 10.997 10.254 11.047 10.354 11.146C10.453 11.246 10.503 11.364 10.503 11.5C10.503 11.636 10.453 11.754 10.354 11.854L9.207 13L14.5 13Z'/%3E%3C/svg%3E
```

### Sprite

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

### SwiftUI

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

struct FileSyncIcon: Shape {
    func path(in rect: CGRect) -> Path {
        var p = Path()
        p.move(to: CGPoint(x: 3.14, y: 2.264))
        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: 7.5, y: 1))
        p.addCurve(to: CGPoint(x: 8.615, y: 1.222), control1: CGPoint(x: 7.886, y: 1), control2: CGPoint(x: 8.258, y: 1.074))
        p.addCurve(to: CGPoint(x: 9.561, y: 1.854), control1: CGPoint(x: 8.972, y: 1.37), control2: CGPoint(x: 9.287, y: 1.58))
        p.addLine(to: CGPoint(x: 12.146, y: 4.439))
        p.addCurve(to: CGPoint(x: 12.79, y: 5.415), control1: CGPoint(x: 12.428, y: 4.721), control2: CGPoint(x: 12.642, y: 5.046))
        p.addCurve(to: CGPoint(x: 12.789, y: 5.799), control1: CGPoint(x: 12.843, y: 5.545), control2: CGPoint(x: 12.842, y: 5.673))
        p.addCurve(to: CGPoint(x: 12.513, y: 6.065), control1: CGPoint(x: 12.735, y: 5.924), control2: CGPoint(x: 12.643, y: 6.012))
        p.addCurve(to: CGPoint(x: 12.13, y: 6.061), control1: CGPoint(x: 12.384, y: 6.116), control2: CGPoint(x: 12.257, y: 6.115))
        p.addCurve(to: CGPoint(x: 12.025, y: 6), control1: CGPoint(x: 12.093, y: 6.045), control2: CGPoint(x: 12.058, y: 6.024))
        p.addLine(to: CGPoint(x: 10, y: 6))
        p.addCurve(to: CGPoint(x: 9.264, y: 5.86), control1: CGPoint(x: 9.746, y: 6), control2: CGPoint(x: 9.5, y: 5.953))
        p.addCurve(to: CGPoint(x: 8.586, y: 5.414), control1: CGPoint(x: 9.007, y: 5.758), control2: CGPoint(x: 8.781, y: 5.609))
        p.addCurve(to: CGPoint(x: 8.14, y: 4.736), control1: CGPoint(x: 8.391, y: 5.219), control2: CGPoint(x: 8.242, y: 4.993))
        p.addCurve(to: CGPoint(x: 8, y: 4), control1: CGPoint(x: 8.047, y: 4.5), control2: CGPoint(x: 8, y: 4.254))
        p.addLine(to: CGPoint(x: 8, y: 2.066))
        p.addCurve(to: CGPoint(x: 7.5, y: 2), control1: CGPoint(x: 7.838, y: 2.022), control2: CGPoint(x: 7.671, 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))
        p.addCurve(to: CGPoint(x: 4.293, y: 13.707), control1: CGPoint(x: 4, y: 13.276), control2: CGPoint(x: 4.098, y: 13.512))
        p.addCurve(to: CGPoint(x: 5, y: 14), control1: CGPoint(x: 4.488, y: 13.902), control2: CGPoint(x: 4.724, y: 14))
        p.addLine(to: CGPoint(x: 5.5, y: 14))
        p.addCurve(to: CGPoint(x: 5.856, y: 14.144), control1: CGPoint(x: 5.641, y: 14), control2: CGPoint(x: 5.759, y: 14.048))
        p.addCurve(to: CGPoint(x: 6, y: 14.5), control1: CGPoint(x: 5.952, y: 14.241), control2: CGPoint(x: 6, y: 14.359))
        p.addCurve(to: CGPoint(x: 5.856, y: 14.856), control1: CGPoint(x: 6, y: 14.641), control2: CGPoint(x: 5.952, y: 14.759))
        p.addCurve(to: CGPoint(x: 5.5, y: 15), control1: CGPoint(x: 5.759, y: 14.952), control2: CGPoint(x: 5.641, y: 15))
        p.addLine(to: CGPoint(x: 5, y: 15))
        p.addCurve(to: CGPoint(x: 4.264, y: 14.86), control1: CGPoint(x: 4.746, y: 15), control2: CGPoint(x: 4.5, y: 14.953))
        p.addCurve(to: CGPoint(x: 3.586, y: 14.414), control1: CGPoint(x: 4.007, y: 14.758), control2: CGPoint(x: 3.781, y: 14.609))
        p.addCurve(to: CGPoint(x: 3.14, y: 13.736), control1: CGPoint(x: 3.391, y: 14.219), control2: CGPoint(x: 3.242, y: 13.993))
        p.addCurve(to: CGPoint(x: 3, y: 13), control1: CGPoint(x: 3.047, y: 13.5), control2: CGPoint(x: 3, y: 13.254))
        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.closeSubpath()
        p.move(to: CGPoint(x: 9, y: 2.707))
        p.addLine(to: CGPoint(x: 9, y: 4))
        p.addCurve(to: CGPoint(x: 9.293, y: 4.707), control1: CGPoint(x: 9, y: 4.276), control2: CGPoint(x: 9.098, y: 4.512))
        p.addCurve(to: CGPoint(x: 10, y: 5), control1: CGPoint(x: 9.488, y: 4.902), control2: CGPoint(x: 9.724, y: 5))
        p.addLine(to: CGPoint(x: 11.293, y: 5))
        p.addLine(to: CGPoint(x: 9, y: 2.707))
        p.closeSubpath()
        p.move(to: CGPoint(x: 15.354, y: 9.146))
        p.addCurve(to: CGPoint(x: 15.503, y: 9.5), control1: CGPoint(x: 15.453, y: 9.246), control2: CGPoint(x: 15.503, y: 9.364))
        p.addCurve(to: CGPoint(x: 15.354, y: 9.854), control1: CGPoint(x: 15.503, y: 9.636), control2: CGPoint(x: 15.453, y: 9.754))
        p.addLine(to: CGPoint(x: 13.354, y: 11.854))
        p.addCurve(to: CGPoint(x: 13, y: 12.003), control1: CGPoint(x: 13.254, y: 11.953), control2: CGPoint(x: 13.136, y: 12.003))
        p.addCurve(to: CGPoint(x: 12.646, y: 11.854), control1: CGPoint(x: 12.864, y: 12.003), control2: CGPoint(x: 12.746, y: 11.953))
        p.addCurve(to: CGPoint(x: 12.497, y: 11.5), control1: CGPoint(x: 12.547, y: 11.754), control2: CGPoint(x: 12.497, y: 11.636))
        p.addCurve(to: CGPoint(x: 12.646, y: 11.146), control1: CGPoint(x: 12.497, y: 11.364), control2: CGPoint(x: 12.547, y: 11.246))
        p.addLine(to: CGPoint(x: 13.793, y: 10))
        p.addLine(to: CGPoint(x: 8.5, y: 10))
        p.addCurve(to: CGPoint(x: 8.144, y: 9.856), control1: CGPoint(x: 8.359, y: 10), control2: CGPoint(x: 8.241, y: 9.952))
        p.addCurve(to: CGPoint(x: 8, y: 9.5), control1: CGPoint(x: 8.048, y: 9.759), control2: CGPoint(x: 8, y: 9.641))
        p.addCurve(to: CGPoint(x: 8.144, y: 9.144), control1: CGPoint(x: 8, y: 9.359), control2: CGPoint(x: 8.048, y: 9.241))
        p.addCurve(to: CGPoint(x: 8.5, y: 9), control1: CGPoint(x: 8.241, y: 9.048), control2: CGPoint(x: 8.359, y: 9))
        p.addLine(to: CGPoint(x: 13.793, y: 9))
        p.addLine(to: CGPoint(x: 12.646, y: 7.854))
        p.addCurve(to: CGPoint(x: 12.5, y: 7.5), control1: CGPoint(x: 12.549, y: 7.756), control2: CGPoint(x: 12.5, y: 7.638))
        p.addCurve(to: CGPoint(x: 12.646, y: 7.146), control1: CGPoint(x: 12.5, y: 7.362), control2: CGPoint(x: 12.549, y: 7.244))
        p.addCurve(to: CGPoint(x: 13, y: 6.997), control1: CGPoint(x: 12.746, y: 7.047), control2: CGPoint(x: 12.864, y: 6.997))
        p.addCurve(to: CGPoint(x: 13.354, y: 7.146), control1: CGPoint(x: 13.136, y: 6.997), control2: CGPoint(x: 13.254, y: 7.047))
        p.addLine(to: CGPoint(x: 15.354, y: 9.146))
        p.closeSubpath()
        p.move(to: CGPoint(x: 14.5, y: 13))
        p.addCurve(to: CGPoint(x: 14.856, y: 13.144), control1: CGPoint(x: 14.641, y: 13), control2: CGPoint(x: 14.759, y: 13.048))
        p.addCurve(to: CGPoint(x: 15, y: 13.5), control1: CGPoint(x: 14.952, y: 13.241), control2: CGPoint(x: 15, y: 13.359))
        p.addCurve(to: CGPoint(x: 14.856, y: 13.856), control1: CGPoint(x: 15, y: 13.641), control2: CGPoint(x: 14.952, y: 13.759))
        p.addCurve(to: CGPoint(x: 14.5, y: 14), control1: CGPoint(x: 14.759, y: 13.952), control2: CGPoint(x: 14.641, y: 14))
        p.addLine(to: CGPoint(x: 9.207, y: 14))
        p.addLine(to: CGPoint(x: 10.354, y: 15.146))
        p.addCurve(to: CGPoint(x: 10.503, y: 15.5), control1: CGPoint(x: 10.453, y: 15.246), control2: CGPoint(x: 10.503, y: 15.364))
        p.addCurve(to: CGPoint(x: 10.354, y: 15.854), control1: CGPoint(x: 10.503, y: 15.636), control2: CGPoint(x: 10.453, y: 15.754))
        p.addCurve(to: CGPoint(x: 10, y: 16.003), control1: CGPoint(x: 10.254, y: 15.953), control2: CGPoint(x: 10.136, y: 16.003))
        p.addCurve(to: CGPoint(x: 9.646, y: 15.854), control1: CGPoint(x: 9.864, y: 16.003), control2: CGPoint(x: 9.746, y: 15.953))
        p.addLine(to: CGPoint(x: 7.646, y: 13.854))
        p.addCurve(to: CGPoint(x: 7.497, y: 13.5), control1: CGPoint(x: 7.547, y: 13.754), control2: CGPoint(x: 7.497, y: 13.636))
        p.addCurve(to: CGPoint(x: 7.646, y: 13.146), control1: CGPoint(x: 7.497, y: 13.364), control2: CGPoint(x: 7.547, y: 13.246))
        p.addLine(to: CGPoint(x: 9.646, y: 11.146))
        p.addCurve(to: CGPoint(x: 10, y: 10.997), control1: CGPoint(x: 9.746, y: 11.047), control2: CGPoint(x: 9.864, y: 10.997))
        p.addCurve(to: CGPoint(x: 10.354, y: 11.146), control1: CGPoint(x: 10.136, y: 10.997), control2: CGPoint(x: 10.254, y: 11.047))
        p.addCurve(to: CGPoint(x: 10.503, y: 11.5), control1: CGPoint(x: 10.453, y: 11.246), control2: CGPoint(x: 10.503, y: 11.364))
        p.addCurve(to: CGPoint(x: 10.354, y: 11.854), control1: CGPoint(x: 10.503, y: 11.636), control2: CGPoint(x: 10.453, y: 11.754))
        p.addLine(to: CGPoint(x: 9.207, y: 13))
        p.addLine(to: CGPoint(x: 14.5, y: 13))
        p.closeSubpath()
        return p.applying(CGAffineTransform(scaleX: rect.width / 16, y: rect.height / 16))
    }
}

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

### Compose

```kotlin
// Gentleface "file-sync" (line-round), MIT. https://gentleface.com/icons/file-sync
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 FileSyncIcon: ImageVector by lazy {
    ImageVector.Builder(
        name = "file-sync", defaultWidth = 16.dp, defaultHeight = 16.dp,
        viewportWidth = 16f, viewportHeight = 16f,
    ).addPath(
        pathData = addPathNodes("M3.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 1L7.5 1C7.886 1 8.258 1.074 8.615 1.222C8.972 1.37 9.287 1.58 9.561 1.854L12.146 4.439C12.428 4.721 12.642 5.046 12.79 5.415C12.843 5.545 12.842 5.673 12.789 5.799C12.735 5.924 12.643 6.012 12.513 6.065C12.384 6.116 12.257 6.115 12.13 6.061C12.093 6.045 12.058 6.024 12.025 6L10 6C9.746 6 9.5 5.953 9.264 5.86C9.007 5.758 8.781 5.609 8.586 5.414C8.391 5.219 8.242 4.993 8.14 4.736C8.047 4.5 8 4.254 8 4L8 2.066C7.838 2.022 7.671 2 7.5 2L5 2C4.724 2 4.488 2.098 4.293 2.293C4.098 2.488 4 2.724 4 3L4 13C4 13.276 4.098 13.512 4.293 13.707C4.488 13.902 4.724 14 5 14L5.5 14C5.641 14 5.759 14.048 5.856 14.144C5.952 14.241 6 14.359 6 14.5C6 14.641 5.952 14.759 5.856 14.856C5.759 14.952 5.641 15 5.5 15L5 15C4.746 15 4.5 14.953 4.264 14.86C4.007 14.758 3.781 14.609 3.586 14.414C3.391 14.219 3.242 13.993 3.14 13.736C3.047 13.5 3 13.254 3 13L3 3C3 2.746 3.047 2.5 3.14 2.264ZM9 2.707L9 4C9 4.276 9.098 4.512 9.293 4.707C9.488 4.902 9.724 5 10 5L11.293 5L9 2.707ZM15.354 9.146C15.453 9.246 15.503 9.364 15.503 9.5C15.503 9.636 15.453 9.754 15.354 9.854L13.354 11.854C13.254 11.953 13.136 12.003 13 12.003C12.864 12.003 12.746 11.953 12.646 11.854C12.547 11.754 12.497 11.636 12.497 11.5C12.497 11.364 12.547 11.246 12.646 11.146L13.793 10L8.5 10C8.359 10 8.241 9.952 8.144 9.856C8.048 9.759 8 9.641 8 9.5C8 9.359 8.048 9.241 8.144 9.144C8.241 9.048 8.359 9 8.5 9L13.793 9L12.646 7.854C12.549 7.756 12.5 7.638 12.5 7.5C12.5 7.362 12.549 7.244 12.646 7.146C12.746 7.047 12.864 6.997 13 6.997C13.136 6.997 13.254 7.047 13.354 7.146L15.354 9.146ZM14.5 13C14.641 13 14.759 13.048 14.856 13.144C14.952 13.241 15 13.359 15 13.5C15 13.641 14.952 13.759 14.856 13.856C14.759 13.952 14.641 14 14.5 14L9.207 14L10.354 15.146C10.453 15.246 10.503 15.364 10.503 15.5C10.503 15.636 10.453 15.754 10.354 15.854C10.254 15.953 10.136 16.003 10 16.003C9.864 16.003 9.746 15.953 9.646 15.854L7.646 13.854C7.547 13.754 7.497 13.636 7.497 13.5C7.497 13.364 7.547 13.246 7.646 13.146L9.646 11.146C9.746 11.047 9.864 10.997 10 10.997C10.136 10.997 10.254 11.047 10.354 11.146C10.453 11.246 10.503 11.364 10.503 11.5C10.503 11.636 10.453 11.754 10.354 11.854L9.207 13L14.5 13Z"),
        fill = SolidColor(Color.Black),
    ).build()
}

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

### Android XML

```xml
<!-- res/drawable/ic_file_sync.xml · Gentleface "file-sync" (line-round), MIT. https://gentleface.com/icons/file-sync -->
<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="M3.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 1L7.5 1C7.886 1 8.258 1.074 8.615 1.222C8.972 1.37 9.287 1.58 9.561 1.854L12.146 4.439C12.428 4.721 12.642 5.046 12.79 5.415C12.843 5.545 12.842 5.673 12.789 5.799C12.735 5.924 12.643 6.012 12.513 6.065C12.384 6.116 12.257 6.115 12.13 6.061C12.093 6.045 12.058 6.024 12.025 6L10 6C9.746 6 9.5 5.953 9.264 5.86C9.007 5.758 8.781 5.609 8.586 5.414C8.391 5.219 8.242 4.993 8.14 4.736C8.047 4.5 8 4.254 8 4L8 2.066C7.838 2.022 7.671 2 7.5 2L5 2C4.724 2 4.488 2.098 4.293 2.293C4.098 2.488 4 2.724 4 3L4 13C4 13.276 4.098 13.512 4.293 13.707C4.488 13.902 4.724 14 5 14L5.5 14C5.641 14 5.759 14.048 5.856 14.144C5.952 14.241 6 14.359 6 14.5C6 14.641 5.952 14.759 5.856 14.856C5.759 14.952 5.641 15 5.5 15L5 15C4.746 15 4.5 14.953 4.264 14.86C4.007 14.758 3.781 14.609 3.586 14.414C3.391 14.219 3.242 13.993 3.14 13.736C3.047 13.5 3 13.254 3 13L3 3C3 2.746 3.047 2.5 3.14 2.264ZM9 2.707L9 4C9 4.276 9.098 4.512 9.293 4.707C9.488 4.902 9.724 5 10 5L11.293 5L9 2.707ZM15.354 9.146C15.453 9.246 15.503 9.364 15.503 9.5C15.503 9.636 15.453 9.754 15.354 9.854L13.354 11.854C13.254 11.953 13.136 12.003 13 12.003C12.864 12.003 12.746 11.953 12.646 11.854C12.547 11.754 12.497 11.636 12.497 11.5C12.497 11.364 12.547 11.246 12.646 11.146L13.793 10L8.5 10C8.359 10 8.241 9.952 8.144 9.856C8.048 9.759 8 9.641 8 9.5C8 9.359 8.048 9.241 8.144 9.144C8.241 9.048 8.359 9 8.5 9L13.793 9L12.646 7.854C12.549 7.756 12.5 7.638 12.5 7.5C12.5 7.362 12.549 7.244 12.646 7.146C12.746 7.047 12.864 6.997 13 6.997C13.136 6.997 13.254 7.047 13.354 7.146L15.354 9.146ZM14.5 13C14.641 13 14.759 13.048 14.856 13.144C14.952 13.241 15 13.359 15 13.5C15 13.641 14.952 13.759 14.856 13.856C14.759 13.952 14.641 14 14.5 14L9.207 14L10.354 15.146C10.453 15.246 10.503 15.364 10.503 15.5C10.503 15.636 10.453 15.754 10.354 15.854C10.254 15.953 10.136 16.003 10 16.003C9.864 16.003 9.746 15.953 9.646 15.854L7.646 13.854C7.547 13.754 7.497 13.636 7.497 13.5C7.497 13.364 7.547 13.246 7.646 13.146L9.646 11.146C9.746 11.047 9.864 10.997 10 10.997C10.136 10.997 10.254 11.047 10.354 11.146C10.453 11.246 10.503 11.364 10.503 11.5C10.503 11.636 10.453 11.754 10.354 11.854L9.207 13L14.5 13Z"/>
</vector>
```

### Flutter

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

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

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

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

  @override
  void paint(Canvas canvas, Size size) {
    canvas.scale(size.width / 16, size.height / 16);
    final p = Path()
      ..moveTo(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(7.5, 1)
      ..cubicTo(7.886, 1, 8.258, 1.074, 8.615, 1.222)
      ..cubicTo(8.972, 1.37, 9.287, 1.58, 9.561, 1.854)
      ..lineTo(12.146, 4.439)
      ..cubicTo(12.428, 4.721, 12.642, 5.046, 12.79, 5.415)
      ..cubicTo(12.843, 5.545, 12.842, 5.673, 12.789, 5.799)
      ..cubicTo(12.735, 5.924, 12.643, 6.012, 12.513, 6.065)
      ..cubicTo(12.384, 6.116, 12.257, 6.115, 12.13, 6.061)
      ..cubicTo(12.093, 6.045, 12.058, 6.024, 12.025, 6)
      ..lineTo(10, 6)
      ..cubicTo(9.746, 6, 9.5, 5.953, 9.264, 5.86)
      ..cubicTo(9.007, 5.758, 8.781, 5.609, 8.586, 5.414)
      ..cubicTo(8.391, 5.219, 8.242, 4.993, 8.14, 4.736)
      ..cubicTo(8.047, 4.5, 8, 4.254, 8, 4)
      ..lineTo(8, 2.066)
      ..cubicTo(7.838, 2.022, 7.671, 2, 7.5, 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)
      ..cubicTo(4, 13.276, 4.098, 13.512, 4.293, 13.707)
      ..cubicTo(4.488, 13.902, 4.724, 14, 5, 14)
      ..lineTo(5.5, 14)
      ..cubicTo(5.641, 14, 5.759, 14.048, 5.856, 14.144)
      ..cubicTo(5.952, 14.241, 6, 14.359, 6, 14.5)
      ..cubicTo(6, 14.641, 5.952, 14.759, 5.856, 14.856)
      ..cubicTo(5.759, 14.952, 5.641, 15, 5.5, 15)
      ..lineTo(5, 15)
      ..cubicTo(4.746, 15, 4.5, 14.953, 4.264, 14.86)
      ..cubicTo(4.007, 14.758, 3.781, 14.609, 3.586, 14.414)
      ..cubicTo(3.391, 14.219, 3.242, 13.993, 3.14, 13.736)
      ..cubicTo(3.047, 13.5, 3, 13.254, 3, 13)
      ..lineTo(3, 3)
      ..cubicTo(3, 2.746, 3.047, 2.5, 3.14, 2.264)
      ..close()
      ..moveTo(9, 2.707)
      ..lineTo(9, 4)
      ..cubicTo(9, 4.276, 9.098, 4.512, 9.293, 4.707)
      ..cubicTo(9.488, 4.902, 9.724, 5, 10, 5)
      ..lineTo(11.293, 5)
      ..lineTo(9, 2.707)
      ..close()
      ..moveTo(15.354, 9.146)
      ..cubicTo(15.453, 9.246, 15.503, 9.364, 15.503, 9.5)
      ..cubicTo(15.503, 9.636, 15.453, 9.754, 15.354, 9.854)
      ..lineTo(13.354, 11.854)
      ..cubicTo(13.254, 11.953, 13.136, 12.003, 13, 12.003)
      ..cubicTo(12.864, 12.003, 12.746, 11.953, 12.646, 11.854)
      ..cubicTo(12.547, 11.754, 12.497, 11.636, 12.497, 11.5)
      ..cubicTo(12.497, 11.364, 12.547, 11.246, 12.646, 11.146)
      ..lineTo(13.793, 10)
      ..lineTo(8.5, 10)
      ..cubicTo(8.359, 10, 8.241, 9.952, 8.144, 9.856)
      ..cubicTo(8.048, 9.759, 8, 9.641, 8, 9.5)
      ..cubicTo(8, 9.359, 8.048, 9.241, 8.144, 9.144)
      ..cubicTo(8.241, 9.048, 8.359, 9, 8.5, 9)
      ..lineTo(13.793, 9)
      ..lineTo(12.646, 7.854)
      ..cubicTo(12.549, 7.756, 12.5, 7.638, 12.5, 7.5)
      ..cubicTo(12.5, 7.362, 12.549, 7.244, 12.646, 7.146)
      ..cubicTo(12.746, 7.047, 12.864, 6.997, 13, 6.997)
      ..cubicTo(13.136, 6.997, 13.254, 7.047, 13.354, 7.146)
      ..lineTo(15.354, 9.146)
      ..close()
      ..moveTo(14.5, 13)
      ..cubicTo(14.641, 13, 14.759, 13.048, 14.856, 13.144)
      ..cubicTo(14.952, 13.241, 15, 13.359, 15, 13.5)
      ..cubicTo(15, 13.641, 14.952, 13.759, 14.856, 13.856)
      ..cubicTo(14.759, 13.952, 14.641, 14, 14.5, 14)
      ..lineTo(9.207, 14)
      ..lineTo(10.354, 15.146)
      ..cubicTo(10.453, 15.246, 10.503, 15.364, 10.503, 15.5)
      ..cubicTo(10.503, 15.636, 10.453, 15.754, 10.354, 15.854)
      ..cubicTo(10.254, 15.953, 10.136, 16.003, 10, 16.003)
      ..cubicTo(9.864, 16.003, 9.746, 15.953, 9.646, 15.854)
      ..lineTo(7.646, 13.854)
      ..cubicTo(7.547, 13.754, 7.497, 13.636, 7.497, 13.5)
      ..cubicTo(7.497, 13.364, 7.547, 13.246, 7.646, 13.146)
      ..lineTo(9.646, 11.146)
      ..cubicTo(9.746, 11.047, 9.864, 10.997, 10, 10.997)
      ..cubicTo(10.136, 10.997, 10.254, 11.047, 10.354, 11.146)
      ..cubicTo(10.453, 11.246, 10.503, 11.364, 10.503, 11.5)
      ..cubicTo(10.503, 11.636, 10.453, 11.754, 10.354, 11.854)
      ..lineTo(9.207, 13)
      ..lineTo(14.5, 13)
      ..close();
    canvas.drawPath(p, Paint()..color = color);
  }

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