This guide will walk you through creating your first design, working with files, and exploring key features.Documentation Index
Fetch the complete documentation index at: https://mintlify.com/open-pencil/open-pencil/llms.txt
Use this file to discover all available pages before exploring further.
Create your first design
Open OpenPencil
Launch the desktop app or visit app.openpencil.dev
Create a shape
Press R to activate the rectangle tool, then click and drag on the canvas to create a rectangle.
Style the shape
With the rectangle selected:
- Change the fill color using the color picker in the right panel
- Adjust opacity, stroke, and corner radius
- Use the transform controls to resize or rotate
Working with text
Style text
Select the text and use the right panel to:
- Choose a system font with
queryLocalFonts()API - Adjust size, weight, line height, and letter spacing
- Apply color and effects
- Use Text Resize to control text box behavior (auto-width, auto-height, or fixed)
Auto-layout
Create responsive layouts with Yoga WASM-powered flexbox:Configure layout
Adjust layout properties:
- Direction: horizontal or vertical
- Alignment: start, center, end, space-between
- Padding: inner spacing
- Gap: spacing between items
- Sizing: hug contents or fill container
Opening and saving files
Open a .fig file
- Desktop app
- Web version
File → Open or drag a
.fig file onto the app window.Uses the File System Access API (showOpenFilePicker()) with fallback to Tauri dialog.Save a file
File → Save exports the current document as a.fig file:
- Desktop: Uses Tauri file system commands with Zstd compression
- Web: Uses File System Access API with fflate compression
.fig file format:
- ZIP archive containing
canvas.fig(Kiwi binary) and images - Kiwi format: vendored schema from Figma’s binary codec
- Vector data:
vectorNetworkBlobbinary format
Test compatibility by opening your saved
.fig files in Figma. See Figma compatibility for details.Copy and paste with Figma
OpenPencil uses the same clipboard format as Figma:Paste into OpenPencil
Focus the OpenPencil canvas and press Cmd/Ctrl+V.Nodes are decoded from Kiwi binary format and added to your document.
Real-time collaboration
Share your document and collaborate in real time via P2P WebRTC:Share the link
Copy the generated link:
app.openpencil.dev/share/<room-id>Share it with collaborators via any communication channel.Collaborate
Collaborators see:
- Your cursor and selection in real time
- All edits as they happen
- Presence indicators with colored avatars
- P2P sync via Trystero (WebRTC)
- Document state synced with Yjs CRDT
- Local persistence with
y-indexeddb - No server required — peers connect directly
AI chat
Use AI to generate and modify designs:Describe what you want
Type a natural language description:“Create a login form with email and password fields”“Make this button rounded with a gradient from purple to blue”
AI executes tools
The AI uses 75+ built-in tools to:
- Create shapes, text, and components
- Set fills, strokes, and effects
- Modify layout and constraints
- Create variables and collections
CLI operations
Inspect and manipulate.fig files without opening the GUI:
--json for machine-readable output.
CLI reference
Explore all CLI commands and options
MCP server
Connect AI coding tools to OpenPencil:- Stdio (Claude Code, Cursor)
- HTTP (scripts, CI)
~/Library/Application Support/Code/User/globalStorage/rooveterinaryinc.roo-cline/settings/cline_mcp_settings.json for Cursor):MCP reference
Set up the MCP server and explore 75+ available tools
Keyboard shortcuts
| Shortcut | Action |
|---|---|
| V | Select tool |
| R | Rectangle |
| O | Ellipse |
| L | Line |
| P | Pen tool |
| T | Text |
| F | Frame |
| Cmd/Ctrl+D | Duplicate |
| Cmd/Ctrl+G | Group |
| Cmd/Ctrl+] | Bring forward |
| Cmd/Ctrl+[ | Send backward |
| Shift+A | Auto-layout |
| Cmd/Ctrl+K | AI chat |
All shortcuts
See the complete keyboard shortcuts reference
Next steps
Drawing tools
Learn about shapes, pen tool, text, and vector networks
File format
Understand the .fig file format and Kiwi codec
Collaboration
Deep dive into P2P collaboration architecture
Components
Create reusable components with live instance sync