# table-split icon

Table split. Gentleface icon, drawn on the 16 px pixel grid. Free, MIT licensed. Page: https://gentleface.com/icons/table-split

- Category: Text & formatting
- Use it for: split table, split table in two
- Example: Split one table into two
- Tags: split table, split table in two, divide table, cut table, break table, separate table, table, spreadsheet, split, dashed
- Family: table, table-cells-merge, table-cells-split, table-check, table-column-insert-left, table-column-insert-right, table-column-x, table-columns-split, table-eye, table-link, table-pencil, table-pivot, table-plus, table-row-x, table-swap, table-unlock, table-wide, table-x
- Component name: TableSplitIcon
- Added: 2026-11-06
- Since: version 0.4.0
- npm: `import { TableSplitIcon } from '@gentleface/react';` (@gentleface/react 0.6.0)

## Files

Each icon is drawn on the 16 px grid, and most also on the 20 and 24 px grids (at 24 in three weights: light 1 px, regular 1.5 px, bold 2 px). Show the drawing made for your size, or an exact multiple of it, on whole pixels: 16 for 16 and 32 px, 20 for 20 and 40, 24 for 24 and 48. A size in between or a fractional position blurs it. The code on each icon page is the 16 px drawing, an SVG with fill="currentColor"; the icon page's downloads follow its Grid switch, and npm has the 20 and 24 px drawings too.

- line-round: https://gentleface.com/svg/line-round/16/table-split.svg · PNG https://gentleface.com/png/line-round/16/table-split.png · https://gentleface.com/png/line-round/32/table-split.png · https://gentleface.com/png/line-round/48/table-split.png
- line-soft: https://gentleface.com/svg/line-soft/16/table-split.svg · PNG https://gentleface.com/png/line-soft/16/table-split.png · https://gentleface.com/png/line-soft/32/table-split.png · https://gentleface.com/png/line-soft/48/table-split.png
- line-sharp: https://gentleface.com/svg/line-sharp/16/table-split.svg · PNG https://gentleface.com/png/line-sharp/16/table-split.png · https://gentleface.com/png/line-sharp/32/table-split.png · https://gentleface.com/png/line-sharp/48/table-split.png
- solid-round: https://gentleface.com/svg/solid-round/16/table-split.svg · PNG https://gentleface.com/png/solid-round/16/table-split.png · https://gentleface.com/png/solid-round/32/table-split.png · https://gentleface.com/png/solid-round/48/table-split.png
- solid-soft: https://gentleface.com/svg/solid-soft/16/table-split.svg · PNG https://gentleface.com/png/solid-soft/16/table-split.png · https://gentleface.com/png/solid-soft/32/table-split.png · https://gentleface.com/png/solid-soft/48/table-split.png
- solid-sharp: https://gentleface.com/svg/solid-sharp/16/table-split.svg · PNG https://gentleface.com/png/solid-sharp/16/table-split.png · https://gentleface.com/png/solid-sharp/32/table-split.png · https://gentleface.com/png/solid-sharp/48/table-split.png

The SVG of every style: https://gentleface.com/icons/table-split.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="M10 1L10 3L9 3L9 1L10 1ZM8 14L1.5 14C1.359 14 1.241 13.952 1.144 13.856C1.048 13.759 1 13.641 1 13.5C1 13.359 1.048 13.241 1.144 13.144C1.241 13.048 1.359 13 1.5 13L3 13L3 10L1.5 10C1.359 10 1.241 9.952 1.144 9.856C1.048 9.759 1 9.641 1 9.5C1 9.359 1.048 9.241 1.144 9.144C1.241 9.048 1.359 9 1.5 9L3 9L3 6L1.5 6C1.359 6 1.241 5.952 1.144 5.856C1.048 5.759 1 5.641 1 5.5C1 5.359 1.048 5.241 1.144 5.144C1.241 5.048 1.359 5 1.5 5L3 5L3 3L1.5 3C1.359 3 1.241 2.952 1.144 2.856C1.048 2.759 1 2.641 1 2.5C1 2.359 1.048 2.241 1.144 2.144C1.241 2.048 1.359 2 1.5 2L8 2L8 14ZM14.856 5.144C14.952 5.241 15 5.359 15 5.5C15 5.641 14.952 5.759 14.856 5.856C14.759 5.952 14.641 6 14.5 6L12 6L12 9L14.5 9C14.641 9 14.759 9.048 14.856 9.144C14.952 9.241 15 9.359 15 9.5C15 9.641 14.952 9.759 14.856 9.856C14.759 9.952 14.641 10 14.5 10L12 10L12 13L14.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 14L11 14L11 2L14.5 2C14.641 2 14.759 2.048 14.856 2.144C14.952 2.241 15 2.359 15 2.5C15 2.641 14.952 2.759 14.856 2.856C14.759 2.952 14.641 3 14.5 3L12 3L12 5L14.5 5C14.641 5 14.759 5.048 14.856 5.144ZM4 3L4 5L7 5L7 3L4 3ZM10 4L10 6L9 6L9 4L10 4ZM7 9L7 6L4 6L4 9L7 9ZM9 9L9 7L10 7L10 9L9 9ZM7 10L4 10L4 13L7 13L7 10ZM10 10L10 12L9 12L9 10L10 10ZM10 13L10 15L9 15L9 13L10 13Z"/></svg>
```

### React

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

export function TableSplitIcon(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="M10 1L10 3L9 3L9 1L10 1ZM8 14L1.5 14C1.359 14 1.241 13.952 1.144 13.856C1.048 13.759 1 13.641 1 13.5C1 13.359 1.048 13.241 1.144 13.144C1.241 13.048 1.359 13 1.5 13L3 13L3 10L1.5 10C1.359 10 1.241 9.952 1.144 9.856C1.048 9.759 1 9.641 1 9.5C1 9.359 1.048 9.241 1.144 9.144C1.241 9.048 1.359 9 1.5 9L3 9L3 6L1.5 6C1.359 6 1.241 5.952 1.144 5.856C1.048 5.759 1 5.641 1 5.5C1 5.359 1.048 5.241 1.144 5.144C1.241 5.048 1.359 5 1.5 5L3 5L3 3L1.5 3C1.359 3 1.241 2.952 1.144 2.856C1.048 2.759 1 2.641 1 2.5C1 2.359 1.048 2.241 1.144 2.144C1.241 2.048 1.359 2 1.5 2L8 2L8 14ZM14.856 5.144C14.952 5.241 15 5.359 15 5.5C15 5.641 14.952 5.759 14.856 5.856C14.759 5.952 14.641 6 14.5 6L12 6L12 9L14.5 9C14.641 9 14.759 9.048 14.856 9.144C14.952 9.241 15 9.359 15 9.5C15 9.641 14.952 9.759 14.856 9.856C14.759 9.952 14.641 10 14.5 10L12 10L12 13L14.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 14L11 14L11 2L14.5 2C14.641 2 14.759 2.048 14.856 2.144C14.952 2.241 15 2.359 15 2.5C15 2.641 14.952 2.759 14.856 2.856C14.759 2.952 14.641 3 14.5 3L12 3L12 5L14.5 5C14.641 5 14.759 5.048 14.856 5.144ZM4 3L4 5L7 5L7 3L4 3ZM10 4L10 6L9 6L9 4L10 4ZM7 9L7 6L4 6L4 9L7 9ZM9 9L9 7L10 7L10 9L9 9ZM7 10L4 10L4 13L7 13L7 10ZM10 10L10 12L9 12L9 10L10 10ZM10 13L10 15L9 15L9 13L10 13Z" />
    </svg>
  );
}
```

### Vue

```vue
<!-- Gentleface "table-split" (line-round), MIT. https://gentleface.com/icons/table-split -->
<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="M10 1L10 3L9 3L9 1L10 1ZM8 14L1.5 14C1.359 14 1.241 13.952 1.144 13.856C1.048 13.759 1 13.641 1 13.5C1 13.359 1.048 13.241 1.144 13.144C1.241 13.048 1.359 13 1.5 13L3 13L3 10L1.5 10C1.359 10 1.241 9.952 1.144 9.856C1.048 9.759 1 9.641 1 9.5C1 9.359 1.048 9.241 1.144 9.144C1.241 9.048 1.359 9 1.5 9L3 9L3 6L1.5 6C1.359 6 1.241 5.952 1.144 5.856C1.048 5.759 1 5.641 1 5.5C1 5.359 1.048 5.241 1.144 5.144C1.241 5.048 1.359 5 1.5 5L3 5L3 3L1.5 3C1.359 3 1.241 2.952 1.144 2.856C1.048 2.759 1 2.641 1 2.5C1 2.359 1.048 2.241 1.144 2.144C1.241 2.048 1.359 2 1.5 2L8 2L8 14ZM14.856 5.144C14.952 5.241 15 5.359 15 5.5C15 5.641 14.952 5.759 14.856 5.856C14.759 5.952 14.641 6 14.5 6L12 6L12 9L14.5 9C14.641 9 14.759 9.048 14.856 9.144C14.952 9.241 15 9.359 15 9.5C15 9.641 14.952 9.759 14.856 9.856C14.759 9.952 14.641 10 14.5 10L12 10L12 13L14.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 14L11 14L11 2L14.5 2C14.641 2 14.759 2.048 14.856 2.144C14.952 2.241 15 2.359 15 2.5C15 2.641 14.952 2.759 14.856 2.856C14.759 2.952 14.641 3 14.5 3L12 3L12 5L14.5 5C14.641 5 14.759 5.048 14.856 5.144ZM4 3L4 5L7 5L7 3L4 3ZM10 4L10 6L9 6L9 4L10 4ZM7 9L7 6L4 6L4 9L7 9ZM9 9L9 7L10 7L10 9L9 9ZM7 10L4 10L4 13L7 13L7 10ZM10 10L10 12L9 12L9 10L10 10ZM10 13L10 15L9 15L9 13L10 13Z" />
  </svg>
</template>
```

### Svelte

```svelte
<!-- Gentleface "table-split" (line-round), MIT. https://gentleface.com/icons/table-split -->
<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="M10 1L10 3L9 3L9 1L10 1ZM8 14L1.5 14C1.359 14 1.241 13.952 1.144 13.856C1.048 13.759 1 13.641 1 13.5C1 13.359 1.048 13.241 1.144 13.144C1.241 13.048 1.359 13 1.5 13L3 13L3 10L1.5 10C1.359 10 1.241 9.952 1.144 9.856C1.048 9.759 1 9.641 1 9.5C1 9.359 1.048 9.241 1.144 9.144C1.241 9.048 1.359 9 1.5 9L3 9L3 6L1.5 6C1.359 6 1.241 5.952 1.144 5.856C1.048 5.759 1 5.641 1 5.5C1 5.359 1.048 5.241 1.144 5.144C1.241 5.048 1.359 5 1.5 5L3 5L3 3L1.5 3C1.359 3 1.241 2.952 1.144 2.856C1.048 2.759 1 2.641 1 2.5C1 2.359 1.048 2.241 1.144 2.144C1.241 2.048 1.359 2 1.5 2L8 2L8 14ZM14.856 5.144C14.952 5.241 15 5.359 15 5.5C15 5.641 14.952 5.759 14.856 5.856C14.759 5.952 14.641 6 14.5 6L12 6L12 9L14.5 9C14.641 9 14.759 9.048 14.856 9.144C14.952 9.241 15 9.359 15 9.5C15 9.641 14.952 9.759 14.856 9.856C14.759 9.952 14.641 10 14.5 10L12 10L12 13L14.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 14L11 14L11 2L14.5 2C14.641 2 14.759 2.048 14.856 2.144C14.952 2.241 15 2.359 15 2.5C15 2.641 14.952 2.759 14.856 2.856C14.759 2.952 14.641 3 14.5 3L12 3L12 5L14.5 5C14.641 5 14.759 5.048 14.856 5.144ZM4 3L4 5L7 5L7 3L4 3ZM10 4L10 6L9 6L9 4L10 4ZM7 9L7 6L4 6L4 9L7 9ZM9 9L9 7L10 7L10 9L9 9ZM7 10L4 10L4 13L7 13L7 10ZM10 10L10 12L9 12L9 10L10 10ZM10 13L10 15L9 15L9 13L10 13Z" />
</svg>
```

### HTML img

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

### CSS

```css
/* Gentleface "table-split" (line-round), MIT. https://gentleface.com/icons/table-split. Takes the text color. */
.icon-table-split {
  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='M10 1L10 3L9 3L9 1L10 1ZM8 14L1.5 14C1.359 14 1.241 13.952 1.144 13.856C1.048 13.759 1 13.641 1 13.5C1 13.359 1.048 13.241 1.144 13.144C1.241 13.048 1.359 13 1.5 13L3 13L3 10L1.5 10C1.359 10 1.241 9.952 1.144 9.856C1.048 9.759 1 9.641 1 9.5C1 9.359 1.048 9.241 1.144 9.144C1.241 9.048 1.359 9 1.5 9L3 9L3 6L1.5 6C1.359 6 1.241 5.952 1.144 5.856C1.048 5.759 1 5.641 1 5.5C1 5.359 1.048 5.241 1.144 5.144C1.241 5.048 1.359 5 1.5 5L3 5L3 3L1.5 3C1.359 3 1.241 2.952 1.144 2.856C1.048 2.759 1 2.641 1 2.5C1 2.359 1.048 2.241 1.144 2.144C1.241 2.048 1.359 2 1.5 2L8 2L8 14ZM14.856 5.144C14.952 5.241 15 5.359 15 5.5C15 5.641 14.952 5.759 14.856 5.856C14.759 5.952 14.641 6 14.5 6L12 6L12 9L14.5 9C14.641 9 14.759 9.048 14.856 9.144C14.952 9.241 15 9.359 15 9.5C15 9.641 14.952 9.759 14.856 9.856C14.759 9.952 14.641 10 14.5 10L12 10L12 13L14.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 14L11 14L11 2L14.5 2C14.641 2 14.759 2.048 14.856 2.144C14.952 2.241 15 2.359 15 2.5C15 2.641 14.952 2.759 14.856 2.856C14.759 2.952 14.641 3 14.5 3L12 3L12 5L14.5 5C14.641 5 14.759 5.048 14.856 5.144ZM4 3L4 5L7 5L7 3L4 3ZM10 4L10 6L9 6L9 4L10 4ZM7 9L7 6L4 6L4 9L7 9ZM9 9L9 7L10 7L10 9L9 9ZM7 10L4 10L4 13L7 13L7 10ZM10 10L10 12L9 12L9 10L10 10ZM10 13L10 15L9 15L9 13L10 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='M10 1L10 3L9 3L9 1L10 1ZM8 14L1.5 14C1.359 14 1.241 13.952 1.144 13.856C1.048 13.759 1 13.641 1 13.5C1 13.359 1.048 13.241 1.144 13.144C1.241 13.048 1.359 13 1.5 13L3 13L3 10L1.5 10C1.359 10 1.241 9.952 1.144 9.856C1.048 9.759 1 9.641 1 9.5C1 9.359 1.048 9.241 1.144 9.144C1.241 9.048 1.359 9 1.5 9L3 9L3 6L1.5 6C1.359 6 1.241 5.952 1.144 5.856C1.048 5.759 1 5.641 1 5.5C1 5.359 1.048 5.241 1.144 5.144C1.241 5.048 1.359 5 1.5 5L3 5L3 3L1.5 3C1.359 3 1.241 2.952 1.144 2.856C1.048 2.759 1 2.641 1 2.5C1 2.359 1.048 2.241 1.144 2.144C1.241 2.048 1.359 2 1.5 2L8 2L8 14ZM14.856 5.144C14.952 5.241 15 5.359 15 5.5C15 5.641 14.952 5.759 14.856 5.856C14.759 5.952 14.641 6 14.5 6L12 6L12 9L14.5 9C14.641 9 14.759 9.048 14.856 9.144C14.952 9.241 15 9.359 15 9.5C15 9.641 14.952 9.759 14.856 9.856C14.759 9.952 14.641 10 14.5 10L12 10L12 13L14.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 14L11 14L11 2L14.5 2C14.641 2 14.759 2.048 14.856 2.144C14.952 2.241 15 2.359 15 2.5C15 2.641 14.952 2.759 14.856 2.856C14.759 2.952 14.641 3 14.5 3L12 3L12 5L14.5 5C14.641 5 14.759 5.048 14.856 5.144ZM4 3L4 5L7 5L7 3L4 3ZM10 4L10 6L9 6L9 4L10 4ZM7 9L7 6L4 6L4 9L7 9ZM9 9L9 7L10 7L10 9L9 9ZM7 10L4 10L4 13L7 13L7 10ZM10 10L10 12L9 12L9 10L10 10ZM10 13L10 15L9 15L9 13L10 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='M10 1L10 3L9 3L9 1L10 1ZM8 14L1.5 14C1.359 14 1.241 13.952 1.144 13.856C1.048 13.759 1 13.641 1 13.5C1 13.359 1.048 13.241 1.144 13.144C1.241 13.048 1.359 13 1.5 13L3 13L3 10L1.5 10C1.359 10 1.241 9.952 1.144 9.856C1.048 9.759 1 9.641 1 9.5C1 9.359 1.048 9.241 1.144 9.144C1.241 9.048 1.359 9 1.5 9L3 9L3 6L1.5 6C1.359 6 1.241 5.952 1.144 5.856C1.048 5.759 1 5.641 1 5.5C1 5.359 1.048 5.241 1.144 5.144C1.241 5.048 1.359 5 1.5 5L3 5L3 3L1.5 3C1.359 3 1.241 2.952 1.144 2.856C1.048 2.759 1 2.641 1 2.5C1 2.359 1.048 2.241 1.144 2.144C1.241 2.048 1.359 2 1.5 2L8 2L8 14ZM14.856 5.144C14.952 5.241 15 5.359 15 5.5C15 5.641 14.952 5.759 14.856 5.856C14.759 5.952 14.641 6 14.5 6L12 6L12 9L14.5 9C14.641 9 14.759 9.048 14.856 9.144C14.952 9.241 15 9.359 15 9.5C15 9.641 14.952 9.759 14.856 9.856C14.759 9.952 14.641 10 14.5 10L12 10L12 13L14.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 14L11 14L11 2L14.5 2C14.641 2 14.759 2.048 14.856 2.144C14.952 2.241 15 2.359 15 2.5C15 2.641 14.952 2.759 14.856 2.856C14.759 2.952 14.641 3 14.5 3L12 3L12 5L14.5 5C14.641 5 14.759 5.048 14.856 5.144ZM4 3L4 5L7 5L7 3L4 3ZM10 4L10 6L9 6L9 4L10 4ZM7 9L7 6L4 6L4 9L7 9ZM9 9L9 7L10 7L10 9L9 9ZM7 10L4 10L4 13L7 13L7 10ZM10 10L10 12L9 12L9 10L10 10ZM10 13L10 15L9 15L9 13L10 13Z'/%3E%3C/svg%3E
```

### Sprite

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

### SwiftUI

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

struct TableSplitIcon: Shape {
    func path(in rect: CGRect) -> Path {
        var p = Path()
        p.move(to: CGPoint(x: 10, y: 1))
        p.addLine(to: CGPoint(x: 10, y: 3))
        p.addLine(to: CGPoint(x: 9, y: 3))
        p.addLine(to: CGPoint(x: 9, y: 1))
        p.addLine(to: CGPoint(x: 10, y: 1))
        p.closeSubpath()
        p.move(to: CGPoint(x: 8, y: 14))
        p.addLine(to: CGPoint(x: 1.5, y: 14))
        p.addCurve(to: CGPoint(x: 1.144, y: 13.856), control1: CGPoint(x: 1.359, y: 14), control2: CGPoint(x: 1.241, y: 13.952))
        p.addCurve(to: CGPoint(x: 1, y: 13.5), control1: CGPoint(x: 1.048, y: 13.759), control2: CGPoint(x: 1, y: 13.641))
        p.addCurve(to: CGPoint(x: 1.144, y: 13.144), control1: CGPoint(x: 1, y: 13.359), control2: CGPoint(x: 1.048, y: 13.241))
        p.addCurve(to: CGPoint(x: 1.5, y: 13), control1: CGPoint(x: 1.241, y: 13.048), control2: CGPoint(x: 1.359, y: 13))
        p.addLine(to: CGPoint(x: 3, y: 13))
        p.addLine(to: CGPoint(x: 3, y: 10))
        p.addLine(to: CGPoint(x: 1.5, y: 10))
        p.addCurve(to: CGPoint(x: 1.144, y: 9.856), control1: CGPoint(x: 1.359, y: 10), control2: CGPoint(x: 1.241, y: 9.952))
        p.addCurve(to: CGPoint(x: 1, y: 9.5), control1: CGPoint(x: 1.048, y: 9.759), control2: CGPoint(x: 1, y: 9.641))
        p.addCurve(to: CGPoint(x: 1.144, y: 9.144), control1: CGPoint(x: 1, y: 9.359), control2: CGPoint(x: 1.048, y: 9.241))
        p.addCurve(to: CGPoint(x: 1.5, y: 9), control1: CGPoint(x: 1.241, y: 9.048), control2: CGPoint(x: 1.359, y: 9))
        p.addLine(to: CGPoint(x: 3, y: 9))
        p.addLine(to: CGPoint(x: 3, y: 6))
        p.addLine(to: CGPoint(x: 1.5, y: 6))
        p.addCurve(to: CGPoint(x: 1.144, y: 5.856), control1: CGPoint(x: 1.359, y: 6), control2: CGPoint(x: 1.241, y: 5.952))
        p.addCurve(to: CGPoint(x: 1, y: 5.5), control1: CGPoint(x: 1.048, y: 5.759), control2: CGPoint(x: 1, y: 5.641))
        p.addCurve(to: CGPoint(x: 1.144, y: 5.144), control1: CGPoint(x: 1, y: 5.359), control2: CGPoint(x: 1.048, y: 5.241))
        p.addCurve(to: CGPoint(x: 1.5, y: 5), control1: CGPoint(x: 1.241, y: 5.048), control2: CGPoint(x: 1.359, y: 5))
        p.addLine(to: CGPoint(x: 3, y: 5))
        p.addLine(to: CGPoint(x: 3, y: 3))
        p.addLine(to: CGPoint(x: 1.5, y: 3))
        p.addCurve(to: CGPoint(x: 1.144, y: 2.856), control1: CGPoint(x: 1.359, y: 3), control2: CGPoint(x: 1.241, y: 2.952))
        p.addCurve(to: CGPoint(x: 1, y: 2.5), control1: CGPoint(x: 1.048, y: 2.759), control2: CGPoint(x: 1, y: 2.641))
        p.addCurve(to: CGPoint(x: 1.144, y: 2.144), control1: CGPoint(x: 1, y: 2.359), control2: CGPoint(x: 1.048, y: 2.241))
        p.addCurve(to: CGPoint(x: 1.5, y: 2), control1: CGPoint(x: 1.241, y: 2.048), control2: CGPoint(x: 1.359, y: 2))
        p.addLine(to: CGPoint(x: 8, y: 2))
        p.addLine(to: CGPoint(x: 8, y: 14))
        p.closeSubpath()
        p.move(to: CGPoint(x: 14.856, y: 5.144))
        p.addCurve(to: CGPoint(x: 15, y: 5.5), control1: CGPoint(x: 14.952, y: 5.241), control2: CGPoint(x: 15, y: 5.359))
        p.addCurve(to: CGPoint(x: 14.856, y: 5.856), control1: CGPoint(x: 15, y: 5.641), control2: CGPoint(x: 14.952, y: 5.759))
        p.addCurve(to: CGPoint(x: 14.5, y: 6), control1: CGPoint(x: 14.759, y: 5.952), control2: CGPoint(x: 14.641, y: 6))
        p.addLine(to: CGPoint(x: 12, y: 6))
        p.addLine(to: CGPoint(x: 12, y: 9))
        p.addLine(to: CGPoint(x: 14.5, y: 9))
        p.addCurve(to: CGPoint(x: 14.856, y: 9.144), control1: CGPoint(x: 14.641, y: 9), control2: CGPoint(x: 14.759, y: 9.048))
        p.addCurve(to: CGPoint(x: 15, y: 9.5), control1: CGPoint(x: 14.952, y: 9.241), control2: CGPoint(x: 15, y: 9.359))
        p.addCurve(to: CGPoint(x: 14.856, y: 9.856), control1: CGPoint(x: 15, y: 9.641), control2: CGPoint(x: 14.952, y: 9.759))
        p.addCurve(to: CGPoint(x: 14.5, y: 10), control1: CGPoint(x: 14.759, y: 9.952), control2: CGPoint(x: 14.641, y: 10))
        p.addLine(to: CGPoint(x: 12, y: 10))
        p.addLine(to: CGPoint(x: 12, y: 13))
        p.addLine(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: 11, y: 14))
        p.addLine(to: CGPoint(x: 11, y: 2))
        p.addLine(to: CGPoint(x: 14.5, y: 2))
        p.addCurve(to: CGPoint(x: 14.856, y: 2.144), control1: CGPoint(x: 14.641, y: 2), control2: CGPoint(x: 14.759, y: 2.048))
        p.addCurve(to: CGPoint(x: 15, y: 2.5), control1: CGPoint(x: 14.952, y: 2.241), control2: CGPoint(x: 15, y: 2.359))
        p.addCurve(to: CGPoint(x: 14.856, y: 2.856), control1: CGPoint(x: 15, y: 2.641), control2: CGPoint(x: 14.952, y: 2.759))
        p.addCurve(to: CGPoint(x: 14.5, y: 3), control1: CGPoint(x: 14.759, y: 2.952), control2: CGPoint(x: 14.641, y: 3))
        p.addLine(to: CGPoint(x: 12, y: 3))
        p.addLine(to: CGPoint(x: 12, y: 5))
        p.addLine(to: CGPoint(x: 14.5, y: 5))
        p.addCurve(to: CGPoint(x: 14.856, y: 5.144), control1: CGPoint(x: 14.641, y: 5), control2: CGPoint(x: 14.759, y: 5.048))
        p.closeSubpath()
        p.move(to: CGPoint(x: 4, y: 3))
        p.addLine(to: CGPoint(x: 4, y: 5))
        p.addLine(to: CGPoint(x: 7, y: 5))
        p.addLine(to: CGPoint(x: 7, y: 3))
        p.addLine(to: CGPoint(x: 4, y: 3))
        p.closeSubpath()
        p.move(to: CGPoint(x: 10, y: 4))
        p.addLine(to: CGPoint(x: 10, y: 6))
        p.addLine(to: CGPoint(x: 9, y: 6))
        p.addLine(to: CGPoint(x: 9, y: 4))
        p.addLine(to: CGPoint(x: 10, y: 4))
        p.closeSubpath()
        p.move(to: CGPoint(x: 7, y: 9))
        p.addLine(to: CGPoint(x: 7, y: 6))
        p.addLine(to: CGPoint(x: 4, y: 6))
        p.addLine(to: CGPoint(x: 4, y: 9))
        p.addLine(to: CGPoint(x: 7, y: 9))
        p.closeSubpath()
        p.move(to: CGPoint(x: 9, y: 9))
        p.addLine(to: CGPoint(x: 9, y: 7))
        p.addLine(to: CGPoint(x: 10, y: 7))
        p.addLine(to: CGPoint(x: 10, y: 9))
        p.addLine(to: CGPoint(x: 9, y: 9))
        p.closeSubpath()
        p.move(to: CGPoint(x: 7, y: 10))
        p.addLine(to: CGPoint(x: 4, y: 10))
        p.addLine(to: CGPoint(x: 4, y: 13))
        p.addLine(to: CGPoint(x: 7, y: 13))
        p.addLine(to: CGPoint(x: 7, y: 10))
        p.closeSubpath()
        p.move(to: CGPoint(x: 10, y: 10))
        p.addLine(to: CGPoint(x: 10, y: 12))
        p.addLine(to: CGPoint(x: 9, y: 12))
        p.addLine(to: CGPoint(x: 9, y: 10))
        p.addLine(to: CGPoint(x: 10, y: 10))
        p.closeSubpath()
        p.move(to: CGPoint(x: 10, y: 13))
        p.addLine(to: CGPoint(x: 10, y: 15))
        p.addLine(to: CGPoint(x: 9, y: 15))
        p.addLine(to: CGPoint(x: 9, y: 13))
        p.addLine(to: CGPoint(x: 10, y: 13))
        p.closeSubpath()
        return p.applying(CGAffineTransform(scaleX: rect.width / 16, y: rect.height / 16))
    }
}

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

### Compose

```kotlin
// Gentleface "table-split" (line-round), MIT. https://gentleface.com/icons/table-split
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 TableSplitIcon: ImageVector by lazy {
    ImageVector.Builder(
        name = "table-split", defaultWidth = 16.dp, defaultHeight = 16.dp,
        viewportWidth = 16f, viewportHeight = 16f,
    ).addPath(
        pathData = addPathNodes("M10 1L10 3L9 3L9 1L10 1ZM8 14L1.5 14C1.359 14 1.241 13.952 1.144 13.856C1.048 13.759 1 13.641 1 13.5C1 13.359 1.048 13.241 1.144 13.144C1.241 13.048 1.359 13 1.5 13L3 13L3 10L1.5 10C1.359 10 1.241 9.952 1.144 9.856C1.048 9.759 1 9.641 1 9.5C1 9.359 1.048 9.241 1.144 9.144C1.241 9.048 1.359 9 1.5 9L3 9L3 6L1.5 6C1.359 6 1.241 5.952 1.144 5.856C1.048 5.759 1 5.641 1 5.5C1 5.359 1.048 5.241 1.144 5.144C1.241 5.048 1.359 5 1.5 5L3 5L3 3L1.5 3C1.359 3 1.241 2.952 1.144 2.856C1.048 2.759 1 2.641 1 2.5C1 2.359 1.048 2.241 1.144 2.144C1.241 2.048 1.359 2 1.5 2L8 2L8 14ZM14.856 5.144C14.952 5.241 15 5.359 15 5.5C15 5.641 14.952 5.759 14.856 5.856C14.759 5.952 14.641 6 14.5 6L12 6L12 9L14.5 9C14.641 9 14.759 9.048 14.856 9.144C14.952 9.241 15 9.359 15 9.5C15 9.641 14.952 9.759 14.856 9.856C14.759 9.952 14.641 10 14.5 10L12 10L12 13L14.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 14L11 14L11 2L14.5 2C14.641 2 14.759 2.048 14.856 2.144C14.952 2.241 15 2.359 15 2.5C15 2.641 14.952 2.759 14.856 2.856C14.759 2.952 14.641 3 14.5 3L12 3L12 5L14.5 5C14.641 5 14.759 5.048 14.856 5.144ZM4 3L4 5L7 5L7 3L4 3ZM10 4L10 6L9 6L9 4L10 4ZM7 9L7 6L4 6L4 9L7 9ZM9 9L9 7L10 7L10 9L9 9ZM7 10L4 10L4 13L7 13L7 10ZM10 10L10 12L9 12L9 10L10 10ZM10 13L10 15L9 15L9 13L10 13Z"),
        fill = SolidColor(Color.Black),
    ).build()
}

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

### Android XML

```xml
<!-- res/drawable/ic_table_split.xml · Gentleface "table-split" (line-round), MIT. https://gentleface.com/icons/table-split -->
<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="M10 1L10 3L9 3L9 1L10 1ZM8 14L1.5 14C1.359 14 1.241 13.952 1.144 13.856C1.048 13.759 1 13.641 1 13.5C1 13.359 1.048 13.241 1.144 13.144C1.241 13.048 1.359 13 1.5 13L3 13L3 10L1.5 10C1.359 10 1.241 9.952 1.144 9.856C1.048 9.759 1 9.641 1 9.5C1 9.359 1.048 9.241 1.144 9.144C1.241 9.048 1.359 9 1.5 9L3 9L3 6L1.5 6C1.359 6 1.241 5.952 1.144 5.856C1.048 5.759 1 5.641 1 5.5C1 5.359 1.048 5.241 1.144 5.144C1.241 5.048 1.359 5 1.5 5L3 5L3 3L1.5 3C1.359 3 1.241 2.952 1.144 2.856C1.048 2.759 1 2.641 1 2.5C1 2.359 1.048 2.241 1.144 2.144C1.241 2.048 1.359 2 1.5 2L8 2L8 14ZM14.856 5.144C14.952 5.241 15 5.359 15 5.5C15 5.641 14.952 5.759 14.856 5.856C14.759 5.952 14.641 6 14.5 6L12 6L12 9L14.5 9C14.641 9 14.759 9.048 14.856 9.144C14.952 9.241 15 9.359 15 9.5C15 9.641 14.952 9.759 14.856 9.856C14.759 9.952 14.641 10 14.5 10L12 10L12 13L14.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 14L11 14L11 2L14.5 2C14.641 2 14.759 2.048 14.856 2.144C14.952 2.241 15 2.359 15 2.5C15 2.641 14.952 2.759 14.856 2.856C14.759 2.952 14.641 3 14.5 3L12 3L12 5L14.5 5C14.641 5 14.759 5.048 14.856 5.144ZM4 3L4 5L7 5L7 3L4 3ZM10 4L10 6L9 6L9 4L10 4ZM7 9L7 6L4 6L4 9L7 9ZM9 9L9 7L10 7L10 9L9 9ZM7 10L4 10L4 13L7 13L7 10ZM10 10L10 12L9 12L9 10L10 10ZM10 13L10 15L9 15L9 13L10 13Z"/>
</vector>
```

### Flutter

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

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

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

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

  @override
  void paint(Canvas canvas, Size size) {
    canvas.scale(size.width / 16, size.height / 16);
    final p = Path()
      ..moveTo(10, 1)
      ..lineTo(10, 3)
      ..lineTo(9, 3)
      ..lineTo(9, 1)
      ..lineTo(10, 1)
      ..close()
      ..moveTo(8, 14)
      ..lineTo(1.5, 14)
      ..cubicTo(1.359, 14, 1.241, 13.952, 1.144, 13.856)
      ..cubicTo(1.048, 13.759, 1, 13.641, 1, 13.5)
      ..cubicTo(1, 13.359, 1.048, 13.241, 1.144, 13.144)
      ..cubicTo(1.241, 13.048, 1.359, 13, 1.5, 13)
      ..lineTo(3, 13)
      ..lineTo(3, 10)
      ..lineTo(1.5, 10)
      ..cubicTo(1.359, 10, 1.241, 9.952, 1.144, 9.856)
      ..cubicTo(1.048, 9.759, 1, 9.641, 1, 9.5)
      ..cubicTo(1, 9.359, 1.048, 9.241, 1.144, 9.144)
      ..cubicTo(1.241, 9.048, 1.359, 9, 1.5, 9)
      ..lineTo(3, 9)
      ..lineTo(3, 6)
      ..lineTo(1.5, 6)
      ..cubicTo(1.359, 6, 1.241, 5.952, 1.144, 5.856)
      ..cubicTo(1.048, 5.759, 1, 5.641, 1, 5.5)
      ..cubicTo(1, 5.359, 1.048, 5.241, 1.144, 5.144)
      ..cubicTo(1.241, 5.048, 1.359, 5, 1.5, 5)
      ..lineTo(3, 5)
      ..lineTo(3, 3)
      ..lineTo(1.5, 3)
      ..cubicTo(1.359, 3, 1.241, 2.952, 1.144, 2.856)
      ..cubicTo(1.048, 2.759, 1, 2.641, 1, 2.5)
      ..cubicTo(1, 2.359, 1.048, 2.241, 1.144, 2.144)
      ..cubicTo(1.241, 2.048, 1.359, 2, 1.5, 2)
      ..lineTo(8, 2)
      ..lineTo(8, 14)
      ..close()
      ..moveTo(14.856, 5.144)
      ..cubicTo(14.952, 5.241, 15, 5.359, 15, 5.5)
      ..cubicTo(15, 5.641, 14.952, 5.759, 14.856, 5.856)
      ..cubicTo(14.759, 5.952, 14.641, 6, 14.5, 6)
      ..lineTo(12, 6)
      ..lineTo(12, 9)
      ..lineTo(14.5, 9)
      ..cubicTo(14.641, 9, 14.759, 9.048, 14.856, 9.144)
      ..cubicTo(14.952, 9.241, 15, 9.359, 15, 9.5)
      ..cubicTo(15, 9.641, 14.952, 9.759, 14.856, 9.856)
      ..cubicTo(14.759, 9.952, 14.641, 10, 14.5, 10)
      ..lineTo(12, 10)
      ..lineTo(12, 13)
      ..lineTo(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(11, 14)
      ..lineTo(11, 2)
      ..lineTo(14.5, 2)
      ..cubicTo(14.641, 2, 14.759, 2.048, 14.856, 2.144)
      ..cubicTo(14.952, 2.241, 15, 2.359, 15, 2.5)
      ..cubicTo(15, 2.641, 14.952, 2.759, 14.856, 2.856)
      ..cubicTo(14.759, 2.952, 14.641, 3, 14.5, 3)
      ..lineTo(12, 3)
      ..lineTo(12, 5)
      ..lineTo(14.5, 5)
      ..cubicTo(14.641, 5, 14.759, 5.048, 14.856, 5.144)
      ..close()
      ..moveTo(4, 3)
      ..lineTo(4, 5)
      ..lineTo(7, 5)
      ..lineTo(7, 3)
      ..lineTo(4, 3)
      ..close()
      ..moveTo(10, 4)
      ..lineTo(10, 6)
      ..lineTo(9, 6)
      ..lineTo(9, 4)
      ..lineTo(10, 4)
      ..close()
      ..moveTo(7, 9)
      ..lineTo(7, 6)
      ..lineTo(4, 6)
      ..lineTo(4, 9)
      ..lineTo(7, 9)
      ..close()
      ..moveTo(9, 9)
      ..lineTo(9, 7)
      ..lineTo(10, 7)
      ..lineTo(10, 9)
      ..lineTo(9, 9)
      ..close()
      ..moveTo(7, 10)
      ..lineTo(4, 10)
      ..lineTo(4, 13)
      ..lineTo(7, 13)
      ..lineTo(7, 10)
      ..close()
      ..moveTo(10, 10)
      ..lineTo(10, 12)
      ..lineTo(9, 12)
      ..lineTo(9, 10)
      ..lineTo(10, 10)
      ..close()
      ..moveTo(10, 13)
      ..lineTo(10, 15)
      ..lineTo(9, 15)
      ..lineTo(9, 13)
      ..lineTo(10, 13)
      ..close();
    canvas.drawPath(p, Paint()..color = color);
  }

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