drafft-ink is a free, open source collaboration & communication project written in Rust and released under AGPL-3.0. It has 570 GitHub stars, 74 forks and 0 open issues, and was last pushed 4 months ago. On this registry it ranks #59 of 62 tracked projects in Collaboration & Communication, with 5 head-to-head comparisons available. It gained 16 stars over the last 30 tracked days.

What is drafft-ink?

drafft-ink is an AGPL-3.0-licensed, self-hostable infinite-canvas whiteboard written in Rust and rendered with WebGPU, made for anyone who wants real-time collaborative drawing without accounts, subscriptions or telemetry.

What it is

drafft-ink is a cross-platform digital whiteboard that runs on Linux, Windows, macOS, in the browser, and on mobile and tablet devices. It is written in Rust and draws through WebGPU, with the rendering path built on Vello and text layout handled by Parley. The application logic and interface sit on egui, and the repository is organised as five crates: drafftink-core for canvas state, shapes, CRDT sync and snapping logic, drafftink-render for GPU rendering, drafftink-app for UI and event handling, drafftink-server for the WebSocket collaboration server, and drafftink-widgets for custom UI components.

The concrete problem it solves is hosting collaboration on your own terms. Instead of a hosted whiteboard where the document lives on someone else's servers behind an account, drafft-ink ships a collaboration server that builds to a single binary with no configuration files, listening on ws://localhost:3030/ws. In the self-hosted whiteboard space the registry groups it with canvas tools such as Excalidraw, but the stack is native Rust with WebGPU rather than a browser-only canvas application, and the project states plainly that it collects no telemetry and requires no account to start drawing.

Key capabilities

  • Shapes and freehand drawing: rectangles, ellipses, lines, arrows and freehand paths with pressure sensitivity.
  • Smart Guides for alignment snapping, equal spacing detection and angle snapping.
  • Text tooling with the GelPen, GelPen Serif and Vanilla Extract font families, per-character styling and inline LaTeX math.
  • Images via drag-and-drop or clipboard paste, embedded directly in the document.
  • Real-time collaboration over the Loro CRDT, synced by the drafftink-server WebSocket service.
  • Open formats: export to PNG or JSON and import them back.
  • Touch support for iPad and tablets with gesture navigation, plus a hand-drawn Sketch Style built on roughr and fonts.

Who uses it and how

  • Teams that need a shared whiteboard but cannot send documents to a third-party host can run drafftink-server inside their own network and point clients at it.
  • Groups with no appetite for sign-up flows use the hosted instance at drafft.ink, which requires no account before drawing.
  • Tablet and iPad users work through touch and gesture navigation rather than a keyboard and mouse.
  • Individual engineers and designers run the desktop build locally and export work as PNG for sharing or JSON for round-tripping back into the tool.
  • Organisations with data-handling constraints benefit from the explicit no-telemetry stance, since the project does not track what is drawn.

Getting started

Build and run the desktop client from source with git clone https://github.com/PatWie/drafft-ink.git, then cargo run --release, or use ./build.sh --native; the browser build is ./build.sh --wasm. For collaboration, build and start the server with cargo build --release -p drafftink-server followed by ./target/release/drafftink-server, which listens on ws://localhost:3030/ws.

How it compares

The registry topics place drafft-ink alongside Excalidraw in the self-hosted canvas category, and the difference the facts support is the implementation stack: native Rust with WebGPU rendering, a desktop and mobile footprint, and CRDT sync through Loro rather than a purely browser-delivered canvas. No paid products are listed as things this project replaces, so the comparison here rests only on the licence and self-hosting model rather than on a competitive pricing claim.

When to use it — and when not to

Pick drafft-ink when self-hosting, AGPL-3.0 licensing and no-account access matter more than ecosystem maturity. A self-hoster must build the crates from source and operate the collaboration binary, which the README documents as a single executable on ws://localhost:3030/ws with no configuration files, leaving TLS termination and access control to whatever fronts it. Anyone needing a hosted service with formal support contracts, or a project with a long release history and large contributor base, should look elsewhere: the repository shows 553 stars and 71 forks with no releases recorded in the facts provided.

project readme (upstream, from github) — read inline

Drafft.ink

An infinite canvas whiteboard built with Rust and WebGPU.

Try it now: drafft.ink — draw first, sign up never.

Cross-platform (Linux, Windows, macOS, browser, mobile). Real-time collaboration via CRDTs. No account required. Self-hostable with a single binary.



Features

  • Shapes and Drawing - Rectangles, ellipses, lines, arrows, freehand paths with pressure sensitivity
  • Smart Guides - Smart alignment snapping, equal spacing detection, angle snapping
  • Text - Multiple font families (GelPen, GelPen Serif, Vanilla Extract), per-character styling, inline LaTeX math
  • Images - Drag-and-drop, paste from clipboard, embedded in document
  • Collaboration - Real-time sync via Loro CRDT. Watch your colleagues draw boxes around things that don't need boxes.
  • Open Formats - Export to PNG or JSON. Import them back.
  • No Telemetry - We don't know what you're drawing, and frankly, we don't want to.
  • Touch Support - iPad and tablet friendly, gesture navigation
  • Sketch Style - Sketchy on purpose. Precise when it matters. Hand-drawn aesthetic via roughr and fonts

Installation

Desktop

git clone https://github.com/PatWie/drafft-ink.git
cd drafft-ink
cargo run --release

Or use the build script:

./build.sh --native

Web (Local)

./build.sh --wasm

Collaboration Server

cargo build --release -p drafftink-server
./target/release/drafftink-server

Listens on ws://localhost:3030/ws. One binary, no configuration files. Self-host it. Or don't. We're not your manager.


Architecture

crates/
  drafftink-core/     # Canvas state, shapes, CRDT sync, snapping logic
  drafftink-render/   # Vello-based GPU rendering, text layout (Parley)
  drafftink-app/      # Application logic, UI (egui), event handling
  drafftink-server/   # WebSocket collaboration server
  drafftink-widgets/  # Custom UI components

Philosophy

Your tools should work for you. No accounts, no paywalls, no telemetry, no "upgrade to Pro."


Contributing

PRs welcome. Issues welcome. The code is right here.


License

AGPLv3 - Use it, modify it, host it. Keep it open.

Frequently asked questions

Is drafft-ink free to use?

drafft-ink is open source under the AGPL-3.0 licence. There is no licence fee and no seat count — you can self-host it or, where the project offers one, pay a vendor for a managed version instead.

What does drafft-ink do?

Effortlessly self-host whiteboards. High-performance, cross-platform digital whiteboard with live collaboration built in Rust & WebGPU. Zero subscription, AGPLv

What is drafft-ink written in?

drafft-ink is primarily written in Rust. Its source is publicly available at https://github.com/PatWie/drafft-ink, and it has 570 GitHub stars.