A lightweight, local-first whiteboard that lives in your browser.
Sketch ideas, add sticky notes, draw freely — everything saves automatically. No account needed.
- Multiple boards — create as many as you need, each with its own name and template
- Freehand drawing — pen tool with smoothing and stroke simplification
- Sticky notes — drag, resize, and double-click to edit
- Background templates — plain, grid, dot grid, ruled lines
- Zoom & pan — mouse wheel to zoom, drag to pan
- Auto-save — boards persist in your browser's localStorage, no setup required
- Export to PNG — one click to save your board as an image
- Export / Import JSON — back up boards or share them with others
- Keyboard shortcuts — work fast without touching the mouse
# 1. Clone the repo
git clone https://github.com/JuanLara18/whiteboard.git
cd whiteboard
# 2. Install dependencies
npm install
# 3. Start the app
npm run devOpen http://localhost:5173 — that's it. No database, no backend, no config.
No Node.js? Download it at nodejs.org (LTS version). It takes 2 minutes.
| Key | Action |
|---|---|
S |
Select tool |
P |
Pan tool |
N |
Sticky note tool |
D |
Draw (pen) tool |
Delete / Backspace |
Delete selected elements |
Escape |
Switch back to Select tool |
| Scroll wheel | Zoom in / out |
Export as PNG — click the PNG button in the toolbar to download the current board as an image.
Export as JSON — click Export to save a .whiteboard.json file you can share or back up.
Import JSON — click Import to load a board from a file. It is added as a new board so nothing gets overwritten.
npm run build
# Output goes to dist/ — serve it with any static file serverContributions are welcome! See docs/CONTRIBUTING.md for development setup and guidelines.
For architecture details and design decisions, see docs/ARCHITECTURE.md.
MIT © JuanLara18 — see LICENSE
