Why opendraw
A quick sketch often explains an idea faster than a page of text. Hand-drawn whiteboards made that feel natural, but adding one to your own product usually meant embedding someone else's app in an iframe, or shipping a second UI framework alongside yours.
opendraw is that whiteboard as a native building block. Drop it into a Vue, Nuxt, React or Svelte app and it behaves like part of your product: your theme, your data, your interface around it.
How it's built
A framework-free core does the real work, the drawing model, history, geometry and rendering, and thin adapters connect it to each framework, so every version draws and behaves the same.
@opendrawjs/nuxtNuxt and Vue: the full editor UI, components and composables.@opendrawjs/reactReact: the editor as a component, with hooks.@opendrawjs/svelteSvelte 5: the editor as a component, with runes.@opendrawjs/editorThe framework-free editor, for plain JavaScript or a new adapter.@opendrawjs/coreThe engine: element model, history, rendering and export; runs in Node.
What it stands for
Native
A real component in each framework: no iframe, and no second framework smuggled into your app.
Private
Drawings stay in the browser. Nothing is uploaded, tracked or stored on a server.
Accessible
Real buttons and menus, labelled controls, keyboard shortcuts for everything, reduced-motion support.
Open
MIT licensed, typed end to end, and tested in real browsers across Vue, React and Svelte.
