# window-restore icon

Window restore. Gentleface icon, drawn on the 16 px pixel grid. Free, MIT licensed. Page: https://gentleface.com/icons/window-restore

- Category: Layout & interface
- Use it for: restore window, restore down
- Tags: window, restore, restore-down, unmaximize, title-bar, window-controls, app, ui, windowed, overlap
- Family: accordion, breadcrumb, breadcrumb-chevrons, browser, button, cards, carousel-horizontal, carousel-vertical, columns, columns-gear, dialog, dropdown-menu, form, kanban, layout, layout-dashboard, layout-dashboard-gear, layout-dashboard-pencil, layout-dashboard-plus, layout-dashboard-sparkle, likert-scale, maximize, minimize, pagination, panel-bottom, panel-top, picture-in-picture, picture-in-picture-exit, pin, progress-bar, rows, rows-grouped, sidebar, sidebar-collapse, sidebar-expand, sidebar-right, sidebar-right-collapse, sidebar-right-expand, slider, snackbar, stepper, table-arrow-down, table-arrow-up, table-gear, table-lock, table-search, table-sparkle, tabs, timeline, toggle, toggle-off, tooltip, user-interface, window, window-maximize, window-maximize-square, window-minimize, window-minimize-square
- Component name: WindowRestoreIcon
- Added: 2026-10-19

## Don't confuse with

- `copy`: two sheets mean copy; restore frames carry a title bar

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

The SVG of every style: https://gentleface.com/icons/window-restore.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="M13.736 2.14C13.993 2.242 14.219 2.391 14.414 2.586C14.609 2.781 14.758 3.007 14.86 3.264C14.953 3.5 15 3.746 15 4L15 12.5C15 12.641 14.952 12.759 14.856 12.856C14.759 12.952 14.641 13 14.5 13C14.359 13 14.241 12.952 14.144 12.856C14.048 12.759 14 12.641 14 12.5L14 4C14 3.724 13.902 3.488 13.707 3.293C13.512 3.098 13.276 3 13 3L3.5 3C3.359 3 3.241 2.952 3.144 2.856C3.048 2.759 3 2.641 3 2.5C3 2.359 3.048 2.241 3.144 2.144C3.241 2.048 3.359 2 3.5 2L13 2C13.254 2 13.5 2.047 13.736 2.14ZM12.86 12.736C12.758 12.993 12.609 13.219 12.414 13.414C12.219 13.609 11.993 13.758 11.736 13.86C11.5 13.953 11.254 14 11 14L3 14C2.746 14 2.5 13.953 2.264 13.86C2.007 13.758 1.781 13.609 1.586 13.414C1.391 13.219 1.242 12.993 1.14 12.736C1.047 12.5 1 12.254 1 12L1 6C1 5.746 1.047 5.5 1.14 5.264C1.242 5.007 1.391 4.781 1.586 4.586C1.781 4.391 2.007 4.242 2.264 4.14C2.5 4.047 2.746 4 3 4L11 4C11.254 4 11.5 4.047 11.736 4.14C11.993 4.242 12.219 4.391 12.414 4.586C12.609 4.781 12.758 5.007 12.86 5.264C12.953 5.5 13 5.746 13 6L13 12C13 12.254 12.953 12.5 12.86 12.736ZM12 7L12 6C12 5.724 11.902 5.488 11.707 5.293C11.512 5.098 11.276 5 11 5L3 5C2.724 5 2.488 5.098 2.293 5.293C2.098 5.488 2 5.724 2 6L2 7L12 7ZM2.293 12.707C2.488 12.902 2.724 13 3 13L11 13C11.276 13 11.512 12.902 11.707 12.707C11.902 12.512 12 12.276 12 12L12 8L2 8L2 12C2 12.276 2.098 12.512 2.293 12.707Z"/></svg>
```

### React

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

export function WindowRestoreIcon(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="M13.736 2.14C13.993 2.242 14.219 2.391 14.414 2.586C14.609 2.781 14.758 3.007 14.86 3.264C14.953 3.5 15 3.746 15 4L15 12.5C15 12.641 14.952 12.759 14.856 12.856C14.759 12.952 14.641 13 14.5 13C14.359 13 14.241 12.952 14.144 12.856C14.048 12.759 14 12.641 14 12.5L14 4C14 3.724 13.902 3.488 13.707 3.293C13.512 3.098 13.276 3 13 3L3.5 3C3.359 3 3.241 2.952 3.144 2.856C3.048 2.759 3 2.641 3 2.5C3 2.359 3.048 2.241 3.144 2.144C3.241 2.048 3.359 2 3.5 2L13 2C13.254 2 13.5 2.047 13.736 2.14ZM12.86 12.736C12.758 12.993 12.609 13.219 12.414 13.414C12.219 13.609 11.993 13.758 11.736 13.86C11.5 13.953 11.254 14 11 14L3 14C2.746 14 2.5 13.953 2.264 13.86C2.007 13.758 1.781 13.609 1.586 13.414C1.391 13.219 1.242 12.993 1.14 12.736C1.047 12.5 1 12.254 1 12L1 6C1 5.746 1.047 5.5 1.14 5.264C1.242 5.007 1.391 4.781 1.586 4.586C1.781 4.391 2.007 4.242 2.264 4.14C2.5 4.047 2.746 4 3 4L11 4C11.254 4 11.5 4.047 11.736 4.14C11.993 4.242 12.219 4.391 12.414 4.586C12.609 4.781 12.758 5.007 12.86 5.264C12.953 5.5 13 5.746 13 6L13 12C13 12.254 12.953 12.5 12.86 12.736ZM12 7L12 6C12 5.724 11.902 5.488 11.707 5.293C11.512 5.098 11.276 5 11 5L3 5C2.724 5 2.488 5.098 2.293 5.293C2.098 5.488 2 5.724 2 6L2 7L12 7ZM2.293 12.707C2.488 12.902 2.724 13 3 13L11 13C11.276 13 11.512 12.902 11.707 12.707C11.902 12.512 12 12.276 12 12L12 8L2 8L2 12C2 12.276 2.098 12.512 2.293 12.707Z" />
    </svg>
  );
}
```

### Vue

```vue
<!-- Gentleface "window-restore" (line-round), MIT. https://gentleface.com/icons/window-restore -->
<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="M13.736 2.14C13.993 2.242 14.219 2.391 14.414 2.586C14.609 2.781 14.758 3.007 14.86 3.264C14.953 3.5 15 3.746 15 4L15 12.5C15 12.641 14.952 12.759 14.856 12.856C14.759 12.952 14.641 13 14.5 13C14.359 13 14.241 12.952 14.144 12.856C14.048 12.759 14 12.641 14 12.5L14 4C14 3.724 13.902 3.488 13.707 3.293C13.512 3.098 13.276 3 13 3L3.5 3C3.359 3 3.241 2.952 3.144 2.856C3.048 2.759 3 2.641 3 2.5C3 2.359 3.048 2.241 3.144 2.144C3.241 2.048 3.359 2 3.5 2L13 2C13.254 2 13.5 2.047 13.736 2.14ZM12.86 12.736C12.758 12.993 12.609 13.219 12.414 13.414C12.219 13.609 11.993 13.758 11.736 13.86C11.5 13.953 11.254 14 11 14L3 14C2.746 14 2.5 13.953 2.264 13.86C2.007 13.758 1.781 13.609 1.586 13.414C1.391 13.219 1.242 12.993 1.14 12.736C1.047 12.5 1 12.254 1 12L1 6C1 5.746 1.047 5.5 1.14 5.264C1.242 5.007 1.391 4.781 1.586 4.586C1.781 4.391 2.007 4.242 2.264 4.14C2.5 4.047 2.746 4 3 4L11 4C11.254 4 11.5 4.047 11.736 4.14C11.993 4.242 12.219 4.391 12.414 4.586C12.609 4.781 12.758 5.007 12.86 5.264C12.953 5.5 13 5.746 13 6L13 12C13 12.254 12.953 12.5 12.86 12.736ZM12 7L12 6C12 5.724 11.902 5.488 11.707 5.293C11.512 5.098 11.276 5 11 5L3 5C2.724 5 2.488 5.098 2.293 5.293C2.098 5.488 2 5.724 2 6L2 7L12 7ZM2.293 12.707C2.488 12.902 2.724 13 3 13L11 13C11.276 13 11.512 12.902 11.707 12.707C11.902 12.512 12 12.276 12 12L12 8L2 8L2 12C2 12.276 2.098 12.512 2.293 12.707Z" />
  </svg>
</template>
```

### Svelte

```svelte
<!-- Gentleface "window-restore" (line-round), MIT. https://gentleface.com/icons/window-restore -->
<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="M13.736 2.14C13.993 2.242 14.219 2.391 14.414 2.586C14.609 2.781 14.758 3.007 14.86 3.264C14.953 3.5 15 3.746 15 4L15 12.5C15 12.641 14.952 12.759 14.856 12.856C14.759 12.952 14.641 13 14.5 13C14.359 13 14.241 12.952 14.144 12.856C14.048 12.759 14 12.641 14 12.5L14 4C14 3.724 13.902 3.488 13.707 3.293C13.512 3.098 13.276 3 13 3L3.5 3C3.359 3 3.241 2.952 3.144 2.856C3.048 2.759 3 2.641 3 2.5C3 2.359 3.048 2.241 3.144 2.144C3.241 2.048 3.359 2 3.5 2L13 2C13.254 2 13.5 2.047 13.736 2.14ZM12.86 12.736C12.758 12.993 12.609 13.219 12.414 13.414C12.219 13.609 11.993 13.758 11.736 13.86C11.5 13.953 11.254 14 11 14L3 14C2.746 14 2.5 13.953 2.264 13.86C2.007 13.758 1.781 13.609 1.586 13.414C1.391 13.219 1.242 12.993 1.14 12.736C1.047 12.5 1 12.254 1 12L1 6C1 5.746 1.047 5.5 1.14 5.264C1.242 5.007 1.391 4.781 1.586 4.586C1.781 4.391 2.007 4.242 2.264 4.14C2.5 4.047 2.746 4 3 4L11 4C11.254 4 11.5 4.047 11.736 4.14C11.993 4.242 12.219 4.391 12.414 4.586C12.609 4.781 12.758 5.007 12.86 5.264C12.953 5.5 13 5.746 13 6L13 12C13 12.254 12.953 12.5 12.86 12.736ZM12 7L12 6C12 5.724 11.902 5.488 11.707 5.293C11.512 5.098 11.276 5 11 5L3 5C2.724 5 2.488 5.098 2.293 5.293C2.098 5.488 2 5.724 2 6L2 7L12 7ZM2.293 12.707C2.488 12.902 2.724 13 3 13L11 13C11.276 13 11.512 12.902 11.707 12.707C11.902 12.512 12 12.276 12 12L12 8L2 8L2 12C2 12.276 2.098 12.512 2.293 12.707Z" />
</svg>
```

### HTML img

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

### CSS

```css
/* Gentleface "window-restore" (line-round), MIT. https://gentleface.com/icons/window-restore. Takes the text color. */
.icon-window-restore {
  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='M13.736 2.14C13.993 2.242 14.219 2.391 14.414 2.586C14.609 2.781 14.758 3.007 14.86 3.264C14.953 3.5 15 3.746 15 4L15 12.5C15 12.641 14.952 12.759 14.856 12.856C14.759 12.952 14.641 13 14.5 13C14.359 13 14.241 12.952 14.144 12.856C14.048 12.759 14 12.641 14 12.5L14 4C14 3.724 13.902 3.488 13.707 3.293C13.512 3.098 13.276 3 13 3L3.5 3C3.359 3 3.241 2.952 3.144 2.856C3.048 2.759 3 2.641 3 2.5C3 2.359 3.048 2.241 3.144 2.144C3.241 2.048 3.359 2 3.5 2L13 2C13.254 2 13.5 2.047 13.736 2.14ZM12.86 12.736C12.758 12.993 12.609 13.219 12.414 13.414C12.219 13.609 11.993 13.758 11.736 13.86C11.5 13.953 11.254 14 11 14L3 14C2.746 14 2.5 13.953 2.264 13.86C2.007 13.758 1.781 13.609 1.586 13.414C1.391 13.219 1.242 12.993 1.14 12.736C1.047 12.5 1 12.254 1 12L1 6C1 5.746 1.047 5.5 1.14 5.264C1.242 5.007 1.391 4.781 1.586 4.586C1.781 4.391 2.007 4.242 2.264 4.14C2.5 4.047 2.746 4 3 4L11 4C11.254 4 11.5 4.047 11.736 4.14C11.993 4.242 12.219 4.391 12.414 4.586C12.609 4.781 12.758 5.007 12.86 5.264C12.953 5.5 13 5.746 13 6L13 12C13 12.254 12.953 12.5 12.86 12.736ZM12 7L12 6C12 5.724 11.902 5.488 11.707 5.293C11.512 5.098 11.276 5 11 5L3 5C2.724 5 2.488 5.098 2.293 5.293C2.098 5.488 2 5.724 2 6L2 7L12 7ZM2.293 12.707C2.488 12.902 2.724 13 3 13L11 13C11.276 13 11.512 12.902 11.707 12.707C11.902 12.512 12 12.276 12 12L12 8L2 8L2 12C2 12.276 2.098 12.512 2.293 12.707Z'/%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='M13.736 2.14C13.993 2.242 14.219 2.391 14.414 2.586C14.609 2.781 14.758 3.007 14.86 3.264C14.953 3.5 15 3.746 15 4L15 12.5C15 12.641 14.952 12.759 14.856 12.856C14.759 12.952 14.641 13 14.5 13C14.359 13 14.241 12.952 14.144 12.856C14.048 12.759 14 12.641 14 12.5L14 4C14 3.724 13.902 3.488 13.707 3.293C13.512 3.098 13.276 3 13 3L3.5 3C3.359 3 3.241 2.952 3.144 2.856C3.048 2.759 3 2.641 3 2.5C3 2.359 3.048 2.241 3.144 2.144C3.241 2.048 3.359 2 3.5 2L13 2C13.254 2 13.5 2.047 13.736 2.14ZM12.86 12.736C12.758 12.993 12.609 13.219 12.414 13.414C12.219 13.609 11.993 13.758 11.736 13.86C11.5 13.953 11.254 14 11 14L3 14C2.746 14 2.5 13.953 2.264 13.86C2.007 13.758 1.781 13.609 1.586 13.414C1.391 13.219 1.242 12.993 1.14 12.736C1.047 12.5 1 12.254 1 12L1 6C1 5.746 1.047 5.5 1.14 5.264C1.242 5.007 1.391 4.781 1.586 4.586C1.781 4.391 2.007 4.242 2.264 4.14C2.5 4.047 2.746 4 3 4L11 4C11.254 4 11.5 4.047 11.736 4.14C11.993 4.242 12.219 4.391 12.414 4.586C12.609 4.781 12.758 5.007 12.86 5.264C12.953 5.5 13 5.746 13 6L13 12C13 12.254 12.953 12.5 12.86 12.736ZM12 7L12 6C12 5.724 11.902 5.488 11.707 5.293C11.512 5.098 11.276 5 11 5L3 5C2.724 5 2.488 5.098 2.293 5.293C2.098 5.488 2 5.724 2 6L2 7L12 7ZM2.293 12.707C2.488 12.902 2.724 13 3 13L11 13C11.276 13 11.512 12.902 11.707 12.707C11.902 12.512 12 12.276 12 12L12 8L2 8L2 12C2 12.276 2.098 12.512 2.293 12.707Z'/%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='M13.736 2.14C13.993 2.242 14.219 2.391 14.414 2.586C14.609 2.781 14.758 3.007 14.86 3.264C14.953 3.5 15 3.746 15 4L15 12.5C15 12.641 14.952 12.759 14.856 12.856C14.759 12.952 14.641 13 14.5 13C14.359 13 14.241 12.952 14.144 12.856C14.048 12.759 14 12.641 14 12.5L14 4C14 3.724 13.902 3.488 13.707 3.293C13.512 3.098 13.276 3 13 3L3.5 3C3.359 3 3.241 2.952 3.144 2.856C3.048 2.759 3 2.641 3 2.5C3 2.359 3.048 2.241 3.144 2.144C3.241 2.048 3.359 2 3.5 2L13 2C13.254 2 13.5 2.047 13.736 2.14ZM12.86 12.736C12.758 12.993 12.609 13.219 12.414 13.414C12.219 13.609 11.993 13.758 11.736 13.86C11.5 13.953 11.254 14 11 14L3 14C2.746 14 2.5 13.953 2.264 13.86C2.007 13.758 1.781 13.609 1.586 13.414C1.391 13.219 1.242 12.993 1.14 12.736C1.047 12.5 1 12.254 1 12L1 6C1 5.746 1.047 5.5 1.14 5.264C1.242 5.007 1.391 4.781 1.586 4.586C1.781 4.391 2.007 4.242 2.264 4.14C2.5 4.047 2.746 4 3 4L11 4C11.254 4 11.5 4.047 11.736 4.14C11.993 4.242 12.219 4.391 12.414 4.586C12.609 4.781 12.758 5.007 12.86 5.264C12.953 5.5 13 5.746 13 6L13 12C13 12.254 12.953 12.5 12.86 12.736ZM12 7L12 6C12 5.724 11.902 5.488 11.707 5.293C11.512 5.098 11.276 5 11 5L3 5C2.724 5 2.488 5.098 2.293 5.293C2.098 5.488 2 5.724 2 6L2 7L12 7ZM2.293 12.707C2.488 12.902 2.724 13 3 13L11 13C11.276 13 11.512 12.902 11.707 12.707C11.902 12.512 12 12.276 12 12L12 8L2 8L2 12C2 12.276 2.098 12.512 2.293 12.707Z'/%3E%3C/svg%3E
```

### Sprite

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

### SwiftUI

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

struct WindowRestoreIcon: Shape {
    func path(in rect: CGRect) -> Path {
        var p = Path()
        p.move(to: CGPoint(x: 13.736, y: 2.14))
        p.addCurve(to: CGPoint(x: 14.414, y: 2.586), control1: CGPoint(x: 13.993, y: 2.242), control2: CGPoint(x: 14.219, y: 2.391))
        p.addCurve(to: CGPoint(x: 14.86, y: 3.264), control1: CGPoint(x: 14.609, y: 2.781), control2: CGPoint(x: 14.758, y: 3.007))
        p.addCurve(to: CGPoint(x: 15, y: 4), control1: CGPoint(x: 14.953, y: 3.5), control2: CGPoint(x: 15, y: 3.746))
        p.addLine(to: CGPoint(x: 15, y: 12.5))
        p.addCurve(to: CGPoint(x: 14.856, y: 12.856), control1: CGPoint(x: 15, y: 12.641), control2: CGPoint(x: 14.952, y: 12.759))
        p.addCurve(to: CGPoint(x: 14.5, y: 13), control1: CGPoint(x: 14.759, y: 12.952), control2: CGPoint(x: 14.641, y: 13))
        p.addCurve(to: CGPoint(x: 14.144, y: 12.856), control1: CGPoint(x: 14.359, y: 13), control2: CGPoint(x: 14.241, y: 12.952))
        p.addCurve(to: CGPoint(x: 14, y: 12.5), control1: CGPoint(x: 14.048, y: 12.759), control2: CGPoint(x: 14, y: 12.641))
        p.addLine(to: CGPoint(x: 14, y: 4))
        p.addCurve(to: CGPoint(x: 13.707, y: 3.293), control1: CGPoint(x: 14, y: 3.724), control2: CGPoint(x: 13.902, y: 3.488))
        p.addCurve(to: CGPoint(x: 13, y: 3), control1: CGPoint(x: 13.512, y: 3.098), control2: CGPoint(x: 13.276, y: 3))
        p.addLine(to: CGPoint(x: 3.5, y: 3))
        p.addCurve(to: CGPoint(x: 3.144, y: 2.856), control1: CGPoint(x: 3.359, y: 3), control2: CGPoint(x: 3.241, y: 2.952))
        p.addCurve(to: CGPoint(x: 3, y: 2.5), control1: CGPoint(x: 3.048, y: 2.759), control2: CGPoint(x: 3, y: 2.641))
        p.addCurve(to: CGPoint(x: 3.144, y: 2.144), control1: CGPoint(x: 3, y: 2.359), control2: CGPoint(x: 3.048, y: 2.241))
        p.addCurve(to: CGPoint(x: 3.5, y: 2), control1: CGPoint(x: 3.241, y: 2.048), control2: CGPoint(x: 3.359, y: 2))
        p.addLine(to: CGPoint(x: 13, y: 2))
        p.addCurve(to: CGPoint(x: 13.736, y: 2.14), control1: CGPoint(x: 13.254, y: 2), control2: CGPoint(x: 13.5, y: 2.047))
        p.closeSubpath()
        p.move(to: CGPoint(x: 12.86, y: 12.736))
        p.addCurve(to: CGPoint(x: 12.414, y: 13.414), control1: CGPoint(x: 12.758, y: 12.993), control2: CGPoint(x: 12.609, y: 13.219))
        p.addCurve(to: CGPoint(x: 11.736, y: 13.86), control1: CGPoint(x: 12.219, y: 13.609), control2: CGPoint(x: 11.993, y: 13.758))
        p.addCurve(to: CGPoint(x: 11, y: 14), control1: CGPoint(x: 11.5, y: 13.953), control2: CGPoint(x: 11.254, y: 14))
        p.addLine(to: CGPoint(x: 3, y: 14))
        p.addCurve(to: CGPoint(x: 2.264, y: 13.86), control1: CGPoint(x: 2.746, y: 14), control2: CGPoint(x: 2.5, y: 13.953))
        p.addCurve(to: CGPoint(x: 1.586, y: 13.414), control1: CGPoint(x: 2.007, y: 13.758), control2: CGPoint(x: 1.781, y: 13.609))
        p.addCurve(to: CGPoint(x: 1.14, y: 12.736), control1: CGPoint(x: 1.391, y: 13.219), control2: CGPoint(x: 1.242, y: 12.993))
        p.addCurve(to: CGPoint(x: 1, y: 12), control1: CGPoint(x: 1.047, y: 12.5), control2: CGPoint(x: 1, y: 12.254))
        p.addLine(to: CGPoint(x: 1, y: 6))
        p.addCurve(to: CGPoint(x: 1.14, y: 5.264), control1: CGPoint(x: 1, y: 5.746), control2: CGPoint(x: 1.047, y: 5.5))
        p.addCurve(to: CGPoint(x: 1.586, y: 4.586), control1: CGPoint(x: 1.242, y: 5.007), control2: CGPoint(x: 1.391, y: 4.781))
        p.addCurve(to: CGPoint(x: 2.264, y: 4.14), control1: CGPoint(x: 1.781, y: 4.391), control2: CGPoint(x: 2.007, y: 4.242))
        p.addCurve(to: CGPoint(x: 3, y: 4), control1: CGPoint(x: 2.5, y: 4.047), control2: CGPoint(x: 2.746, y: 4))
        p.addLine(to: CGPoint(x: 11, y: 4))
        p.addCurve(to: CGPoint(x: 11.736, y: 4.14), control1: CGPoint(x: 11.254, y: 4), control2: CGPoint(x: 11.5, y: 4.047))
        p.addCurve(to: CGPoint(x: 12.414, y: 4.586), control1: CGPoint(x: 11.993, y: 4.242), control2: CGPoint(x: 12.219, y: 4.391))
        p.addCurve(to: CGPoint(x: 12.86, y: 5.264), control1: CGPoint(x: 12.609, y: 4.781), control2: CGPoint(x: 12.758, y: 5.007))
        p.addCurve(to: CGPoint(x: 13, y: 6), control1: CGPoint(x: 12.953, y: 5.5), control2: CGPoint(x: 13, y: 5.746))
        p.addLine(to: CGPoint(x: 13, y: 12))
        p.addCurve(to: CGPoint(x: 12.86, y: 12.736), control1: CGPoint(x: 13, y: 12.254), control2: CGPoint(x: 12.953, y: 12.5))
        p.closeSubpath()
        p.move(to: CGPoint(x: 12, y: 7))
        p.addLine(to: CGPoint(x: 12, y: 6))
        p.addCurve(to: CGPoint(x: 11.707, y: 5.293), control1: CGPoint(x: 12, y: 5.724), control2: CGPoint(x: 11.902, y: 5.488))
        p.addCurve(to: CGPoint(x: 11, y: 5), control1: CGPoint(x: 11.512, y: 5.098), control2: CGPoint(x: 11.276, y: 5))
        p.addLine(to: CGPoint(x: 3, y: 5))
        p.addCurve(to: CGPoint(x: 2.293, y: 5.293), control1: CGPoint(x: 2.724, y: 5), control2: CGPoint(x: 2.488, y: 5.098))
        p.addCurve(to: CGPoint(x: 2, y: 6), control1: CGPoint(x: 2.098, y: 5.488), control2: CGPoint(x: 2, y: 5.724))
        p.addLine(to: CGPoint(x: 2, y: 7))
        p.addLine(to: CGPoint(x: 12, y: 7))
        p.closeSubpath()
        p.move(to: CGPoint(x: 2.293, y: 12.707))
        p.addCurve(to: CGPoint(x: 3, y: 13), control1: CGPoint(x: 2.488, y: 12.902), control2: CGPoint(x: 2.724, y: 13))
        p.addLine(to: CGPoint(x: 11, y: 13))
        p.addCurve(to: CGPoint(x: 11.707, y: 12.707), control1: CGPoint(x: 11.276, y: 13), control2: CGPoint(x: 11.512, y: 12.902))
        p.addCurve(to: CGPoint(x: 12, y: 12), control1: CGPoint(x: 11.902, y: 12.512), control2: CGPoint(x: 12, y: 12.276))
        p.addLine(to: CGPoint(x: 12, y: 8))
        p.addLine(to: CGPoint(x: 2, y: 8))
        p.addLine(to: CGPoint(x: 2, y: 12))
        p.addCurve(to: CGPoint(x: 2.293, y: 12.707), control1: CGPoint(x: 2, y: 12.276), control2: CGPoint(x: 2.098, y: 12.512))
        p.closeSubpath()
        return p.applying(CGAffineTransform(scaleX: rect.width / 16, y: rect.height / 16))
    }
}

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

### Compose

```kotlin
// Gentleface "window-restore" (line-round), MIT. https://gentleface.com/icons/window-restore
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 WindowRestoreIcon: ImageVector by lazy {
    ImageVector.Builder(
        name = "window-restore", defaultWidth = 16.dp, defaultHeight = 16.dp,
        viewportWidth = 16f, viewportHeight = 16f,
    ).addPath(
        pathData = addPathNodes("M13.736 2.14C13.993 2.242 14.219 2.391 14.414 2.586C14.609 2.781 14.758 3.007 14.86 3.264C14.953 3.5 15 3.746 15 4L15 12.5C15 12.641 14.952 12.759 14.856 12.856C14.759 12.952 14.641 13 14.5 13C14.359 13 14.241 12.952 14.144 12.856C14.048 12.759 14 12.641 14 12.5L14 4C14 3.724 13.902 3.488 13.707 3.293C13.512 3.098 13.276 3 13 3L3.5 3C3.359 3 3.241 2.952 3.144 2.856C3.048 2.759 3 2.641 3 2.5C3 2.359 3.048 2.241 3.144 2.144C3.241 2.048 3.359 2 3.5 2L13 2C13.254 2 13.5 2.047 13.736 2.14ZM12.86 12.736C12.758 12.993 12.609 13.219 12.414 13.414C12.219 13.609 11.993 13.758 11.736 13.86C11.5 13.953 11.254 14 11 14L3 14C2.746 14 2.5 13.953 2.264 13.86C2.007 13.758 1.781 13.609 1.586 13.414C1.391 13.219 1.242 12.993 1.14 12.736C1.047 12.5 1 12.254 1 12L1 6C1 5.746 1.047 5.5 1.14 5.264C1.242 5.007 1.391 4.781 1.586 4.586C1.781 4.391 2.007 4.242 2.264 4.14C2.5 4.047 2.746 4 3 4L11 4C11.254 4 11.5 4.047 11.736 4.14C11.993 4.242 12.219 4.391 12.414 4.586C12.609 4.781 12.758 5.007 12.86 5.264C12.953 5.5 13 5.746 13 6L13 12C13 12.254 12.953 12.5 12.86 12.736ZM12 7L12 6C12 5.724 11.902 5.488 11.707 5.293C11.512 5.098 11.276 5 11 5L3 5C2.724 5 2.488 5.098 2.293 5.293C2.098 5.488 2 5.724 2 6L2 7L12 7ZM2.293 12.707C2.488 12.902 2.724 13 3 13L11 13C11.276 13 11.512 12.902 11.707 12.707C11.902 12.512 12 12.276 12 12L12 8L2 8L2 12C2 12.276 2.098 12.512 2.293 12.707Z"),
        fill = SolidColor(Color.Black),
    ).build()
}

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

### Android XML

```xml
<!-- res/drawable/ic_window_restore.xml · Gentleface "window-restore" (line-round), MIT. https://gentleface.com/icons/window-restore -->
<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="M13.736 2.14C13.993 2.242 14.219 2.391 14.414 2.586C14.609 2.781 14.758 3.007 14.86 3.264C14.953 3.5 15 3.746 15 4L15 12.5C15 12.641 14.952 12.759 14.856 12.856C14.759 12.952 14.641 13 14.5 13C14.359 13 14.241 12.952 14.144 12.856C14.048 12.759 14 12.641 14 12.5L14 4C14 3.724 13.902 3.488 13.707 3.293C13.512 3.098 13.276 3 13 3L3.5 3C3.359 3 3.241 2.952 3.144 2.856C3.048 2.759 3 2.641 3 2.5C3 2.359 3.048 2.241 3.144 2.144C3.241 2.048 3.359 2 3.5 2L13 2C13.254 2 13.5 2.047 13.736 2.14ZM12.86 12.736C12.758 12.993 12.609 13.219 12.414 13.414C12.219 13.609 11.993 13.758 11.736 13.86C11.5 13.953 11.254 14 11 14L3 14C2.746 14 2.5 13.953 2.264 13.86C2.007 13.758 1.781 13.609 1.586 13.414C1.391 13.219 1.242 12.993 1.14 12.736C1.047 12.5 1 12.254 1 12L1 6C1 5.746 1.047 5.5 1.14 5.264C1.242 5.007 1.391 4.781 1.586 4.586C1.781 4.391 2.007 4.242 2.264 4.14C2.5 4.047 2.746 4 3 4L11 4C11.254 4 11.5 4.047 11.736 4.14C11.993 4.242 12.219 4.391 12.414 4.586C12.609 4.781 12.758 5.007 12.86 5.264C12.953 5.5 13 5.746 13 6L13 12C13 12.254 12.953 12.5 12.86 12.736ZM12 7L12 6C12 5.724 11.902 5.488 11.707 5.293C11.512 5.098 11.276 5 11 5L3 5C2.724 5 2.488 5.098 2.293 5.293C2.098 5.488 2 5.724 2 6L2 7L12 7ZM2.293 12.707C2.488 12.902 2.724 13 3 13L11 13C11.276 13 11.512 12.902 11.707 12.707C11.902 12.512 12 12.276 12 12L12 8L2 8L2 12C2 12.276 2.098 12.512 2.293 12.707Z"/>
</vector>
```

### Flutter

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

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

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

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

  @override
  void paint(Canvas canvas, Size size) {
    canvas.scale(size.width / 16, size.height / 16);
    final p = Path()
      ..moveTo(13.736, 2.14)
      ..cubicTo(13.993, 2.242, 14.219, 2.391, 14.414, 2.586)
      ..cubicTo(14.609, 2.781, 14.758, 3.007, 14.86, 3.264)
      ..cubicTo(14.953, 3.5, 15, 3.746, 15, 4)
      ..lineTo(15, 12.5)
      ..cubicTo(15, 12.641, 14.952, 12.759, 14.856, 12.856)
      ..cubicTo(14.759, 12.952, 14.641, 13, 14.5, 13)
      ..cubicTo(14.359, 13, 14.241, 12.952, 14.144, 12.856)
      ..cubicTo(14.048, 12.759, 14, 12.641, 14, 12.5)
      ..lineTo(14, 4)
      ..cubicTo(14, 3.724, 13.902, 3.488, 13.707, 3.293)
      ..cubicTo(13.512, 3.098, 13.276, 3, 13, 3)
      ..lineTo(3.5, 3)
      ..cubicTo(3.359, 3, 3.241, 2.952, 3.144, 2.856)
      ..cubicTo(3.048, 2.759, 3, 2.641, 3, 2.5)
      ..cubicTo(3, 2.359, 3.048, 2.241, 3.144, 2.144)
      ..cubicTo(3.241, 2.048, 3.359, 2, 3.5, 2)
      ..lineTo(13, 2)
      ..cubicTo(13.254, 2, 13.5, 2.047, 13.736, 2.14)
      ..close()
      ..moveTo(12.86, 12.736)
      ..cubicTo(12.758, 12.993, 12.609, 13.219, 12.414, 13.414)
      ..cubicTo(12.219, 13.609, 11.993, 13.758, 11.736, 13.86)
      ..cubicTo(11.5, 13.953, 11.254, 14, 11, 14)
      ..lineTo(3, 14)
      ..cubicTo(2.746, 14, 2.5, 13.953, 2.264, 13.86)
      ..cubicTo(2.007, 13.758, 1.781, 13.609, 1.586, 13.414)
      ..cubicTo(1.391, 13.219, 1.242, 12.993, 1.14, 12.736)
      ..cubicTo(1.047, 12.5, 1, 12.254, 1, 12)
      ..lineTo(1, 6)
      ..cubicTo(1, 5.746, 1.047, 5.5, 1.14, 5.264)
      ..cubicTo(1.242, 5.007, 1.391, 4.781, 1.586, 4.586)
      ..cubicTo(1.781, 4.391, 2.007, 4.242, 2.264, 4.14)
      ..cubicTo(2.5, 4.047, 2.746, 4, 3, 4)
      ..lineTo(11, 4)
      ..cubicTo(11.254, 4, 11.5, 4.047, 11.736, 4.14)
      ..cubicTo(11.993, 4.242, 12.219, 4.391, 12.414, 4.586)
      ..cubicTo(12.609, 4.781, 12.758, 5.007, 12.86, 5.264)
      ..cubicTo(12.953, 5.5, 13, 5.746, 13, 6)
      ..lineTo(13, 12)
      ..cubicTo(13, 12.254, 12.953, 12.5, 12.86, 12.736)
      ..close()
      ..moveTo(12, 7)
      ..lineTo(12, 6)
      ..cubicTo(12, 5.724, 11.902, 5.488, 11.707, 5.293)
      ..cubicTo(11.512, 5.098, 11.276, 5, 11, 5)
      ..lineTo(3, 5)
      ..cubicTo(2.724, 5, 2.488, 5.098, 2.293, 5.293)
      ..cubicTo(2.098, 5.488, 2, 5.724, 2, 6)
      ..lineTo(2, 7)
      ..lineTo(12, 7)
      ..close()
      ..moveTo(2.293, 12.707)
      ..cubicTo(2.488, 12.902, 2.724, 13, 3, 13)
      ..lineTo(11, 13)
      ..cubicTo(11.276, 13, 11.512, 12.902, 11.707, 12.707)
      ..cubicTo(11.902, 12.512, 12, 12.276, 12, 12)
      ..lineTo(12, 8)
      ..lineTo(2, 8)
      ..lineTo(2, 12)
      ..cubicTo(2, 12.276, 2.098, 12.512, 2.293, 12.707)
      ..close();
    canvas.drawPath(p, Paint()..color = color);
  }

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