
No installs. No accounts. No cost. A full-featured vector design editor built with Leafer UI and React.

No installs. No accounts. No cost. Just open the browser and start designing.
If you've ever needed to quickly sketch a UI, create a diagram, or put together a simple graphic — and didn't want to open a heavy desktop app or sign up for yet another SaaS tool — Leafer Editor was built for exactly that moment.
It runs entirely in your browser. Everything you create stays on your machine. And it comes with a surprisingly complete set of design tools that cover the most common tasks you'd normally reach for Figma or Illustrator to handle.
Let me walk you through every feature. But first — jump in and try it yourself:
🖥 Live demo → leafer-editor.vercel.app — no sign-up, just start designing. ⭐ GitHub → fayismahmood/leafer-editor
When you first open Leafer Editor you're greeted with a clean infinite canvas — a grey workspace with a single white Frame sitting in the centre. That frame is your artboard, the area you design inside.
Pan around by holding Space and dragging. Zoom with the scroll wheel. The canvas is infinite — place as many frames side by side as you need without running out of room.
A Frame is the container that holds all your design elements. Think artboard in Illustrator, frame in Figma.
Press F or click the Frame tool, then pick a preset or draw a custom size.
At the bottom of the screen sits the toolbar:
| Tool | Key | What it does |
|---|---|---|
| Select | V | Click, drag-select, move, resize, rotate |
| Rectangle | R | Draw rectangles — buttons, cards, containers |
| Ellipse | O | Circles, ellipses, arcs, pie slices |
| Line | L | Straight lines with configurable stroke |
| Star | S | 3–20 point stars and polygons |
| Pen | P | Custom paths and bezier curves |
| Text | T | Inline text editing on the canvas |
| Image | I | Import images from your machine |
| Frame | F | Create a new frame with presets |
Every tool has a keyboard shortcut. Switch tools without touching the mouse.
Press R, drag inside a frame. Resize with corner handles, rotate by hovering just outside a corner, round corners with the slider, and apply fills, strokes, shadows, and blend modes.
Press O, drag. Hold Shift for a perfect circle. Supports arcs and pie slices — great for charts and progress indicators.
Press L, drag. Adjust stroke width, cap style (flat/round/square), and dash patterns for dotted or dashed lines.
Press S, drag. Not just five-point stars — anywhere from 3 to 20 points. Adjust the inner radius ratio to morph from a sharp star to a flower shape.
Press P. Click to place anchor points, drag to create curves. Build custom paths and bezier shapes.
Press T, click inside a frame, and start typing. Leafer Editor uses an inline text editor on the canvas — no modal, no separate input box. Type directly on the canvas, Figma-style.
The Properties panel gives you full typography control:
Fonts are lazy-loaded — only the ones you use are downloaded.
Press I to open a file picker. Select any image (PNG, JPG, WebP, GIF) and it appears on the canvas at a sensible size. Drag to reposition, resize with handles, and apply opacity and blend modes like any other element.
Everything stays local. Images are never uploaded anywhere.
Press V to work with elements you've already created:
When multiple elements are selected, property changes apply to all of them simultaneously.
The right-side panel is context-aware — different controls depending on what's selected.
Solid colors via hue-saturation picker with hex/RGB inputs. Switch to gradient mode for linear or radial gradients with a multi-stop gradient bar — click to add stops, drag to reposition, double-click to remove.
Border color, width, and alignment — inside, centre, or outside the shape boundary. Cap and join styles for lines.
Slider from 0% (invisible) to 100% (fully opaque) for the entire element.
Multiply, Screen, Overlay, Darken, Lighten, Color Dodge, Color Burn, Hard Light, Soft Light, Difference, Exclusion, Hue, Saturation, Color, Luminosity — plus Normal.
A black rectangle set to Multiply lets the texture of the layer below show through. These unlock a lot of creative effects.
Drop Shadow — offset X/Y, blur, spread, and color. Inner Shadow — same controls, pressed-in or embossed look. Both update in real time as you tweak sliders.
A context bar at the top of the canvas for common operations:
Drag any element and dashed alignment lines appear automatically — showing when you're aligned with another element's edge or centre, or with the canvas grid. The element snaps into place when you're close.
No more manual positioning or mental math about coordinates.
Switch to the Layers tab to see your canvas as a tree — every frame with all its children in z-order.
When your design is ready, export it in any format:
| Format | Details |
|---|---|
| PNG | Configurable resolution, transparent background |
| JPG | Configurable quality |
| WebP | Modern format, smaller files |
| BMP | Uncompressed bitmap |
| JSON | Full Leafer scene data for programmatic use |
| Canvas | Raw pixel data |
Export individual elements or entire frames. Pick the resolution — 1x, 2x, 3x, or custom.
| Shortcut | Action |
|---|---|
V | Select |
R | Rectangle |
O | Ellipse |
L | Line |
S | Star |
P | Pen |
T | Text |
I | Image |
F | Frame |
Space + drag | Pan canvas |
Scroll | Zoom |
Delete | Remove selected |
Ctrl/Cmd + G | Group |
Ctrl/Cmd + ] | Bring to front |
Ctrl/Cmd + [ | Send to back |
| Layer | Technology |
|---|---|
| Canvas engine | Leafer UI + editor plugins |
| UI framework | React 19 |
| Routing | TanStack Router (file-based) |
| State | TanStack React Store |
| Styling | Tailwind CSS v4 |
| Build | Vite 8 |
| Language | TypeScript (strict) |
| Lint/Format | Biome |
| Testing | Vitest + Testing Library |
The entire editor is ~50 source files. The canvas layer (editorCanvas.ts) creates a Leafer App with an embedded Editor instance. Drawing tools are registered as custom tool classes. State flows through a single TanStack Store, keeping the React UI and canvas engine in sync.
Leafer Editor is in active development. On the roadmap:
I wanted a design tool that gets out of the way. No accounts. No Electron bloat. No feature creep. Just a canvas, some shapes, and the ability to export something useful. The idea was to prove that a production-quality canvas experience can fit in a ~50-file TypeScript codebase running entirely client-side.
If that resonates — designer looking for a lightweight tool, or developer curious how a canvas editor is built from scratch — Leafer Editor is worth a look.
Star the repo, try it out, and let me know what you think in the comments.
Leafer Editor is MIT licensed. Built with Leafer UI and React.
aiMost of us have seen a coding agent fail to complete a task we know it can do. We just don't...
googlecloudWhen building Generative AI applications, developers often encounter a massive bottleneck: sequential...
discussI’ve been thinking about sharing some electronic circuit posts on Dev.to — small circuits, DIY...
agentsWhat nobody tells you about exporting your multi-agent prototype to a local workspace. Every...
agenticarchitectAutonomous agents are genuinely good at answering messy business questions. Give one an LLM and a set...
aiPR volume went up, ticket quality didn't, and the gap got filled with LLMs on both sides of the review: bots reviewing, bots replying, bots occasionally arguing with bots about priorities that only existed in a teammate's head. Our CEO named the actual problem, and it's bigger than code review.
Workflows from the Neura Market marketplace related to this Stable Diffusion resource