# layout-dashboard icon

Layout dashboard. Gentleface icon, drawn on the 16 px pixel grid. Free, MIT licensed. Page: https://gentleface.com/icons/layout-dashboard

- Category: Layout & interface
- Use it for: dashboard, layout dashboard, widgets, overview, widget
- Tags: dashboard, layout, widgets, tiles, panels, overview, home
- Family: browser, cards, columns, columns-gear, kanban, layout, layout-dashboard-gear, layout-dashboard-pencil, layout-dashboard-plus, layout-dashboard-sparkle, maximize, minimize, panel-bottom, picture-in-picture, picture-in-picture-exit, pin, rows, sidebar, sidebar-collapse, sidebar-expand, sidebar-right, table-arrow-down, table-arrow-up, table-gear, table-lock, table-search, table-sparkle, tabs, timeline, toggle, toggle-off, window
- Component name: LayoutDashboardIcon
- Added: 2026-10-14

## Alternatives

- `gauge`: a performance or speed dashboard, where the speedometer is conventional (speedometer)
- `grid`: a grid view of content (grid-view)
- `layout-dashboard-plus`: add a widget to a dashboard (add-widget)

## Don't confuse with

- `apps`: apps is the app launcher (apps)

## Also fits

- home: a dashboard as the start screen
- analytics: a dashboard of widgets (dashboard)
- grid view: a dashboard of widgets (dashboard)
- layout: a dashboard of widgets (dashboard)

## Not for

- treemap (use `treemap`): equal tiles mean a dashboard

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

The SVG of every style: https://gentleface.com/icons/layout-dashboard.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.707 2.293C6.902 2.488 7 2.724 7 3L7 7C7 7.276 6.902 7.512 6.707 7.707C6.512 7.902 6.276 8 6 8L3 8C2.724 8 2.488 7.902 2.293 7.707C2.098 7.512 2 7.276 2 7L2 3C2 2.724 2.098 2.488 2.293 2.293C2.488 2.098 2.724 2 3 2L6 2C6.276 2 6.512 2.098 6.707 2.293ZM9.144 2.144C9.241 2.048 9.359 2 9.5 2L13.5 2C13.641 2 13.759 2.048 13.856 2.144C13.952 2.241 14 2.359 14 2.5L14 5.5C14 5.641 13.952 5.759 13.856 5.856C13.759 5.952 13.641 6 13.5 6L9.5 6C9.359 6 9.241 5.952 9.144 5.856C9.048 5.759 9 5.641 9 5.5L9 2.5C9 2.359 9.048 2.241 9.144 2.144ZM3 7L6 7L6 3L3 3L3 7ZM13 5L13 3L10 3L10 5L13 5ZM13 14L10 14C9.724 14 9.488 13.902 9.293 13.707C9.098 13.512 9 13.276 9 13L9 9C9 8.724 9.098 8.488 9.293 8.293C9.488 8.098 9.724 8 10 8L13 8C13.276 8 13.512 8.098 13.707 8.293C13.902 8.488 14 8.724 14 9L14 13C14 13.276 13.902 13.512 13.707 13.707C13.512 13.902 13.276 14 13 14ZM10 9L10 13L13 13L13 9L10 9ZM6.856 10.144C6.952 10.241 7 10.359 7 10.5L7 13.5C7 13.641 6.952 13.759 6.856 13.856C6.759 13.952 6.641 14 6.5 14L2.5 14C2.359 14 2.241 13.952 2.144 13.856C2.048 13.759 2 13.641 2 13.5L2 10.5C2 10.359 2.048 10.241 2.144 10.144C2.241 10.048 2.359 10 2.5 10L6.5 10C6.641 10 6.759 10.048 6.856 10.144ZM6 11L3 11L3 13L6 13L6 11Z"/></svg>
```

### React

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

export function LayoutDashboardIcon(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.707 2.293C6.902 2.488 7 2.724 7 3L7 7C7 7.276 6.902 7.512 6.707 7.707C6.512 7.902 6.276 8 6 8L3 8C2.724 8 2.488 7.902 2.293 7.707C2.098 7.512 2 7.276 2 7L2 3C2 2.724 2.098 2.488 2.293 2.293C2.488 2.098 2.724 2 3 2L6 2C6.276 2 6.512 2.098 6.707 2.293ZM9.144 2.144C9.241 2.048 9.359 2 9.5 2L13.5 2C13.641 2 13.759 2.048 13.856 2.144C13.952 2.241 14 2.359 14 2.5L14 5.5C14 5.641 13.952 5.759 13.856 5.856C13.759 5.952 13.641 6 13.5 6L9.5 6C9.359 6 9.241 5.952 9.144 5.856C9.048 5.759 9 5.641 9 5.5L9 2.5C9 2.359 9.048 2.241 9.144 2.144ZM3 7L6 7L6 3L3 3L3 7ZM13 5L13 3L10 3L10 5L13 5ZM13 14L10 14C9.724 14 9.488 13.902 9.293 13.707C9.098 13.512 9 13.276 9 13L9 9C9 8.724 9.098 8.488 9.293 8.293C9.488 8.098 9.724 8 10 8L13 8C13.276 8 13.512 8.098 13.707 8.293C13.902 8.488 14 8.724 14 9L14 13C14 13.276 13.902 13.512 13.707 13.707C13.512 13.902 13.276 14 13 14ZM10 9L10 13L13 13L13 9L10 9ZM6.856 10.144C6.952 10.241 7 10.359 7 10.5L7 13.5C7 13.641 6.952 13.759 6.856 13.856C6.759 13.952 6.641 14 6.5 14L2.5 14C2.359 14 2.241 13.952 2.144 13.856C2.048 13.759 2 13.641 2 13.5L2 10.5C2 10.359 2.048 10.241 2.144 10.144C2.241 10.048 2.359 10 2.5 10L6.5 10C6.641 10 6.759 10.048 6.856 10.144ZM6 11L3 11L3 13L6 13L6 11Z" />
    </svg>
  );
}
```

### Vue

```vue
<!-- Gentleface "layout-dashboard" (line-round), MIT. https://gentleface.com/icons/layout-dashboard -->
<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.707 2.293C6.902 2.488 7 2.724 7 3L7 7C7 7.276 6.902 7.512 6.707 7.707C6.512 7.902 6.276 8 6 8L3 8C2.724 8 2.488 7.902 2.293 7.707C2.098 7.512 2 7.276 2 7L2 3C2 2.724 2.098 2.488 2.293 2.293C2.488 2.098 2.724 2 3 2L6 2C6.276 2 6.512 2.098 6.707 2.293ZM9.144 2.144C9.241 2.048 9.359 2 9.5 2L13.5 2C13.641 2 13.759 2.048 13.856 2.144C13.952 2.241 14 2.359 14 2.5L14 5.5C14 5.641 13.952 5.759 13.856 5.856C13.759 5.952 13.641 6 13.5 6L9.5 6C9.359 6 9.241 5.952 9.144 5.856C9.048 5.759 9 5.641 9 5.5L9 2.5C9 2.359 9.048 2.241 9.144 2.144ZM3 7L6 7L6 3L3 3L3 7ZM13 5L13 3L10 3L10 5L13 5ZM13 14L10 14C9.724 14 9.488 13.902 9.293 13.707C9.098 13.512 9 13.276 9 13L9 9C9 8.724 9.098 8.488 9.293 8.293C9.488 8.098 9.724 8 10 8L13 8C13.276 8 13.512 8.098 13.707 8.293C13.902 8.488 14 8.724 14 9L14 13C14 13.276 13.902 13.512 13.707 13.707C13.512 13.902 13.276 14 13 14ZM10 9L10 13L13 13L13 9L10 9ZM6.856 10.144C6.952 10.241 7 10.359 7 10.5L7 13.5C7 13.641 6.952 13.759 6.856 13.856C6.759 13.952 6.641 14 6.5 14L2.5 14C2.359 14 2.241 13.952 2.144 13.856C2.048 13.759 2 13.641 2 13.5L2 10.5C2 10.359 2.048 10.241 2.144 10.144C2.241 10.048 2.359 10 2.5 10L6.5 10C6.641 10 6.759 10.048 6.856 10.144ZM6 11L3 11L3 13L6 13L6 11Z" />
  </svg>
</template>
```

### Svelte

```svelte
<!-- Gentleface "layout-dashboard" (line-round), MIT. https://gentleface.com/icons/layout-dashboard -->
<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.707 2.293C6.902 2.488 7 2.724 7 3L7 7C7 7.276 6.902 7.512 6.707 7.707C6.512 7.902 6.276 8 6 8L3 8C2.724 8 2.488 7.902 2.293 7.707C2.098 7.512 2 7.276 2 7L2 3C2 2.724 2.098 2.488 2.293 2.293C2.488 2.098 2.724 2 3 2L6 2C6.276 2 6.512 2.098 6.707 2.293ZM9.144 2.144C9.241 2.048 9.359 2 9.5 2L13.5 2C13.641 2 13.759 2.048 13.856 2.144C13.952 2.241 14 2.359 14 2.5L14 5.5C14 5.641 13.952 5.759 13.856 5.856C13.759 5.952 13.641 6 13.5 6L9.5 6C9.359 6 9.241 5.952 9.144 5.856C9.048 5.759 9 5.641 9 5.5L9 2.5C9 2.359 9.048 2.241 9.144 2.144ZM3 7L6 7L6 3L3 3L3 7ZM13 5L13 3L10 3L10 5L13 5ZM13 14L10 14C9.724 14 9.488 13.902 9.293 13.707C9.098 13.512 9 13.276 9 13L9 9C9 8.724 9.098 8.488 9.293 8.293C9.488 8.098 9.724 8 10 8L13 8C13.276 8 13.512 8.098 13.707 8.293C13.902 8.488 14 8.724 14 9L14 13C14 13.276 13.902 13.512 13.707 13.707C13.512 13.902 13.276 14 13 14ZM10 9L10 13L13 13L13 9L10 9ZM6.856 10.144C6.952 10.241 7 10.359 7 10.5L7 13.5C7 13.641 6.952 13.759 6.856 13.856C6.759 13.952 6.641 14 6.5 14L2.5 14C2.359 14 2.241 13.952 2.144 13.856C2.048 13.759 2 13.641 2 13.5L2 10.5C2 10.359 2.048 10.241 2.144 10.144C2.241 10.048 2.359 10 2.5 10L6.5 10C6.641 10 6.759 10.048 6.856 10.144ZM6 11L3 11L3 13L6 13L6 11Z" />
</svg>
```

### HTML img

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

### CSS

```css
/* Gentleface "layout-dashboard" (line-round), MIT. https://gentleface.com/icons/layout-dashboard. Takes the text color. */
.icon-layout-dashboard {
  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.707 2.293C6.902 2.488 7 2.724 7 3L7 7C7 7.276 6.902 7.512 6.707 7.707C6.512 7.902 6.276 8 6 8L3 8C2.724 8 2.488 7.902 2.293 7.707C2.098 7.512 2 7.276 2 7L2 3C2 2.724 2.098 2.488 2.293 2.293C2.488 2.098 2.724 2 3 2L6 2C6.276 2 6.512 2.098 6.707 2.293ZM9.144 2.144C9.241 2.048 9.359 2 9.5 2L13.5 2C13.641 2 13.759 2.048 13.856 2.144C13.952 2.241 14 2.359 14 2.5L14 5.5C14 5.641 13.952 5.759 13.856 5.856C13.759 5.952 13.641 6 13.5 6L9.5 6C9.359 6 9.241 5.952 9.144 5.856C9.048 5.759 9 5.641 9 5.5L9 2.5C9 2.359 9.048 2.241 9.144 2.144ZM3 7L6 7L6 3L3 3L3 7ZM13 5L13 3L10 3L10 5L13 5ZM13 14L10 14C9.724 14 9.488 13.902 9.293 13.707C9.098 13.512 9 13.276 9 13L9 9C9 8.724 9.098 8.488 9.293 8.293C9.488 8.098 9.724 8 10 8L13 8C13.276 8 13.512 8.098 13.707 8.293C13.902 8.488 14 8.724 14 9L14 13C14 13.276 13.902 13.512 13.707 13.707C13.512 13.902 13.276 14 13 14ZM10 9L10 13L13 13L13 9L10 9ZM6.856 10.144C6.952 10.241 7 10.359 7 10.5L7 13.5C7 13.641 6.952 13.759 6.856 13.856C6.759 13.952 6.641 14 6.5 14L2.5 14C2.359 14 2.241 13.952 2.144 13.856C2.048 13.759 2 13.641 2 13.5L2 10.5C2 10.359 2.048 10.241 2.144 10.144C2.241 10.048 2.359 10 2.5 10L6.5 10C6.641 10 6.759 10.048 6.856 10.144ZM6 11L3 11L3 13L6 13L6 11Z'/%3E%3C/svg%3E") center / 16px 16px no-repeat;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16' fill='currentColor'%3E%3Cpath d='M6.707 2.293C6.902 2.488 7 2.724 7 3L7 7C7 7.276 6.902 7.512 6.707 7.707C6.512 7.902 6.276 8 6 8L3 8C2.724 8 2.488 7.902 2.293 7.707C2.098 7.512 2 7.276 2 7L2 3C2 2.724 2.098 2.488 2.293 2.293C2.488 2.098 2.724 2 3 2L6 2C6.276 2 6.512 2.098 6.707 2.293ZM9.144 2.144C9.241 2.048 9.359 2 9.5 2L13.5 2C13.641 2 13.759 2.048 13.856 2.144C13.952 2.241 14 2.359 14 2.5L14 5.5C14 5.641 13.952 5.759 13.856 5.856C13.759 5.952 13.641 6 13.5 6L9.5 6C9.359 6 9.241 5.952 9.144 5.856C9.048 5.759 9 5.641 9 5.5L9 2.5C9 2.359 9.048 2.241 9.144 2.144ZM3 7L6 7L6 3L3 3L3 7ZM13 5L13 3L10 3L10 5L13 5ZM13 14L10 14C9.724 14 9.488 13.902 9.293 13.707C9.098 13.512 9 13.276 9 13L9 9C9 8.724 9.098 8.488 9.293 8.293C9.488 8.098 9.724 8 10 8L13 8C13.276 8 13.512 8.098 13.707 8.293C13.902 8.488 14 8.724 14 9L14 13C14 13.276 13.902 13.512 13.707 13.707C13.512 13.902 13.276 14 13 14ZM10 9L10 13L13 13L13 9L10 9ZM6.856 10.144C6.952 10.241 7 10.359 7 10.5L7 13.5C7 13.641 6.952 13.759 6.856 13.856C6.759 13.952 6.641 14 6.5 14L2.5 14C2.359 14 2.241 13.952 2.144 13.856C2.048 13.759 2 13.641 2 13.5L2 10.5C2 10.359 2.048 10.241 2.144 10.144C2.241 10.048 2.359 10 2.5 10L6.5 10C6.641 10 6.759 10.048 6.856 10.144ZM6 11L3 11L3 13L6 13L6 11Z'/%3E%3C/svg%3E") center / 16px 16px no-repeat;
}
```

### Data URL

```text
data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16' fill='currentColor'%3E%3Cpath d='M6.707 2.293C6.902 2.488 7 2.724 7 3L7 7C7 7.276 6.902 7.512 6.707 7.707C6.512 7.902 6.276 8 6 8L3 8C2.724 8 2.488 7.902 2.293 7.707C2.098 7.512 2 7.276 2 7L2 3C2 2.724 2.098 2.488 2.293 2.293C2.488 2.098 2.724 2 3 2L6 2C6.276 2 6.512 2.098 6.707 2.293ZM9.144 2.144C9.241 2.048 9.359 2 9.5 2L13.5 2C13.641 2 13.759 2.048 13.856 2.144C13.952 2.241 14 2.359 14 2.5L14 5.5C14 5.641 13.952 5.759 13.856 5.856C13.759 5.952 13.641 6 13.5 6L9.5 6C9.359 6 9.241 5.952 9.144 5.856C9.048 5.759 9 5.641 9 5.5L9 2.5C9 2.359 9.048 2.241 9.144 2.144ZM3 7L6 7L6 3L3 3L3 7ZM13 5L13 3L10 3L10 5L13 5ZM13 14L10 14C9.724 14 9.488 13.902 9.293 13.707C9.098 13.512 9 13.276 9 13L9 9C9 8.724 9.098 8.488 9.293 8.293C9.488 8.098 9.724 8 10 8L13 8C13.276 8 13.512 8.098 13.707 8.293C13.902 8.488 14 8.724 14 9L14 13C14 13.276 13.902 13.512 13.707 13.707C13.512 13.902 13.276 14 13 14ZM10 9L10 13L13 13L13 9L10 9ZM6.856 10.144C6.952 10.241 7 10.359 7 10.5L7 13.5C7 13.641 6.952 13.759 6.856 13.856C6.759 13.952 6.641 14 6.5 14L2.5 14C2.359 14 2.241 13.952 2.144 13.856C2.048 13.759 2 13.641 2 13.5L2 10.5C2 10.359 2.048 10.241 2.144 10.144C2.241 10.048 2.359 10 2.5 10L6.5 10C6.641 10 6.759 10.048 6.856 10.144ZM6 11L3 11L3 13L6 13L6 11Z'/%3E%3C/svg%3E
```

### Sprite

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

### SwiftUI

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

struct LayoutDashboardIcon: Shape {
    func path(in rect: CGRect) -> Path {
        var p = Path()
        p.move(to: CGPoint(x: 6.707, y: 2.293))
        p.addCurve(to: CGPoint(x: 7, y: 3), control1: CGPoint(x: 6.902, y: 2.488), control2: CGPoint(x: 7, y: 2.724))
        p.addLine(to: CGPoint(x: 7, y: 7))
        p.addCurve(to: CGPoint(x: 6.707, y: 7.707), control1: CGPoint(x: 7, y: 7.276), control2: CGPoint(x: 6.902, y: 7.512))
        p.addCurve(to: CGPoint(x: 6, y: 8), control1: CGPoint(x: 6.512, y: 7.902), control2: CGPoint(x: 6.276, y: 8))
        p.addLine(to: CGPoint(x: 3, y: 8))
        p.addCurve(to: CGPoint(x: 2.293, y: 7.707), control1: CGPoint(x: 2.724, y: 8), control2: CGPoint(x: 2.488, y: 7.902))
        p.addCurve(to: CGPoint(x: 2, y: 7), control1: CGPoint(x: 2.098, y: 7.512), control2: CGPoint(x: 2, y: 7.276))
        p.addLine(to: CGPoint(x: 2, y: 3))
        p.addCurve(to: CGPoint(x: 2.293, y: 2.293), control1: CGPoint(x: 2, y: 2.724), control2: CGPoint(x: 2.098, y: 2.488))
        p.addCurve(to: CGPoint(x: 3, y: 2), control1: CGPoint(x: 2.488, y: 2.098), control2: CGPoint(x: 2.724, y: 2))
        p.addLine(to: CGPoint(x: 6, y: 2))
        p.addCurve(to: CGPoint(x: 6.707, y: 2.293), control1: CGPoint(x: 6.276, y: 2), control2: CGPoint(x: 6.512, y: 2.098))
        p.closeSubpath()
        p.move(to: CGPoint(x: 9.144, y: 2.144))
        p.addCurve(to: CGPoint(x: 9.5, y: 2), control1: CGPoint(x: 9.241, y: 2.048), control2: CGPoint(x: 9.359, y: 2))
        p.addLine(to: CGPoint(x: 13.5, y: 2))
        p.addCurve(to: CGPoint(x: 13.856, y: 2.144), control1: CGPoint(x: 13.641, y: 2), control2: CGPoint(x: 13.759, y: 2.048))
        p.addCurve(to: CGPoint(x: 14, y: 2.5), control1: CGPoint(x: 13.952, y: 2.241), control2: CGPoint(x: 14, y: 2.359))
        p.addLine(to: CGPoint(x: 14, y: 5.5))
        p.addCurve(to: CGPoint(x: 13.856, y: 5.856), control1: CGPoint(x: 14, y: 5.641), control2: CGPoint(x: 13.952, y: 5.759))
        p.addCurve(to: CGPoint(x: 13.5, y: 6), control1: CGPoint(x: 13.759, y: 5.952), control2: CGPoint(x: 13.641, y: 6))
        p.addLine(to: CGPoint(x: 9.5, y: 6))
        p.addCurve(to: CGPoint(x: 9.144, y: 5.856), control1: CGPoint(x: 9.359, y: 6), control2: CGPoint(x: 9.241, y: 5.952))
        p.addCurve(to: CGPoint(x: 9, y: 5.5), control1: CGPoint(x: 9.048, y: 5.759), control2: CGPoint(x: 9, y: 5.641))
        p.addLine(to: CGPoint(x: 9, y: 2.5))
        p.addCurve(to: CGPoint(x: 9.144, y: 2.144), control1: CGPoint(x: 9, y: 2.359), control2: CGPoint(x: 9.048, y: 2.241))
        p.closeSubpath()
        p.move(to: CGPoint(x: 3, y: 7))
        p.addLine(to: CGPoint(x: 6, y: 7))
        p.addLine(to: CGPoint(x: 6, y: 3))
        p.addLine(to: CGPoint(x: 3, y: 3))
        p.addLine(to: CGPoint(x: 3, y: 7))
        p.closeSubpath()
        p.move(to: CGPoint(x: 13, y: 5))
        p.addLine(to: CGPoint(x: 13, y: 3))
        p.addLine(to: CGPoint(x: 10, y: 3))
        p.addLine(to: CGPoint(x: 10, y: 5))
        p.addLine(to: CGPoint(x: 13, y: 5))
        p.closeSubpath()
        p.move(to: CGPoint(x: 13, y: 14))
        p.addLine(to: CGPoint(x: 10, y: 14))
        p.addCurve(to: CGPoint(x: 9.293, y: 13.707), control1: CGPoint(x: 9.724, y: 14), control2: CGPoint(x: 9.488, y: 13.902))
        p.addCurve(to: CGPoint(x: 9, y: 13), control1: CGPoint(x: 9.098, y: 13.512), control2: CGPoint(x: 9, y: 13.276))
        p.addLine(to: CGPoint(x: 9, y: 9))
        p.addCurve(to: CGPoint(x: 9.293, y: 8.293), control1: CGPoint(x: 9, y: 8.724), control2: CGPoint(x: 9.098, y: 8.488))
        p.addCurve(to: CGPoint(x: 10, y: 8), control1: CGPoint(x: 9.488, y: 8.098), control2: CGPoint(x: 9.724, y: 8))
        p.addLine(to: CGPoint(x: 13, y: 8))
        p.addCurve(to: CGPoint(x: 13.707, y: 8.293), control1: CGPoint(x: 13.276, y: 8), control2: CGPoint(x: 13.512, y: 8.098))
        p.addCurve(to: CGPoint(x: 14, y: 9), control1: CGPoint(x: 13.902, y: 8.488), control2: CGPoint(x: 14, y: 8.724))
        p.addLine(to: CGPoint(x: 14, y: 13))
        p.addCurve(to: CGPoint(x: 13.707, y: 13.707), control1: CGPoint(x: 14, y: 13.276), control2: CGPoint(x: 13.902, y: 13.512))
        p.addCurve(to: CGPoint(x: 13, y: 14), control1: CGPoint(x: 13.512, y: 13.902), control2: CGPoint(x: 13.276, y: 14))
        p.closeSubpath()
        p.move(to: CGPoint(x: 10, y: 9))
        p.addLine(to: CGPoint(x: 10, y: 13))
        p.addLine(to: CGPoint(x: 13, y: 13))
        p.addLine(to: CGPoint(x: 13, y: 9))
        p.addLine(to: CGPoint(x: 10, y: 9))
        p.closeSubpath()
        p.move(to: CGPoint(x: 6.856, y: 10.144))
        p.addCurve(to: CGPoint(x: 7, y: 10.5), control1: CGPoint(x: 6.952, y: 10.241), control2: CGPoint(x: 7, y: 10.359))
        p.addLine(to: CGPoint(x: 7, y: 13.5))
        p.addCurve(to: CGPoint(x: 6.856, y: 13.856), control1: CGPoint(x: 7, y: 13.641), control2: CGPoint(x: 6.952, y: 13.759))
        p.addCurve(to: CGPoint(x: 6.5, y: 14), control1: CGPoint(x: 6.759, y: 13.952), control2: CGPoint(x: 6.641, y: 14))
        p.addLine(to: CGPoint(x: 2.5, y: 14))
        p.addCurve(to: CGPoint(x: 2.144, y: 13.856), control1: CGPoint(x: 2.359, y: 14), control2: CGPoint(x: 2.241, y: 13.952))
        p.addCurve(to: CGPoint(x: 2, y: 13.5), control1: CGPoint(x: 2.048, y: 13.759), control2: CGPoint(x: 2, y: 13.641))
        p.addLine(to: CGPoint(x: 2, y: 10.5))
        p.addCurve(to: CGPoint(x: 2.144, y: 10.144), control1: CGPoint(x: 2, y: 10.359), control2: CGPoint(x: 2.048, y: 10.241))
        p.addCurve(to: CGPoint(x: 2.5, y: 10), control1: CGPoint(x: 2.241, y: 10.048), control2: CGPoint(x: 2.359, y: 10))
        p.addLine(to: CGPoint(x: 6.5, y: 10))
        p.addCurve(to: CGPoint(x: 6.856, y: 10.144), control1: CGPoint(x: 6.641, y: 10), control2: CGPoint(x: 6.759, y: 10.048))
        p.closeSubpath()
        p.move(to: CGPoint(x: 6, y: 11))
        p.addLine(to: CGPoint(x: 3, y: 11))
        p.addLine(to: CGPoint(x: 3, y: 13))
        p.addLine(to: CGPoint(x: 6, y: 13))
        p.addLine(to: CGPoint(x: 6, y: 11))
        p.closeSubpath()
        return p.applying(CGAffineTransform(scaleX: rect.width / 16, y: rect.height / 16))
    }
}

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

### Compose

```kotlin
// Gentleface "layout-dashboard" (line-round), MIT. https://gentleface.com/icons/layout-dashboard
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 LayoutDashboardIcon: ImageVector by lazy {
    ImageVector.Builder(
        name = "layout-dashboard", defaultWidth = 16.dp, defaultHeight = 16.dp,
        viewportWidth = 16f, viewportHeight = 16f,
    ).addPath(
        pathData = addPathNodes("M6.707 2.293C6.902 2.488 7 2.724 7 3L7 7C7 7.276 6.902 7.512 6.707 7.707C6.512 7.902 6.276 8 6 8L3 8C2.724 8 2.488 7.902 2.293 7.707C2.098 7.512 2 7.276 2 7L2 3C2 2.724 2.098 2.488 2.293 2.293C2.488 2.098 2.724 2 3 2L6 2C6.276 2 6.512 2.098 6.707 2.293ZM9.144 2.144C9.241 2.048 9.359 2 9.5 2L13.5 2C13.641 2 13.759 2.048 13.856 2.144C13.952 2.241 14 2.359 14 2.5L14 5.5C14 5.641 13.952 5.759 13.856 5.856C13.759 5.952 13.641 6 13.5 6L9.5 6C9.359 6 9.241 5.952 9.144 5.856C9.048 5.759 9 5.641 9 5.5L9 2.5C9 2.359 9.048 2.241 9.144 2.144ZM3 7L6 7L6 3L3 3L3 7ZM13 5L13 3L10 3L10 5L13 5ZM13 14L10 14C9.724 14 9.488 13.902 9.293 13.707C9.098 13.512 9 13.276 9 13L9 9C9 8.724 9.098 8.488 9.293 8.293C9.488 8.098 9.724 8 10 8L13 8C13.276 8 13.512 8.098 13.707 8.293C13.902 8.488 14 8.724 14 9L14 13C14 13.276 13.902 13.512 13.707 13.707C13.512 13.902 13.276 14 13 14ZM10 9L10 13L13 13L13 9L10 9ZM6.856 10.144C6.952 10.241 7 10.359 7 10.5L7 13.5C7 13.641 6.952 13.759 6.856 13.856C6.759 13.952 6.641 14 6.5 14L2.5 14C2.359 14 2.241 13.952 2.144 13.856C2.048 13.759 2 13.641 2 13.5L2 10.5C2 10.359 2.048 10.241 2.144 10.144C2.241 10.048 2.359 10 2.5 10L6.5 10C6.641 10 6.759 10.048 6.856 10.144ZM6 11L3 11L3 13L6 13L6 11Z"),
        fill = SolidColor(Color.Black),
    ).build()
}

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

### Android XML

```xml
<!-- res/drawable/ic_layout_dashboard.xml · Gentleface "layout-dashboard" (line-round), MIT. https://gentleface.com/icons/layout-dashboard -->
<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.707 2.293C6.902 2.488 7 2.724 7 3L7 7C7 7.276 6.902 7.512 6.707 7.707C6.512 7.902 6.276 8 6 8L3 8C2.724 8 2.488 7.902 2.293 7.707C2.098 7.512 2 7.276 2 7L2 3C2 2.724 2.098 2.488 2.293 2.293C2.488 2.098 2.724 2 3 2L6 2C6.276 2 6.512 2.098 6.707 2.293ZM9.144 2.144C9.241 2.048 9.359 2 9.5 2L13.5 2C13.641 2 13.759 2.048 13.856 2.144C13.952 2.241 14 2.359 14 2.5L14 5.5C14 5.641 13.952 5.759 13.856 5.856C13.759 5.952 13.641 6 13.5 6L9.5 6C9.359 6 9.241 5.952 9.144 5.856C9.048 5.759 9 5.641 9 5.5L9 2.5C9 2.359 9.048 2.241 9.144 2.144ZM3 7L6 7L6 3L3 3L3 7ZM13 5L13 3L10 3L10 5L13 5ZM13 14L10 14C9.724 14 9.488 13.902 9.293 13.707C9.098 13.512 9 13.276 9 13L9 9C9 8.724 9.098 8.488 9.293 8.293C9.488 8.098 9.724 8 10 8L13 8C13.276 8 13.512 8.098 13.707 8.293C13.902 8.488 14 8.724 14 9L14 13C14 13.276 13.902 13.512 13.707 13.707C13.512 13.902 13.276 14 13 14ZM10 9L10 13L13 13L13 9L10 9ZM6.856 10.144C6.952 10.241 7 10.359 7 10.5L7 13.5C7 13.641 6.952 13.759 6.856 13.856C6.759 13.952 6.641 14 6.5 14L2.5 14C2.359 14 2.241 13.952 2.144 13.856C2.048 13.759 2 13.641 2 13.5L2 10.5C2 10.359 2.048 10.241 2.144 10.144C2.241 10.048 2.359 10 2.5 10L6.5 10C6.641 10 6.759 10.048 6.856 10.144ZM6 11L3 11L3 13L6 13L6 11Z"/>
</vector>
```

### Flutter

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

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

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

class _LayoutDashboardIconPainter extends CustomPainter {
  _LayoutDashboardIconPainter(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.707, 2.293)
      ..cubicTo(6.902, 2.488, 7, 2.724, 7, 3)
      ..lineTo(7, 7)
      ..cubicTo(7, 7.276, 6.902, 7.512, 6.707, 7.707)
      ..cubicTo(6.512, 7.902, 6.276, 8, 6, 8)
      ..lineTo(3, 8)
      ..cubicTo(2.724, 8, 2.488, 7.902, 2.293, 7.707)
      ..cubicTo(2.098, 7.512, 2, 7.276, 2, 7)
      ..lineTo(2, 3)
      ..cubicTo(2, 2.724, 2.098, 2.488, 2.293, 2.293)
      ..cubicTo(2.488, 2.098, 2.724, 2, 3, 2)
      ..lineTo(6, 2)
      ..cubicTo(6.276, 2, 6.512, 2.098, 6.707, 2.293)
      ..close()
      ..moveTo(9.144, 2.144)
      ..cubicTo(9.241, 2.048, 9.359, 2, 9.5, 2)
      ..lineTo(13.5, 2)
      ..cubicTo(13.641, 2, 13.759, 2.048, 13.856, 2.144)
      ..cubicTo(13.952, 2.241, 14, 2.359, 14, 2.5)
      ..lineTo(14, 5.5)
      ..cubicTo(14, 5.641, 13.952, 5.759, 13.856, 5.856)
      ..cubicTo(13.759, 5.952, 13.641, 6, 13.5, 6)
      ..lineTo(9.5, 6)
      ..cubicTo(9.359, 6, 9.241, 5.952, 9.144, 5.856)
      ..cubicTo(9.048, 5.759, 9, 5.641, 9, 5.5)
      ..lineTo(9, 2.5)
      ..cubicTo(9, 2.359, 9.048, 2.241, 9.144, 2.144)
      ..close()
      ..moveTo(3, 7)
      ..lineTo(6, 7)
      ..lineTo(6, 3)
      ..lineTo(3, 3)
      ..lineTo(3, 7)
      ..close()
      ..moveTo(13, 5)
      ..lineTo(13, 3)
      ..lineTo(10, 3)
      ..lineTo(10, 5)
      ..lineTo(13, 5)
      ..close()
      ..moveTo(13, 14)
      ..lineTo(10, 14)
      ..cubicTo(9.724, 14, 9.488, 13.902, 9.293, 13.707)
      ..cubicTo(9.098, 13.512, 9, 13.276, 9, 13)
      ..lineTo(9, 9)
      ..cubicTo(9, 8.724, 9.098, 8.488, 9.293, 8.293)
      ..cubicTo(9.488, 8.098, 9.724, 8, 10, 8)
      ..lineTo(13, 8)
      ..cubicTo(13.276, 8, 13.512, 8.098, 13.707, 8.293)
      ..cubicTo(13.902, 8.488, 14, 8.724, 14, 9)
      ..lineTo(14, 13)
      ..cubicTo(14, 13.276, 13.902, 13.512, 13.707, 13.707)
      ..cubicTo(13.512, 13.902, 13.276, 14, 13, 14)
      ..close()
      ..moveTo(10, 9)
      ..lineTo(10, 13)
      ..lineTo(13, 13)
      ..lineTo(13, 9)
      ..lineTo(10, 9)
      ..close()
      ..moveTo(6.856, 10.144)
      ..cubicTo(6.952, 10.241, 7, 10.359, 7, 10.5)
      ..lineTo(7, 13.5)
      ..cubicTo(7, 13.641, 6.952, 13.759, 6.856, 13.856)
      ..cubicTo(6.759, 13.952, 6.641, 14, 6.5, 14)
      ..lineTo(2.5, 14)
      ..cubicTo(2.359, 14, 2.241, 13.952, 2.144, 13.856)
      ..cubicTo(2.048, 13.759, 2, 13.641, 2, 13.5)
      ..lineTo(2, 10.5)
      ..cubicTo(2, 10.359, 2.048, 10.241, 2.144, 10.144)
      ..cubicTo(2.241, 10.048, 2.359, 10, 2.5, 10)
      ..lineTo(6.5, 10)
      ..cubicTo(6.641, 10, 6.759, 10.048, 6.856, 10.144)
      ..close()
      ..moveTo(6, 11)
      ..lineTo(3, 11)
      ..lineTo(3, 13)
      ..lineTo(6, 13)
      ..lineTo(6, 11)
      ..close();
    canvas.drawPath(p, Paint()..color = color);
  }

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