# tools-upright icon

Tools upright. Gentleface icon, drawn on the 16 px pixel grid. Free, MIT licensed. Page: https://gentleface.com/icons/tools-upright

- Category: Tools
- Built from: variant of tools
- Tags: tools, utilities, wrench, screwdriver, repair, fix, maintenance, toolkit, upright
- Family: tools
- Component name: ToolsUprightIcon
- Added: 2026-10-15

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

The SVG of every style: https://gentleface.com/icons/tools-upright.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="M12.144 1.144C12.241 1.048 12.359 1 12.5 1C12.641 1 12.759 1.048 12.856 1.144C12.952 1.241 13 1.359 13 1.5L13 6C13.276 6 13.512 6.098 13.707 6.293C13.902 6.488 14 6.724 14 7L14 8C14.276 8 14.512 8.098 14.707 8.293C14.902 8.488 15 8.724 15 9L15 12.5C15 12.818 14.941 13.125 14.824 13.42C14.697 13.741 14.512 14.024 14.268 14.268C14.024 14.512 13.741 14.697 13.42 14.824C13.125 14.941 12.818 15 12.5 15C12.182 15 11.875 14.941 11.58 14.824C11.259 14.697 10.976 14.512 10.732 14.268C10.488 14.024 10.303 13.741 10.176 13.42C10.059 13.125 10 12.818 10 12.5L10 9C10 8.724 10.098 8.488 10.293 8.293C10.488 8.098 10.724 8 11 8L11 7C11 6.724 11.098 6.488 11.293 6.293C11.488 6.098 11.724 6 12 6L12 1.5C12 1.359 12.048 1.241 12.144 1.144ZM6 5L6 1.838C6 1.763 6.016 1.691 6.048 1.623C6.109 1.496 6.203 1.41 6.331 1.364C6.459 1.318 6.587 1.326 6.714 1.386C7.412 1.717 7.968 2.209 8.381 2.862C8.794 3.515 9 4.227 9 5C9 5.773 8.794 6.485 8.381 7.138C8.026 7.699 7.565 8.142 7 8.465L7 13C7 13.254 6.953 13.5 6.86 13.736C6.758 13.993 6.609 14.219 6.414 14.414C6.219 14.609 5.993 14.758 5.736 14.86C5.5 14.953 5.254 15 5 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 8.465C2.435 8.142 1.974 7.699 1.619 7.138C1.206 6.485 1 5.773 1 5C1 4.227 1.206 3.515 1.619 2.862C2.032 2.209 2.588 1.717 3.286 1.386C3.354 1.354 3.425 1.338 3.5 1.338C3.641 1.338 3.759 1.386 3.856 1.482C3.952 1.578 4 1.697 4 1.838L4 5L6 5ZM2.465 3.396C2.155 3.886 2 4.421 2 5C2 5.579 2.155 6.114 2.465 6.604C2.774 7.093 3.191 7.462 3.714 7.711C3.802 7.752 3.872 7.814 3.923 7.895C3.974 7.976 4 8.065 4 8.162L4 13C4 13.276 4.098 13.512 4.293 13.707C4.488 13.902 4.724 14 5 14C5.276 14 5.512 13.902 5.707 13.707C5.902 13.512 6 13.276 6 13L6 8.162C6 8.065 6.026 7.976 6.077 7.895C6.128 7.814 6.198 7.752 6.286 7.711C6.809 7.462 7.226 7.093 7.535 6.604C7.845 6.114 8 5.579 8 5C8 4.421 7.845 3.886 7.535 3.396C7.383 3.155 7.204 2.943 7 2.761L7 5C7 5.276 6.902 5.512 6.707 5.707C6.512 5.902 6.276 6 6 6L4 6C3.724 6 3.488 5.902 3.293 5.707C3.098 5.512 3 5.276 3 5L3 2.761C2.796 2.943 2.617 3.155 2.465 3.396ZM12 8L13 8L13 7L12 7L12 8ZM11 9L11 12.5C11 12.691 11.035 12.875 11.105 13.052C11.182 13.245 11.293 13.414 11.439 13.561C11.586 13.707 11.755 13.818 11.948 13.895C12.125 13.965 12.309 14 12.5 14C12.691 14 12.875 13.965 13.052 13.895C13.245 13.818 13.414 13.707 13.561 13.561C13.707 13.414 13.818 13.245 13.895 13.052C13.965 12.875 14 12.691 14 12.5L14 9C13.815 9 13.649 8.956 13.5 8.869C13.416 8.953 13.301 9 13.182 9L11.818 9C11.699 9 11.584 8.953 11.5 8.869C11.351 8.956 11.185 9 11 9Z"/></svg>
```

### React

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

export function ToolsUprightIcon(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="M12.144 1.144C12.241 1.048 12.359 1 12.5 1C12.641 1 12.759 1.048 12.856 1.144C12.952 1.241 13 1.359 13 1.5L13 6C13.276 6 13.512 6.098 13.707 6.293C13.902 6.488 14 6.724 14 7L14 8C14.276 8 14.512 8.098 14.707 8.293C14.902 8.488 15 8.724 15 9L15 12.5C15 12.818 14.941 13.125 14.824 13.42C14.697 13.741 14.512 14.024 14.268 14.268C14.024 14.512 13.741 14.697 13.42 14.824C13.125 14.941 12.818 15 12.5 15C12.182 15 11.875 14.941 11.58 14.824C11.259 14.697 10.976 14.512 10.732 14.268C10.488 14.024 10.303 13.741 10.176 13.42C10.059 13.125 10 12.818 10 12.5L10 9C10 8.724 10.098 8.488 10.293 8.293C10.488 8.098 10.724 8 11 8L11 7C11 6.724 11.098 6.488 11.293 6.293C11.488 6.098 11.724 6 12 6L12 1.5C12 1.359 12.048 1.241 12.144 1.144ZM6 5L6 1.838C6 1.763 6.016 1.691 6.048 1.623C6.109 1.496 6.203 1.41 6.331 1.364C6.459 1.318 6.587 1.326 6.714 1.386C7.412 1.717 7.968 2.209 8.381 2.862C8.794 3.515 9 4.227 9 5C9 5.773 8.794 6.485 8.381 7.138C8.026 7.699 7.565 8.142 7 8.465L7 13C7 13.254 6.953 13.5 6.86 13.736C6.758 13.993 6.609 14.219 6.414 14.414C6.219 14.609 5.993 14.758 5.736 14.86C5.5 14.953 5.254 15 5 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 8.465C2.435 8.142 1.974 7.699 1.619 7.138C1.206 6.485 1 5.773 1 5C1 4.227 1.206 3.515 1.619 2.862C2.032 2.209 2.588 1.717 3.286 1.386C3.354 1.354 3.425 1.338 3.5 1.338C3.641 1.338 3.759 1.386 3.856 1.482C3.952 1.578 4 1.697 4 1.838L4 5L6 5ZM2.465 3.396C2.155 3.886 2 4.421 2 5C2 5.579 2.155 6.114 2.465 6.604C2.774 7.093 3.191 7.462 3.714 7.711C3.802 7.752 3.872 7.814 3.923 7.895C3.974 7.976 4 8.065 4 8.162L4 13C4 13.276 4.098 13.512 4.293 13.707C4.488 13.902 4.724 14 5 14C5.276 14 5.512 13.902 5.707 13.707C5.902 13.512 6 13.276 6 13L6 8.162C6 8.065 6.026 7.976 6.077 7.895C6.128 7.814 6.198 7.752 6.286 7.711C6.809 7.462 7.226 7.093 7.535 6.604C7.845 6.114 8 5.579 8 5C8 4.421 7.845 3.886 7.535 3.396C7.383 3.155 7.204 2.943 7 2.761L7 5C7 5.276 6.902 5.512 6.707 5.707C6.512 5.902 6.276 6 6 6L4 6C3.724 6 3.488 5.902 3.293 5.707C3.098 5.512 3 5.276 3 5L3 2.761C2.796 2.943 2.617 3.155 2.465 3.396ZM12 8L13 8L13 7L12 7L12 8ZM11 9L11 12.5C11 12.691 11.035 12.875 11.105 13.052C11.182 13.245 11.293 13.414 11.439 13.561C11.586 13.707 11.755 13.818 11.948 13.895C12.125 13.965 12.309 14 12.5 14C12.691 14 12.875 13.965 13.052 13.895C13.245 13.818 13.414 13.707 13.561 13.561C13.707 13.414 13.818 13.245 13.895 13.052C13.965 12.875 14 12.691 14 12.5L14 9C13.815 9 13.649 8.956 13.5 8.869C13.416 8.953 13.301 9 13.182 9L11.818 9C11.699 9 11.584 8.953 11.5 8.869C11.351 8.956 11.185 9 11 9Z" />
    </svg>
  );
}
```

### Vue

```vue
<!-- Gentleface "tools-upright" (line-round), MIT. https://gentleface.com/icons/tools-upright -->
<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="M12.144 1.144C12.241 1.048 12.359 1 12.5 1C12.641 1 12.759 1.048 12.856 1.144C12.952 1.241 13 1.359 13 1.5L13 6C13.276 6 13.512 6.098 13.707 6.293C13.902 6.488 14 6.724 14 7L14 8C14.276 8 14.512 8.098 14.707 8.293C14.902 8.488 15 8.724 15 9L15 12.5C15 12.818 14.941 13.125 14.824 13.42C14.697 13.741 14.512 14.024 14.268 14.268C14.024 14.512 13.741 14.697 13.42 14.824C13.125 14.941 12.818 15 12.5 15C12.182 15 11.875 14.941 11.58 14.824C11.259 14.697 10.976 14.512 10.732 14.268C10.488 14.024 10.303 13.741 10.176 13.42C10.059 13.125 10 12.818 10 12.5L10 9C10 8.724 10.098 8.488 10.293 8.293C10.488 8.098 10.724 8 11 8L11 7C11 6.724 11.098 6.488 11.293 6.293C11.488 6.098 11.724 6 12 6L12 1.5C12 1.359 12.048 1.241 12.144 1.144ZM6 5L6 1.838C6 1.763 6.016 1.691 6.048 1.623C6.109 1.496 6.203 1.41 6.331 1.364C6.459 1.318 6.587 1.326 6.714 1.386C7.412 1.717 7.968 2.209 8.381 2.862C8.794 3.515 9 4.227 9 5C9 5.773 8.794 6.485 8.381 7.138C8.026 7.699 7.565 8.142 7 8.465L7 13C7 13.254 6.953 13.5 6.86 13.736C6.758 13.993 6.609 14.219 6.414 14.414C6.219 14.609 5.993 14.758 5.736 14.86C5.5 14.953 5.254 15 5 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 8.465C2.435 8.142 1.974 7.699 1.619 7.138C1.206 6.485 1 5.773 1 5C1 4.227 1.206 3.515 1.619 2.862C2.032 2.209 2.588 1.717 3.286 1.386C3.354 1.354 3.425 1.338 3.5 1.338C3.641 1.338 3.759 1.386 3.856 1.482C3.952 1.578 4 1.697 4 1.838L4 5L6 5ZM2.465 3.396C2.155 3.886 2 4.421 2 5C2 5.579 2.155 6.114 2.465 6.604C2.774 7.093 3.191 7.462 3.714 7.711C3.802 7.752 3.872 7.814 3.923 7.895C3.974 7.976 4 8.065 4 8.162L4 13C4 13.276 4.098 13.512 4.293 13.707C4.488 13.902 4.724 14 5 14C5.276 14 5.512 13.902 5.707 13.707C5.902 13.512 6 13.276 6 13L6 8.162C6 8.065 6.026 7.976 6.077 7.895C6.128 7.814 6.198 7.752 6.286 7.711C6.809 7.462 7.226 7.093 7.535 6.604C7.845 6.114 8 5.579 8 5C8 4.421 7.845 3.886 7.535 3.396C7.383 3.155 7.204 2.943 7 2.761L7 5C7 5.276 6.902 5.512 6.707 5.707C6.512 5.902 6.276 6 6 6L4 6C3.724 6 3.488 5.902 3.293 5.707C3.098 5.512 3 5.276 3 5L3 2.761C2.796 2.943 2.617 3.155 2.465 3.396ZM12 8L13 8L13 7L12 7L12 8ZM11 9L11 12.5C11 12.691 11.035 12.875 11.105 13.052C11.182 13.245 11.293 13.414 11.439 13.561C11.586 13.707 11.755 13.818 11.948 13.895C12.125 13.965 12.309 14 12.5 14C12.691 14 12.875 13.965 13.052 13.895C13.245 13.818 13.414 13.707 13.561 13.561C13.707 13.414 13.818 13.245 13.895 13.052C13.965 12.875 14 12.691 14 12.5L14 9C13.815 9 13.649 8.956 13.5 8.869C13.416 8.953 13.301 9 13.182 9L11.818 9C11.699 9 11.584 8.953 11.5 8.869C11.351 8.956 11.185 9 11 9Z" />
  </svg>
</template>
```

### Svelte

```svelte
<!-- Gentleface "tools-upright" (line-round), MIT. https://gentleface.com/icons/tools-upright -->
<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="M12.144 1.144C12.241 1.048 12.359 1 12.5 1C12.641 1 12.759 1.048 12.856 1.144C12.952 1.241 13 1.359 13 1.5L13 6C13.276 6 13.512 6.098 13.707 6.293C13.902 6.488 14 6.724 14 7L14 8C14.276 8 14.512 8.098 14.707 8.293C14.902 8.488 15 8.724 15 9L15 12.5C15 12.818 14.941 13.125 14.824 13.42C14.697 13.741 14.512 14.024 14.268 14.268C14.024 14.512 13.741 14.697 13.42 14.824C13.125 14.941 12.818 15 12.5 15C12.182 15 11.875 14.941 11.58 14.824C11.259 14.697 10.976 14.512 10.732 14.268C10.488 14.024 10.303 13.741 10.176 13.42C10.059 13.125 10 12.818 10 12.5L10 9C10 8.724 10.098 8.488 10.293 8.293C10.488 8.098 10.724 8 11 8L11 7C11 6.724 11.098 6.488 11.293 6.293C11.488 6.098 11.724 6 12 6L12 1.5C12 1.359 12.048 1.241 12.144 1.144ZM6 5L6 1.838C6 1.763 6.016 1.691 6.048 1.623C6.109 1.496 6.203 1.41 6.331 1.364C6.459 1.318 6.587 1.326 6.714 1.386C7.412 1.717 7.968 2.209 8.381 2.862C8.794 3.515 9 4.227 9 5C9 5.773 8.794 6.485 8.381 7.138C8.026 7.699 7.565 8.142 7 8.465L7 13C7 13.254 6.953 13.5 6.86 13.736C6.758 13.993 6.609 14.219 6.414 14.414C6.219 14.609 5.993 14.758 5.736 14.86C5.5 14.953 5.254 15 5 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 8.465C2.435 8.142 1.974 7.699 1.619 7.138C1.206 6.485 1 5.773 1 5C1 4.227 1.206 3.515 1.619 2.862C2.032 2.209 2.588 1.717 3.286 1.386C3.354 1.354 3.425 1.338 3.5 1.338C3.641 1.338 3.759 1.386 3.856 1.482C3.952 1.578 4 1.697 4 1.838L4 5L6 5ZM2.465 3.396C2.155 3.886 2 4.421 2 5C2 5.579 2.155 6.114 2.465 6.604C2.774 7.093 3.191 7.462 3.714 7.711C3.802 7.752 3.872 7.814 3.923 7.895C3.974 7.976 4 8.065 4 8.162L4 13C4 13.276 4.098 13.512 4.293 13.707C4.488 13.902 4.724 14 5 14C5.276 14 5.512 13.902 5.707 13.707C5.902 13.512 6 13.276 6 13L6 8.162C6 8.065 6.026 7.976 6.077 7.895C6.128 7.814 6.198 7.752 6.286 7.711C6.809 7.462 7.226 7.093 7.535 6.604C7.845 6.114 8 5.579 8 5C8 4.421 7.845 3.886 7.535 3.396C7.383 3.155 7.204 2.943 7 2.761L7 5C7 5.276 6.902 5.512 6.707 5.707C6.512 5.902 6.276 6 6 6L4 6C3.724 6 3.488 5.902 3.293 5.707C3.098 5.512 3 5.276 3 5L3 2.761C2.796 2.943 2.617 3.155 2.465 3.396ZM12 8L13 8L13 7L12 7L12 8ZM11 9L11 12.5C11 12.691 11.035 12.875 11.105 13.052C11.182 13.245 11.293 13.414 11.439 13.561C11.586 13.707 11.755 13.818 11.948 13.895C12.125 13.965 12.309 14 12.5 14C12.691 14 12.875 13.965 13.052 13.895C13.245 13.818 13.414 13.707 13.561 13.561C13.707 13.414 13.818 13.245 13.895 13.052C13.965 12.875 14 12.691 14 12.5L14 9C13.815 9 13.649 8.956 13.5 8.869C13.416 8.953 13.301 9 13.182 9L11.818 9C11.699 9 11.584 8.953 11.5 8.869C11.351 8.956 11.185 9 11 9Z" />
</svg>
```

### HTML img

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

### CSS

```css
/* Gentleface "tools-upright" (line-round), MIT. https://gentleface.com/icons/tools-upright. Takes the text color. */
.icon-tools-upright {
  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='M12.144 1.144C12.241 1.048 12.359 1 12.5 1C12.641 1 12.759 1.048 12.856 1.144C12.952 1.241 13 1.359 13 1.5L13 6C13.276 6 13.512 6.098 13.707 6.293C13.902 6.488 14 6.724 14 7L14 8C14.276 8 14.512 8.098 14.707 8.293C14.902 8.488 15 8.724 15 9L15 12.5C15 12.818 14.941 13.125 14.824 13.42C14.697 13.741 14.512 14.024 14.268 14.268C14.024 14.512 13.741 14.697 13.42 14.824C13.125 14.941 12.818 15 12.5 15C12.182 15 11.875 14.941 11.58 14.824C11.259 14.697 10.976 14.512 10.732 14.268C10.488 14.024 10.303 13.741 10.176 13.42C10.059 13.125 10 12.818 10 12.5L10 9C10 8.724 10.098 8.488 10.293 8.293C10.488 8.098 10.724 8 11 8L11 7C11 6.724 11.098 6.488 11.293 6.293C11.488 6.098 11.724 6 12 6L12 1.5C12 1.359 12.048 1.241 12.144 1.144ZM6 5L6 1.838C6 1.763 6.016 1.691 6.048 1.623C6.109 1.496 6.203 1.41 6.331 1.364C6.459 1.318 6.587 1.326 6.714 1.386C7.412 1.717 7.968 2.209 8.381 2.862C8.794 3.515 9 4.227 9 5C9 5.773 8.794 6.485 8.381 7.138C8.026 7.699 7.565 8.142 7 8.465L7 13C7 13.254 6.953 13.5 6.86 13.736C6.758 13.993 6.609 14.219 6.414 14.414C6.219 14.609 5.993 14.758 5.736 14.86C5.5 14.953 5.254 15 5 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 8.465C2.435 8.142 1.974 7.699 1.619 7.138C1.206 6.485 1 5.773 1 5C1 4.227 1.206 3.515 1.619 2.862C2.032 2.209 2.588 1.717 3.286 1.386C3.354 1.354 3.425 1.338 3.5 1.338C3.641 1.338 3.759 1.386 3.856 1.482C3.952 1.578 4 1.697 4 1.838L4 5L6 5ZM2.465 3.396C2.155 3.886 2 4.421 2 5C2 5.579 2.155 6.114 2.465 6.604C2.774 7.093 3.191 7.462 3.714 7.711C3.802 7.752 3.872 7.814 3.923 7.895C3.974 7.976 4 8.065 4 8.162L4 13C4 13.276 4.098 13.512 4.293 13.707C4.488 13.902 4.724 14 5 14C5.276 14 5.512 13.902 5.707 13.707C5.902 13.512 6 13.276 6 13L6 8.162C6 8.065 6.026 7.976 6.077 7.895C6.128 7.814 6.198 7.752 6.286 7.711C6.809 7.462 7.226 7.093 7.535 6.604C7.845 6.114 8 5.579 8 5C8 4.421 7.845 3.886 7.535 3.396C7.383 3.155 7.204 2.943 7 2.761L7 5C7 5.276 6.902 5.512 6.707 5.707C6.512 5.902 6.276 6 6 6L4 6C3.724 6 3.488 5.902 3.293 5.707C3.098 5.512 3 5.276 3 5L3 2.761C2.796 2.943 2.617 3.155 2.465 3.396ZM12 8L13 8L13 7L12 7L12 8ZM11 9L11 12.5C11 12.691 11.035 12.875 11.105 13.052C11.182 13.245 11.293 13.414 11.439 13.561C11.586 13.707 11.755 13.818 11.948 13.895C12.125 13.965 12.309 14 12.5 14C12.691 14 12.875 13.965 13.052 13.895C13.245 13.818 13.414 13.707 13.561 13.561C13.707 13.414 13.818 13.245 13.895 13.052C13.965 12.875 14 12.691 14 12.5L14 9C13.815 9 13.649 8.956 13.5 8.869C13.416 8.953 13.301 9 13.182 9L11.818 9C11.699 9 11.584 8.953 11.5 8.869C11.351 8.956 11.185 9 11 9Z'/%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='M12.144 1.144C12.241 1.048 12.359 1 12.5 1C12.641 1 12.759 1.048 12.856 1.144C12.952 1.241 13 1.359 13 1.5L13 6C13.276 6 13.512 6.098 13.707 6.293C13.902 6.488 14 6.724 14 7L14 8C14.276 8 14.512 8.098 14.707 8.293C14.902 8.488 15 8.724 15 9L15 12.5C15 12.818 14.941 13.125 14.824 13.42C14.697 13.741 14.512 14.024 14.268 14.268C14.024 14.512 13.741 14.697 13.42 14.824C13.125 14.941 12.818 15 12.5 15C12.182 15 11.875 14.941 11.58 14.824C11.259 14.697 10.976 14.512 10.732 14.268C10.488 14.024 10.303 13.741 10.176 13.42C10.059 13.125 10 12.818 10 12.5L10 9C10 8.724 10.098 8.488 10.293 8.293C10.488 8.098 10.724 8 11 8L11 7C11 6.724 11.098 6.488 11.293 6.293C11.488 6.098 11.724 6 12 6L12 1.5C12 1.359 12.048 1.241 12.144 1.144ZM6 5L6 1.838C6 1.763 6.016 1.691 6.048 1.623C6.109 1.496 6.203 1.41 6.331 1.364C6.459 1.318 6.587 1.326 6.714 1.386C7.412 1.717 7.968 2.209 8.381 2.862C8.794 3.515 9 4.227 9 5C9 5.773 8.794 6.485 8.381 7.138C8.026 7.699 7.565 8.142 7 8.465L7 13C7 13.254 6.953 13.5 6.86 13.736C6.758 13.993 6.609 14.219 6.414 14.414C6.219 14.609 5.993 14.758 5.736 14.86C5.5 14.953 5.254 15 5 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 8.465C2.435 8.142 1.974 7.699 1.619 7.138C1.206 6.485 1 5.773 1 5C1 4.227 1.206 3.515 1.619 2.862C2.032 2.209 2.588 1.717 3.286 1.386C3.354 1.354 3.425 1.338 3.5 1.338C3.641 1.338 3.759 1.386 3.856 1.482C3.952 1.578 4 1.697 4 1.838L4 5L6 5ZM2.465 3.396C2.155 3.886 2 4.421 2 5C2 5.579 2.155 6.114 2.465 6.604C2.774 7.093 3.191 7.462 3.714 7.711C3.802 7.752 3.872 7.814 3.923 7.895C3.974 7.976 4 8.065 4 8.162L4 13C4 13.276 4.098 13.512 4.293 13.707C4.488 13.902 4.724 14 5 14C5.276 14 5.512 13.902 5.707 13.707C5.902 13.512 6 13.276 6 13L6 8.162C6 8.065 6.026 7.976 6.077 7.895C6.128 7.814 6.198 7.752 6.286 7.711C6.809 7.462 7.226 7.093 7.535 6.604C7.845 6.114 8 5.579 8 5C8 4.421 7.845 3.886 7.535 3.396C7.383 3.155 7.204 2.943 7 2.761L7 5C7 5.276 6.902 5.512 6.707 5.707C6.512 5.902 6.276 6 6 6L4 6C3.724 6 3.488 5.902 3.293 5.707C3.098 5.512 3 5.276 3 5L3 2.761C2.796 2.943 2.617 3.155 2.465 3.396ZM12 8L13 8L13 7L12 7L12 8ZM11 9L11 12.5C11 12.691 11.035 12.875 11.105 13.052C11.182 13.245 11.293 13.414 11.439 13.561C11.586 13.707 11.755 13.818 11.948 13.895C12.125 13.965 12.309 14 12.5 14C12.691 14 12.875 13.965 13.052 13.895C13.245 13.818 13.414 13.707 13.561 13.561C13.707 13.414 13.818 13.245 13.895 13.052C13.965 12.875 14 12.691 14 12.5L14 9C13.815 9 13.649 8.956 13.5 8.869C13.416 8.953 13.301 9 13.182 9L11.818 9C11.699 9 11.584 8.953 11.5 8.869C11.351 8.956 11.185 9 11 9Z'/%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='M12.144 1.144C12.241 1.048 12.359 1 12.5 1C12.641 1 12.759 1.048 12.856 1.144C12.952 1.241 13 1.359 13 1.5L13 6C13.276 6 13.512 6.098 13.707 6.293C13.902 6.488 14 6.724 14 7L14 8C14.276 8 14.512 8.098 14.707 8.293C14.902 8.488 15 8.724 15 9L15 12.5C15 12.818 14.941 13.125 14.824 13.42C14.697 13.741 14.512 14.024 14.268 14.268C14.024 14.512 13.741 14.697 13.42 14.824C13.125 14.941 12.818 15 12.5 15C12.182 15 11.875 14.941 11.58 14.824C11.259 14.697 10.976 14.512 10.732 14.268C10.488 14.024 10.303 13.741 10.176 13.42C10.059 13.125 10 12.818 10 12.5L10 9C10 8.724 10.098 8.488 10.293 8.293C10.488 8.098 10.724 8 11 8L11 7C11 6.724 11.098 6.488 11.293 6.293C11.488 6.098 11.724 6 12 6L12 1.5C12 1.359 12.048 1.241 12.144 1.144ZM6 5L6 1.838C6 1.763 6.016 1.691 6.048 1.623C6.109 1.496 6.203 1.41 6.331 1.364C6.459 1.318 6.587 1.326 6.714 1.386C7.412 1.717 7.968 2.209 8.381 2.862C8.794 3.515 9 4.227 9 5C9 5.773 8.794 6.485 8.381 7.138C8.026 7.699 7.565 8.142 7 8.465L7 13C7 13.254 6.953 13.5 6.86 13.736C6.758 13.993 6.609 14.219 6.414 14.414C6.219 14.609 5.993 14.758 5.736 14.86C5.5 14.953 5.254 15 5 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 8.465C2.435 8.142 1.974 7.699 1.619 7.138C1.206 6.485 1 5.773 1 5C1 4.227 1.206 3.515 1.619 2.862C2.032 2.209 2.588 1.717 3.286 1.386C3.354 1.354 3.425 1.338 3.5 1.338C3.641 1.338 3.759 1.386 3.856 1.482C3.952 1.578 4 1.697 4 1.838L4 5L6 5ZM2.465 3.396C2.155 3.886 2 4.421 2 5C2 5.579 2.155 6.114 2.465 6.604C2.774 7.093 3.191 7.462 3.714 7.711C3.802 7.752 3.872 7.814 3.923 7.895C3.974 7.976 4 8.065 4 8.162L4 13C4 13.276 4.098 13.512 4.293 13.707C4.488 13.902 4.724 14 5 14C5.276 14 5.512 13.902 5.707 13.707C5.902 13.512 6 13.276 6 13L6 8.162C6 8.065 6.026 7.976 6.077 7.895C6.128 7.814 6.198 7.752 6.286 7.711C6.809 7.462 7.226 7.093 7.535 6.604C7.845 6.114 8 5.579 8 5C8 4.421 7.845 3.886 7.535 3.396C7.383 3.155 7.204 2.943 7 2.761L7 5C7 5.276 6.902 5.512 6.707 5.707C6.512 5.902 6.276 6 6 6L4 6C3.724 6 3.488 5.902 3.293 5.707C3.098 5.512 3 5.276 3 5L3 2.761C2.796 2.943 2.617 3.155 2.465 3.396ZM12 8L13 8L13 7L12 7L12 8ZM11 9L11 12.5C11 12.691 11.035 12.875 11.105 13.052C11.182 13.245 11.293 13.414 11.439 13.561C11.586 13.707 11.755 13.818 11.948 13.895C12.125 13.965 12.309 14 12.5 14C12.691 14 12.875 13.965 13.052 13.895C13.245 13.818 13.414 13.707 13.561 13.561C13.707 13.414 13.818 13.245 13.895 13.052C13.965 12.875 14 12.691 14 12.5L14 9C13.815 9 13.649 8.956 13.5 8.869C13.416 8.953 13.301 9 13.182 9L11.818 9C11.699 9 11.584 8.953 11.5 8.869C11.351 8.956 11.185 9 11 9Z'/%3E%3C/svg%3E
```

### Sprite

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

### SwiftUI

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

struct ToolsUprightIcon: Shape {
    func path(in rect: CGRect) -> Path {
        var p = Path()
        p.move(to: CGPoint(x: 12.144, y: 1.144))
        p.addCurve(to: CGPoint(x: 12.5, y: 1), control1: CGPoint(x: 12.241, y: 1.048), control2: CGPoint(x: 12.359, y: 1))
        p.addCurve(to: CGPoint(x: 12.856, y: 1.144), control1: CGPoint(x: 12.641, y: 1), control2: CGPoint(x: 12.759, y: 1.048))
        p.addCurve(to: CGPoint(x: 13, y: 1.5), control1: CGPoint(x: 12.952, y: 1.241), control2: CGPoint(x: 13, y: 1.359))
        p.addLine(to: CGPoint(x: 13, y: 6))
        p.addCurve(to: CGPoint(x: 13.707, y: 6.293), control1: CGPoint(x: 13.276, y: 6), control2: CGPoint(x: 13.512, y: 6.098))
        p.addCurve(to: CGPoint(x: 14, y: 7), control1: CGPoint(x: 13.902, y: 6.488), control2: CGPoint(x: 14, y: 6.724))
        p.addLine(to: CGPoint(x: 14, y: 8))
        p.addCurve(to: CGPoint(x: 14.707, y: 8.293), control1: CGPoint(x: 14.276, y: 8), control2: CGPoint(x: 14.512, y: 8.098))
        p.addCurve(to: CGPoint(x: 15, y: 9), control1: CGPoint(x: 14.902, y: 8.488), control2: CGPoint(x: 15, y: 8.724))
        p.addLine(to: CGPoint(x: 15, y: 12.5))
        p.addCurve(to: CGPoint(x: 14.824, y: 13.42), control1: CGPoint(x: 15, y: 12.818), control2: CGPoint(x: 14.941, y: 13.125))
        p.addCurve(to: CGPoint(x: 14.268, y: 14.268), control1: CGPoint(x: 14.697, y: 13.741), control2: CGPoint(x: 14.512, y: 14.024))
        p.addCurve(to: CGPoint(x: 13.42, y: 14.824), control1: CGPoint(x: 14.024, y: 14.512), control2: CGPoint(x: 13.741, y: 14.697))
        p.addCurve(to: CGPoint(x: 12.5, y: 15), control1: CGPoint(x: 13.125, y: 14.941), control2: CGPoint(x: 12.818, y: 15))
        p.addCurve(to: CGPoint(x: 11.58, y: 14.824), control1: CGPoint(x: 12.182, y: 15), control2: CGPoint(x: 11.875, y: 14.941))
        p.addCurve(to: CGPoint(x: 10.732, y: 14.268), control1: CGPoint(x: 11.259, y: 14.697), control2: CGPoint(x: 10.976, y: 14.512))
        p.addCurve(to: CGPoint(x: 10.176, y: 13.42), control1: CGPoint(x: 10.488, y: 14.024), control2: CGPoint(x: 10.303, y: 13.741))
        p.addCurve(to: CGPoint(x: 10, y: 12.5), control1: CGPoint(x: 10.059, y: 13.125), control2: CGPoint(x: 10, y: 12.818))
        p.addLine(to: CGPoint(x: 10, y: 9))
        p.addCurve(to: CGPoint(x: 10.293, y: 8.293), control1: CGPoint(x: 10, y: 8.724), control2: CGPoint(x: 10.098, y: 8.488))
        p.addCurve(to: CGPoint(x: 11, y: 8), control1: CGPoint(x: 10.488, y: 8.098), control2: CGPoint(x: 10.724, y: 8))
        p.addLine(to: CGPoint(x: 11, y: 7))
        p.addCurve(to: CGPoint(x: 11.293, y: 6.293), control1: CGPoint(x: 11, y: 6.724), control2: CGPoint(x: 11.098, y: 6.488))
        p.addCurve(to: CGPoint(x: 12, y: 6), control1: CGPoint(x: 11.488, y: 6.098), control2: CGPoint(x: 11.724, y: 6))
        p.addLine(to: CGPoint(x: 12, y: 1.5))
        p.addCurve(to: CGPoint(x: 12.144, y: 1.144), control1: CGPoint(x: 12, y: 1.359), control2: CGPoint(x: 12.048, y: 1.241))
        p.closeSubpath()
        p.move(to: CGPoint(x: 6, y: 5))
        p.addLine(to: CGPoint(x: 6, y: 1.838))
        p.addCurve(to: CGPoint(x: 6.048, y: 1.623), control1: CGPoint(x: 6, y: 1.763), control2: CGPoint(x: 6.016, y: 1.691))
        p.addCurve(to: CGPoint(x: 6.331, y: 1.364), control1: CGPoint(x: 6.109, y: 1.496), control2: CGPoint(x: 6.203, y: 1.41))
        p.addCurve(to: CGPoint(x: 6.714, y: 1.386), control1: CGPoint(x: 6.459, y: 1.318), control2: CGPoint(x: 6.587, y: 1.326))
        p.addCurve(to: CGPoint(x: 8.381, y: 2.862), control1: CGPoint(x: 7.412, y: 1.717), control2: CGPoint(x: 7.968, y: 2.209))
        p.addCurve(to: CGPoint(x: 9, y: 5), control1: CGPoint(x: 8.794, y: 3.515), control2: CGPoint(x: 9, y: 4.227))
        p.addCurve(to: CGPoint(x: 8.381, y: 7.138), control1: CGPoint(x: 9, y: 5.773), control2: CGPoint(x: 8.794, y: 6.485))
        p.addCurve(to: CGPoint(x: 7, y: 8.465), control1: CGPoint(x: 8.026, y: 7.699), control2: CGPoint(x: 7.565, y: 8.142))
        p.addLine(to: CGPoint(x: 7, y: 13))
        p.addCurve(to: CGPoint(x: 6.86, y: 13.736), control1: CGPoint(x: 7, y: 13.254), control2: CGPoint(x: 6.953, y: 13.5))
        p.addCurve(to: CGPoint(x: 6.414, y: 14.414), control1: CGPoint(x: 6.758, y: 13.993), control2: CGPoint(x: 6.609, y: 14.219))
        p.addCurve(to: CGPoint(x: 5.736, y: 14.86), control1: CGPoint(x: 6.219, y: 14.609), control2: CGPoint(x: 5.993, y: 14.758))
        p.addCurve(to: CGPoint(x: 5, y: 15), control1: CGPoint(x: 5.5, y: 14.953), control2: CGPoint(x: 5.254, 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: 8.465))
        p.addCurve(to: CGPoint(x: 1.619, y: 7.138), control1: CGPoint(x: 2.435, y: 8.142), control2: CGPoint(x: 1.974, y: 7.699))
        p.addCurve(to: CGPoint(x: 1, y: 5), control1: CGPoint(x: 1.206, y: 6.485), control2: CGPoint(x: 1, y: 5.773))
        p.addCurve(to: CGPoint(x: 1.619, y: 2.862), control1: CGPoint(x: 1, y: 4.227), control2: CGPoint(x: 1.206, y: 3.515))
        p.addCurve(to: CGPoint(x: 3.286, y: 1.386), control1: CGPoint(x: 2.032, y: 2.209), control2: CGPoint(x: 2.588, y: 1.717))
        p.addCurve(to: CGPoint(x: 3.5, y: 1.338), control1: CGPoint(x: 3.354, y: 1.354), control2: CGPoint(x: 3.425, y: 1.338))
        p.addCurve(to: CGPoint(x: 3.856, y: 1.482), control1: CGPoint(x: 3.641, y: 1.338), control2: CGPoint(x: 3.759, y: 1.386))
        p.addCurve(to: CGPoint(x: 4, y: 1.838), control1: CGPoint(x: 3.952, y: 1.578), control2: CGPoint(x: 4, y: 1.697))
        p.addLine(to: CGPoint(x: 4, y: 5))
        p.addLine(to: CGPoint(x: 6, y: 5))
        p.closeSubpath()
        p.move(to: CGPoint(x: 2.465, y: 3.396))
        p.addCurve(to: CGPoint(x: 2, y: 5), control1: CGPoint(x: 2.155, y: 3.886), control2: CGPoint(x: 2, y: 4.421))
        p.addCurve(to: CGPoint(x: 2.465, y: 6.604), control1: CGPoint(x: 2, y: 5.579), control2: CGPoint(x: 2.155, y: 6.114))
        p.addCurve(to: CGPoint(x: 3.714, y: 7.711), control1: CGPoint(x: 2.774, y: 7.093), control2: CGPoint(x: 3.191, y: 7.462))
        p.addCurve(to: CGPoint(x: 3.923, y: 7.895), control1: CGPoint(x: 3.802, y: 7.752), control2: CGPoint(x: 3.872, y: 7.814))
        p.addCurve(to: CGPoint(x: 4, y: 8.162), control1: CGPoint(x: 3.974, y: 7.976), control2: CGPoint(x: 4, y: 8.065))
        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.addCurve(to: CGPoint(x: 5.707, y: 13.707), control1: CGPoint(x: 5.276, y: 14), control2: CGPoint(x: 5.512, y: 13.902))
        p.addCurve(to: CGPoint(x: 6, y: 13), control1: CGPoint(x: 5.902, y: 13.512), control2: CGPoint(x: 6, y: 13.276))
        p.addLine(to: CGPoint(x: 6, y: 8.162))
        p.addCurve(to: CGPoint(x: 6.077, y: 7.895), control1: CGPoint(x: 6, y: 8.065), control2: CGPoint(x: 6.026, y: 7.976))
        p.addCurve(to: CGPoint(x: 6.286, y: 7.711), control1: CGPoint(x: 6.128, y: 7.814), control2: CGPoint(x: 6.198, y: 7.752))
        p.addCurve(to: CGPoint(x: 7.535, y: 6.604), control1: CGPoint(x: 6.809, y: 7.462), control2: CGPoint(x: 7.226, y: 7.093))
        p.addCurve(to: CGPoint(x: 8, y: 5), control1: CGPoint(x: 7.845, y: 6.114), control2: CGPoint(x: 8, y: 5.579))
        p.addCurve(to: CGPoint(x: 7.535, y: 3.396), control1: CGPoint(x: 8, y: 4.421), control2: CGPoint(x: 7.845, y: 3.886))
        p.addCurve(to: CGPoint(x: 7, y: 2.761), control1: CGPoint(x: 7.383, y: 3.155), control2: CGPoint(x: 7.204, y: 2.943))
        p.addLine(to: CGPoint(x: 7, y: 5))
        p.addCurve(to: CGPoint(x: 6.707, y: 5.707), control1: CGPoint(x: 7, y: 5.276), control2: CGPoint(x: 6.902, y: 5.512))
        p.addCurve(to: CGPoint(x: 6, y: 6), control1: CGPoint(x: 6.512, y: 5.902), control2: CGPoint(x: 6.276, y: 6))
        p.addLine(to: CGPoint(x: 4, y: 6))
        p.addCurve(to: CGPoint(x: 3.293, y: 5.707), control1: CGPoint(x: 3.724, y: 6), control2: CGPoint(x: 3.488, y: 5.902))
        p.addCurve(to: CGPoint(x: 3, y: 5), control1: CGPoint(x: 3.098, y: 5.512), control2: CGPoint(x: 3, y: 5.276))
        p.addLine(to: CGPoint(x: 3, y: 2.761))
        p.addCurve(to: CGPoint(x: 2.465, y: 3.396), control1: CGPoint(x: 2.796, y: 2.943), control2: CGPoint(x: 2.617, y: 3.155))
        p.closeSubpath()
        p.move(to: CGPoint(x: 12, y: 8))
        p.addLine(to: CGPoint(x: 13, y: 8))
        p.addLine(to: CGPoint(x: 13, y: 7))
        p.addLine(to: CGPoint(x: 12, y: 7))
        p.addLine(to: CGPoint(x: 12, y: 8))
        p.closeSubpath()
        p.move(to: CGPoint(x: 11, y: 9))
        p.addLine(to: CGPoint(x: 11, y: 12.5))
        p.addCurve(to: CGPoint(x: 11.105, y: 13.052), control1: CGPoint(x: 11, y: 12.691), control2: CGPoint(x: 11.035, y: 12.875))
        p.addCurve(to: CGPoint(x: 11.439, y: 13.561), control1: CGPoint(x: 11.182, y: 13.245), control2: CGPoint(x: 11.293, y: 13.414))
        p.addCurve(to: CGPoint(x: 11.948, y: 13.895), control1: CGPoint(x: 11.586, y: 13.707), control2: CGPoint(x: 11.755, y: 13.818))
        p.addCurve(to: CGPoint(x: 12.5, y: 14), control1: CGPoint(x: 12.125, y: 13.965), control2: CGPoint(x: 12.309, y: 14))
        p.addCurve(to: CGPoint(x: 13.052, y: 13.895), control1: CGPoint(x: 12.691, y: 14), control2: CGPoint(x: 12.875, y: 13.965))
        p.addCurve(to: CGPoint(x: 13.561, y: 13.561), control1: CGPoint(x: 13.245, y: 13.818), control2: CGPoint(x: 13.414, y: 13.707))
        p.addCurve(to: CGPoint(x: 13.895, y: 13.052), control1: CGPoint(x: 13.707, y: 13.414), control2: CGPoint(x: 13.818, y: 13.245))
        p.addCurve(to: CGPoint(x: 14, y: 12.5), control1: CGPoint(x: 13.965, y: 12.875), control2: CGPoint(x: 14, y: 12.691))
        p.addLine(to: CGPoint(x: 14, y: 9))
        p.addCurve(to: CGPoint(x: 13.5, y: 8.869), control1: CGPoint(x: 13.815, y: 9), control2: CGPoint(x: 13.649, y: 8.956))
        p.addCurve(to: CGPoint(x: 13.182, y: 9), control1: CGPoint(x: 13.416, y: 8.953), control2: CGPoint(x: 13.301, y: 9))
        p.addLine(to: CGPoint(x: 11.818, y: 9))
        p.addCurve(to: CGPoint(x: 11.5, y: 8.869), control1: CGPoint(x: 11.699, y: 9), control2: CGPoint(x: 11.584, y: 8.953))
        p.addCurve(to: CGPoint(x: 11, y: 9), control1: CGPoint(x: 11.351, y: 8.956), control2: CGPoint(x: 11.185, y: 9))
        p.closeSubpath()
        return p.applying(CGAffineTransform(scaleX: rect.width / 16, y: rect.height / 16))
    }
}

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

### Compose

```kotlin
// Gentleface "tools-upright" (line-round), MIT. https://gentleface.com/icons/tools-upright
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 ToolsUprightIcon: ImageVector by lazy {
    ImageVector.Builder(
        name = "tools-upright", defaultWidth = 16.dp, defaultHeight = 16.dp,
        viewportWidth = 16f, viewportHeight = 16f,
    ).addPath(
        pathData = addPathNodes("M12.144 1.144C12.241 1.048 12.359 1 12.5 1C12.641 1 12.759 1.048 12.856 1.144C12.952 1.241 13 1.359 13 1.5L13 6C13.276 6 13.512 6.098 13.707 6.293C13.902 6.488 14 6.724 14 7L14 8C14.276 8 14.512 8.098 14.707 8.293C14.902 8.488 15 8.724 15 9L15 12.5C15 12.818 14.941 13.125 14.824 13.42C14.697 13.741 14.512 14.024 14.268 14.268C14.024 14.512 13.741 14.697 13.42 14.824C13.125 14.941 12.818 15 12.5 15C12.182 15 11.875 14.941 11.58 14.824C11.259 14.697 10.976 14.512 10.732 14.268C10.488 14.024 10.303 13.741 10.176 13.42C10.059 13.125 10 12.818 10 12.5L10 9C10 8.724 10.098 8.488 10.293 8.293C10.488 8.098 10.724 8 11 8L11 7C11 6.724 11.098 6.488 11.293 6.293C11.488 6.098 11.724 6 12 6L12 1.5C12 1.359 12.048 1.241 12.144 1.144ZM6 5L6 1.838C6 1.763 6.016 1.691 6.048 1.623C6.109 1.496 6.203 1.41 6.331 1.364C6.459 1.318 6.587 1.326 6.714 1.386C7.412 1.717 7.968 2.209 8.381 2.862C8.794 3.515 9 4.227 9 5C9 5.773 8.794 6.485 8.381 7.138C8.026 7.699 7.565 8.142 7 8.465L7 13C7 13.254 6.953 13.5 6.86 13.736C6.758 13.993 6.609 14.219 6.414 14.414C6.219 14.609 5.993 14.758 5.736 14.86C5.5 14.953 5.254 15 5 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 8.465C2.435 8.142 1.974 7.699 1.619 7.138C1.206 6.485 1 5.773 1 5C1 4.227 1.206 3.515 1.619 2.862C2.032 2.209 2.588 1.717 3.286 1.386C3.354 1.354 3.425 1.338 3.5 1.338C3.641 1.338 3.759 1.386 3.856 1.482C3.952 1.578 4 1.697 4 1.838L4 5L6 5ZM2.465 3.396C2.155 3.886 2 4.421 2 5C2 5.579 2.155 6.114 2.465 6.604C2.774 7.093 3.191 7.462 3.714 7.711C3.802 7.752 3.872 7.814 3.923 7.895C3.974 7.976 4 8.065 4 8.162L4 13C4 13.276 4.098 13.512 4.293 13.707C4.488 13.902 4.724 14 5 14C5.276 14 5.512 13.902 5.707 13.707C5.902 13.512 6 13.276 6 13L6 8.162C6 8.065 6.026 7.976 6.077 7.895C6.128 7.814 6.198 7.752 6.286 7.711C6.809 7.462 7.226 7.093 7.535 6.604C7.845 6.114 8 5.579 8 5C8 4.421 7.845 3.886 7.535 3.396C7.383 3.155 7.204 2.943 7 2.761L7 5C7 5.276 6.902 5.512 6.707 5.707C6.512 5.902 6.276 6 6 6L4 6C3.724 6 3.488 5.902 3.293 5.707C3.098 5.512 3 5.276 3 5L3 2.761C2.796 2.943 2.617 3.155 2.465 3.396ZM12 8L13 8L13 7L12 7L12 8ZM11 9L11 12.5C11 12.691 11.035 12.875 11.105 13.052C11.182 13.245 11.293 13.414 11.439 13.561C11.586 13.707 11.755 13.818 11.948 13.895C12.125 13.965 12.309 14 12.5 14C12.691 14 12.875 13.965 13.052 13.895C13.245 13.818 13.414 13.707 13.561 13.561C13.707 13.414 13.818 13.245 13.895 13.052C13.965 12.875 14 12.691 14 12.5L14 9C13.815 9 13.649 8.956 13.5 8.869C13.416 8.953 13.301 9 13.182 9L11.818 9C11.699 9 11.584 8.953 11.5 8.869C11.351 8.956 11.185 9 11 9Z"),
        fill = SolidColor(Color.Black),
    ).build()
}

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

### Android XML

```xml
<!-- res/drawable/ic_tools_upright.xml · Gentleface "tools-upright" (line-round), MIT. https://gentleface.com/icons/tools-upright -->
<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="M12.144 1.144C12.241 1.048 12.359 1 12.5 1C12.641 1 12.759 1.048 12.856 1.144C12.952 1.241 13 1.359 13 1.5L13 6C13.276 6 13.512 6.098 13.707 6.293C13.902 6.488 14 6.724 14 7L14 8C14.276 8 14.512 8.098 14.707 8.293C14.902 8.488 15 8.724 15 9L15 12.5C15 12.818 14.941 13.125 14.824 13.42C14.697 13.741 14.512 14.024 14.268 14.268C14.024 14.512 13.741 14.697 13.42 14.824C13.125 14.941 12.818 15 12.5 15C12.182 15 11.875 14.941 11.58 14.824C11.259 14.697 10.976 14.512 10.732 14.268C10.488 14.024 10.303 13.741 10.176 13.42C10.059 13.125 10 12.818 10 12.5L10 9C10 8.724 10.098 8.488 10.293 8.293C10.488 8.098 10.724 8 11 8L11 7C11 6.724 11.098 6.488 11.293 6.293C11.488 6.098 11.724 6 12 6L12 1.5C12 1.359 12.048 1.241 12.144 1.144ZM6 5L6 1.838C6 1.763 6.016 1.691 6.048 1.623C6.109 1.496 6.203 1.41 6.331 1.364C6.459 1.318 6.587 1.326 6.714 1.386C7.412 1.717 7.968 2.209 8.381 2.862C8.794 3.515 9 4.227 9 5C9 5.773 8.794 6.485 8.381 7.138C8.026 7.699 7.565 8.142 7 8.465L7 13C7 13.254 6.953 13.5 6.86 13.736C6.758 13.993 6.609 14.219 6.414 14.414C6.219 14.609 5.993 14.758 5.736 14.86C5.5 14.953 5.254 15 5 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 8.465C2.435 8.142 1.974 7.699 1.619 7.138C1.206 6.485 1 5.773 1 5C1 4.227 1.206 3.515 1.619 2.862C2.032 2.209 2.588 1.717 3.286 1.386C3.354 1.354 3.425 1.338 3.5 1.338C3.641 1.338 3.759 1.386 3.856 1.482C3.952 1.578 4 1.697 4 1.838L4 5L6 5ZM2.465 3.396C2.155 3.886 2 4.421 2 5C2 5.579 2.155 6.114 2.465 6.604C2.774 7.093 3.191 7.462 3.714 7.711C3.802 7.752 3.872 7.814 3.923 7.895C3.974 7.976 4 8.065 4 8.162L4 13C4 13.276 4.098 13.512 4.293 13.707C4.488 13.902 4.724 14 5 14C5.276 14 5.512 13.902 5.707 13.707C5.902 13.512 6 13.276 6 13L6 8.162C6 8.065 6.026 7.976 6.077 7.895C6.128 7.814 6.198 7.752 6.286 7.711C6.809 7.462 7.226 7.093 7.535 6.604C7.845 6.114 8 5.579 8 5C8 4.421 7.845 3.886 7.535 3.396C7.383 3.155 7.204 2.943 7 2.761L7 5C7 5.276 6.902 5.512 6.707 5.707C6.512 5.902 6.276 6 6 6L4 6C3.724 6 3.488 5.902 3.293 5.707C3.098 5.512 3 5.276 3 5L3 2.761C2.796 2.943 2.617 3.155 2.465 3.396ZM12 8L13 8L13 7L12 7L12 8ZM11 9L11 12.5C11 12.691 11.035 12.875 11.105 13.052C11.182 13.245 11.293 13.414 11.439 13.561C11.586 13.707 11.755 13.818 11.948 13.895C12.125 13.965 12.309 14 12.5 14C12.691 14 12.875 13.965 13.052 13.895C13.245 13.818 13.414 13.707 13.561 13.561C13.707 13.414 13.818 13.245 13.895 13.052C13.965 12.875 14 12.691 14 12.5L14 9C13.815 9 13.649 8.956 13.5 8.869C13.416 8.953 13.301 9 13.182 9L11.818 9C11.699 9 11.584 8.953 11.5 8.869C11.351 8.956 11.185 9 11 9Z"/>
</vector>
```

### Flutter

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

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

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

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

  @override
  void paint(Canvas canvas, Size size) {
    canvas.scale(size.width / 16, size.height / 16);
    final p = Path()
      ..moveTo(12.144, 1.144)
      ..cubicTo(12.241, 1.048, 12.359, 1, 12.5, 1)
      ..cubicTo(12.641, 1, 12.759, 1.048, 12.856, 1.144)
      ..cubicTo(12.952, 1.241, 13, 1.359, 13, 1.5)
      ..lineTo(13, 6)
      ..cubicTo(13.276, 6, 13.512, 6.098, 13.707, 6.293)
      ..cubicTo(13.902, 6.488, 14, 6.724, 14, 7)
      ..lineTo(14, 8)
      ..cubicTo(14.276, 8, 14.512, 8.098, 14.707, 8.293)
      ..cubicTo(14.902, 8.488, 15, 8.724, 15, 9)
      ..lineTo(15, 12.5)
      ..cubicTo(15, 12.818, 14.941, 13.125, 14.824, 13.42)
      ..cubicTo(14.697, 13.741, 14.512, 14.024, 14.268, 14.268)
      ..cubicTo(14.024, 14.512, 13.741, 14.697, 13.42, 14.824)
      ..cubicTo(13.125, 14.941, 12.818, 15, 12.5, 15)
      ..cubicTo(12.182, 15, 11.875, 14.941, 11.58, 14.824)
      ..cubicTo(11.259, 14.697, 10.976, 14.512, 10.732, 14.268)
      ..cubicTo(10.488, 14.024, 10.303, 13.741, 10.176, 13.42)
      ..cubicTo(10.059, 13.125, 10, 12.818, 10, 12.5)
      ..lineTo(10, 9)
      ..cubicTo(10, 8.724, 10.098, 8.488, 10.293, 8.293)
      ..cubicTo(10.488, 8.098, 10.724, 8, 11, 8)
      ..lineTo(11, 7)
      ..cubicTo(11, 6.724, 11.098, 6.488, 11.293, 6.293)
      ..cubicTo(11.488, 6.098, 11.724, 6, 12, 6)
      ..lineTo(12, 1.5)
      ..cubicTo(12, 1.359, 12.048, 1.241, 12.144, 1.144)
      ..close()
      ..moveTo(6, 5)
      ..lineTo(6, 1.838)
      ..cubicTo(6, 1.763, 6.016, 1.691, 6.048, 1.623)
      ..cubicTo(6.109, 1.496, 6.203, 1.41, 6.331, 1.364)
      ..cubicTo(6.459, 1.318, 6.587, 1.326, 6.714, 1.386)
      ..cubicTo(7.412, 1.717, 7.968, 2.209, 8.381, 2.862)
      ..cubicTo(8.794, 3.515, 9, 4.227, 9, 5)
      ..cubicTo(9, 5.773, 8.794, 6.485, 8.381, 7.138)
      ..cubicTo(8.026, 7.699, 7.565, 8.142, 7, 8.465)
      ..lineTo(7, 13)
      ..cubicTo(7, 13.254, 6.953, 13.5, 6.86, 13.736)
      ..cubicTo(6.758, 13.993, 6.609, 14.219, 6.414, 14.414)
      ..cubicTo(6.219, 14.609, 5.993, 14.758, 5.736, 14.86)
      ..cubicTo(5.5, 14.953, 5.254, 15, 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, 8.465)
      ..cubicTo(2.435, 8.142, 1.974, 7.699, 1.619, 7.138)
      ..cubicTo(1.206, 6.485, 1, 5.773, 1, 5)
      ..cubicTo(1, 4.227, 1.206, 3.515, 1.619, 2.862)
      ..cubicTo(2.032, 2.209, 2.588, 1.717, 3.286, 1.386)
      ..cubicTo(3.354, 1.354, 3.425, 1.338, 3.5, 1.338)
      ..cubicTo(3.641, 1.338, 3.759, 1.386, 3.856, 1.482)
      ..cubicTo(3.952, 1.578, 4, 1.697, 4, 1.838)
      ..lineTo(4, 5)
      ..lineTo(6, 5)
      ..close()
      ..moveTo(2.465, 3.396)
      ..cubicTo(2.155, 3.886, 2, 4.421, 2, 5)
      ..cubicTo(2, 5.579, 2.155, 6.114, 2.465, 6.604)
      ..cubicTo(2.774, 7.093, 3.191, 7.462, 3.714, 7.711)
      ..cubicTo(3.802, 7.752, 3.872, 7.814, 3.923, 7.895)
      ..cubicTo(3.974, 7.976, 4, 8.065, 4, 8.162)
      ..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)
      ..cubicTo(5.276, 14, 5.512, 13.902, 5.707, 13.707)
      ..cubicTo(5.902, 13.512, 6, 13.276, 6, 13)
      ..lineTo(6, 8.162)
      ..cubicTo(6, 8.065, 6.026, 7.976, 6.077, 7.895)
      ..cubicTo(6.128, 7.814, 6.198, 7.752, 6.286, 7.711)
      ..cubicTo(6.809, 7.462, 7.226, 7.093, 7.535, 6.604)
      ..cubicTo(7.845, 6.114, 8, 5.579, 8, 5)
      ..cubicTo(8, 4.421, 7.845, 3.886, 7.535, 3.396)
      ..cubicTo(7.383, 3.155, 7.204, 2.943, 7, 2.761)
      ..lineTo(7, 5)
      ..cubicTo(7, 5.276, 6.902, 5.512, 6.707, 5.707)
      ..cubicTo(6.512, 5.902, 6.276, 6, 6, 6)
      ..lineTo(4, 6)
      ..cubicTo(3.724, 6, 3.488, 5.902, 3.293, 5.707)
      ..cubicTo(3.098, 5.512, 3, 5.276, 3, 5)
      ..lineTo(3, 2.761)
      ..cubicTo(2.796, 2.943, 2.617, 3.155, 2.465, 3.396)
      ..close()
      ..moveTo(12, 8)
      ..lineTo(13, 8)
      ..lineTo(13, 7)
      ..lineTo(12, 7)
      ..lineTo(12, 8)
      ..close()
      ..moveTo(11, 9)
      ..lineTo(11, 12.5)
      ..cubicTo(11, 12.691, 11.035, 12.875, 11.105, 13.052)
      ..cubicTo(11.182, 13.245, 11.293, 13.414, 11.439, 13.561)
      ..cubicTo(11.586, 13.707, 11.755, 13.818, 11.948, 13.895)
      ..cubicTo(12.125, 13.965, 12.309, 14, 12.5, 14)
      ..cubicTo(12.691, 14, 12.875, 13.965, 13.052, 13.895)
      ..cubicTo(13.245, 13.818, 13.414, 13.707, 13.561, 13.561)
      ..cubicTo(13.707, 13.414, 13.818, 13.245, 13.895, 13.052)
      ..cubicTo(13.965, 12.875, 14, 12.691, 14, 12.5)
      ..lineTo(14, 9)
      ..cubicTo(13.815, 9, 13.649, 8.956, 13.5, 8.869)
      ..cubicTo(13.416, 8.953, 13.301, 9, 13.182, 9)
      ..lineTo(11.818, 9)
      ..cubicTo(11.699, 9, 11.584, 8.953, 11.5, 8.869)
      ..cubicTo(11.351, 8.956, 11.185, 9, 11, 9)
      ..close();
    canvas.drawPath(p, Paint()..color = color);
  }

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