antfu/drauu

Headless SVG-based drawboard in browser.

1,518

stars

142

commits

TypeScript

primary language

Jan 13, 2026

updated

drauu.netlify.app/
drawboard

README

drauu

NPM version

SVG-based drawing tool in browser. Built for Slidev.

Live Demo (built with Vanilla JavaScript!)

Features

  • Vanilla JavaScript - integrate into any framework you like
  • SVG-based - scalable, transparent, and serializable
  • Stylus / Touch pressure support
  • Headless (unstyled) - style it as you want
  • Undo / Redo stacks

Install

npm i drauu
<svg id="svg"></svg>
import { createDrauu } from 'drauu'

const drauu = createDrauu({
  el: '#svg',
  brush: {
    mode: 'stylus', // 'line', 'rectangle', 'ellipse'
    color: 'skyblue',
    size: 5,
  }
})

// change brush color
drauu.options.brush.color = 'red'

Credits

Inspired by

Thanks!

Sponsors

License

MIT

Contributors

antfu

118 commits

haykkh

4 commits

tonai

3 commits

btea

2 commits

antfu/drauu

Headless SVG-based drawboard in browser.

1,518

stars

142

commits

TypeScript

primary language

Jan 13, 2026

updated

drauu.netlify.app/
drawboard

README

drauu

NPM version

SVG-based drawing tool in browser. Built for Slidev.

Live Demo (built with Vanilla JavaScript!)

Features

  • Vanilla JavaScript - integrate into any framework you like
  • SVG-based - scalable, transparent, and serializable
  • Stylus / Touch pressure support
  • Headless (unstyled) - style it as you want
  • Undo / Redo stacks

Install

npm i drauu
<svg id="svg"></svg>
import { createDrauu } from 'drauu'

const drauu = createDrauu({
  el: '#svg',
  brush: {
    mode: 'stylus', // 'line', 'rectangle', 'ellipse'
    color: 'skyblue',
    size: 5,
  }
})

// change brush color
drauu.options.brush.color = 'red'

Credits

Inspired by

Thanks!

Sponsors

License

MIT

Contributors

antfu

118 commits

haykkh

4 commits

tonai

3 commits

btea

2 commits

Languages

TypeScript

91.1%

HTML

8.4%