Introduction: a design tool that lives where developers actually work
Pencil is a vector design tool built to run inside your IDE—not in a separate browser tab, not as a standalone design “silo,” and not as an afterthought bolted onto a dev workflow. Its core pitch is simple: if your UI ultimately becomes code, your design workflow should sit next to the codebase, use the same collaboration primitives (Git), and stay compatible with modern AI-assisted development.
Instead of exporting static PNGs or passing around links that drift out of date, Pencil stores designs as .pen JSON files in your repository. That means UI work can be branched, reviewed, merged, and versioned using the same workflow you already trust for code. Pencil also emphasizes AI-native workflows: it integrates with assistants like Claude Code and Codex via MCP (Model Context Protocol), aiming to make “design → iterate → generate implementation” feel like one continuous loop.
This review focuses on what Pencil is, who it’s for, where it shines, and where it still has friction—especially compared to Figma and other mainstream design tools.
Quick Verdict: TL;DR with ratings
Recommendation: If your team is engineering-led, ships quickly, and wants tighter design-to-code iteration (plus Git-native versioning), Pencil is one of the most interesting tools to watch—and likely adopt—right now. If your org is deeply invested in Figma-heavy designer workflows, Pencil works best as a bridge and a “developer design canvas,” not necessarily a full replacement on day one.
| Category | Score (out of 10) | Notes |
|---|---|---|
| Ease of Use | 7.5 | Fast once installed; IDE-native UX is a shift if you’re used to Figma-first workflows |
| Design Features | 8.0 | Strong vector canvas + components; still maturing vs. Figma’s long tail of features |
| Developer Workflow Fit | 9.5 | .pen files in Git + code sync is the big win |
| AI & Automation | 8.5 | Deep integration via MCP is compelling; quality depends on model/tooling setup |
| Collaboration | 7.5 | Git collaboration is excellent for engineers; less “live multiplayer” than typical design apps |
| Value | 8.0 | Value is highest when it replaces handoff churn and UI drift |
Overall: 8.5/10 for teams who build UI in code and want design to behave like code.
What Is Pencil?
Pencil is an IDE-integrated vector design tool built around an infinite canvas and a set of primitives (components, styles, variables) that map naturally onto production UI systems. The headline difference is where it runs and how it stores work:
- Runs inside your IDE (notably VS Code and Cursor), with a standalone desktop option.
- Saves designs as .pen files—JSON-based files that live in your repo.
- Supports Git-first workflows: branch, PR, merge conflict resolution patterns—applied to UI artifacts.
- AI integration via MCP for prompt-driven generation and tool-assisted edits.
In practical terms, Pencil is trying to replace the “design handoff” model with an “always-in-sync” model: design components are created next to code, can sync with code, and can be generated/updated with AI assistance.
Key Features
1) Infinite vector canvas inside the IDE
Pencil gives you a WebGL-backed infinite canvas for vector design. If you’ve used modern UI design tools, the mental model will feel familiar: frames/layouts, vector shapes, text layers, and reusable components. The “infinite” aspect matters because it encourages exploratory UI iteration (flows, variants, alternatives) without constantly managing page boundaries.
Why this matters: Developers can tweak UI visuals without leaving the code context, and designers can review implementation-adjacent designs with fewer translation steps.
2) .pen files: version-controlled design artifacts
Pencil stores designs as .pen JSON files in your Git repository. This is a foundational difference versus link-based design docs:
- You can branch a redesign like you branch a feature.
- You can code review UI changes (with the right conventions/screenshots in PRs).
- You can keep design “snapshots” tied to releases/tags.
- You can enforce workflow: CI checks, ownership rules, and repository governance can apply to design artifacts too.
Real-world payoff: fewer “the Figma changed but the code didn’t” situations—because the design can live in the same lifecycle as the code.
3) IDE integrations (VS Code, Cursor) + standalone desktop app
Pencil is designed to be used where engineers build: in VS Code and Cursor. It also offers a standalone desktop app for those who want the canvas without committing to an IDE window layout.
Platform note: Windows is supported via the VS Code/Cursor extension. macOS supports desktop app + extensions. Linux supports desktop app + extensions, with some reported UI issues on Wayland/Hyprland (worth considering for Linux-heavy teams).
4) AI-powered workflows via MCP (Claude Code, Codex, and more)
Pencil positions itself as AI-native rather than “AI sprinkled on top.” Through MCP, AI assistants can potentially interact with design files and connected tools. Pencil highlights “agent-driven” workflows where multiple AI agents can generate screens/flows in parallel, and where the model can have structured read/write access to tools (depending on your setup).
What this enables in practice:
- Generate initial UI drafts from a prompt (e.g., “Create a billing settings page with a plan selector and invoice history table”).
- Create multiple variants quickly (e.g., dense vs. spacious layouts, mobile vs. desktop frames).
- Iterate with AI while keeping design artifacts in-repo.
Important limitation: AI output quality will vary depending on the model, prompts, and how your design system is configured. Pencil makes the loop tighter; it doesn’t magically eliminate the need for product judgment.
5) Design systems: components, variables, and theme tokens
Pencil includes pre-built component libraries (such as Shadcn UI and others like Halo, Lunaris, Nitro) and supports variables/themes that can sync to CSS tokens. This is the “design like code” thesis in action: rather than designing with one-off hex values and ad-hoc spacing, you build on tokens that match how your front-end is structured.
Why teams care:
- Consistent spacing/typography without constant manual policing.
- Easier dark-mode and theme variants.
- Less drift between design intent and implemented UI.
6) Two-way code sync (design ↔ code)
Pencil’s docs emphasize code sync—a two-way relationship between design artifacts and your codebase. The promise: update a component style/token and keep implementation aligned; or reflect code-level changes back into design constraints.
Where to be cautious: “Two-way sync” is always nuanced. It tends to work best when your UI system is already componentized and tokenized. Teams with highly bespoke CSS or inconsistent component boundaries may need cleanup work before sync becomes truly reliable.
7) Figma copy-paste import
Pencil supports importing from Figma via copy/paste, retaining vectors, text, and styles for pixel-accurate transfer. That’s a pragmatic move: most teams can’t hard-reset their design workflows overnight. This feature helps Pencil act as a bridge—especially when designers still prefer Figma for early exploration, while engineers want IDE-native iteration for implementation.
Pros
- Massive context-switch reduction: designing next to code speeds up iteration and reduces “handoff friction.”
- Git-native design versioning: branching/merging UI work is a real unlock for engineering teams.
- Design systems first: built to work with tokens, themes, and component libraries rather than ad-hoc styling.
- AI-native integration: MCP-based workflows are more “tooling-aware” than typical AI design add-ons.
- Figma bridge: copy-paste import lowers the barrier for adoption.
- Better alignment with component-based frontend: particularly strong fit for React-style ecosystems and Shadcn-like libraries.
Cons (limitations and drawbacks)
- Not yet a universal Figma replacement: Figma’s ecosystem, plugins, and deep collaboration features still set a high bar.
- Git workflows aren’t for everyone: designers who avoid Git may find the repo-native model intimidating without tooling/support.
- Merge conflicts can become “design conflicts”: storing design as JSON is powerful, but conflict resolution may be non-trivial without good practices.
- Linux UI caveats: some desktop UI issues may occur on Wayland/Hyprland setups—important for certain dev environments.
- AI outcomes vary: prompt-based generation can be impressive, but it can also produce generic layouts or miss product nuances unless carefully guided.
- Best results require discipline: to benefit from code sync and tokens, teams need a reasonably consistent design system and component architecture.
Pricing (what we know and how to evaluate it)
As of the latest documentation update (January 28, 2026), Pencil’s public docs focus primarily on product capabilities and setup rather than laying out a complete pricing grid in the sections most people look for (e.g., Free vs Pro vs Team). In practice, tools in this category often evolve pricing during early access.
How to assess value even if pricing shifts:
- If Pencil eliminates even a small number of back-and-forth cycles per feature (designer screenshots → engineer implementation → rework), it can justify a paid plan quickly.
- The strongest ROI shows up when UI is shipped continuously and design drift is costly (SaaS dashboards, B2B admin panels, consumer apps with frequent UI iteration).
- For smaller teams, Pencil’s value is also in focus and speed: fewer tools open, fewer handoff artifacts, less “lost intent.”
Recommendation: before committing, verify current pricing and licensing on the official site and confirm whether your use case requires the desktop app, the IDE extension, AI features, or team-wide collaboration. (No affiliate relationship is assumed or used in this review.)
Use Cases: who should use Pencil and when
1) Solo developers building polished UI
If you’re a solo builder shipping a product end-to-end, Pencil fits the “build while you design” reality. You can keep UI mockups close to the component code and avoid maintaining a separate design tool workflow.
Example: You’re building a SaaS settings area. You sketch the layout in Pencil, refine spacing using tokens, then implement the same structure in React with your component library. When you revisit later, the design file is still in-repo next to the code.
2) Engineering-led teams with a design system
Teams that already have tokens, components, and strict UI patterns get the most leverage. Pencil becomes a “UI control center” inside the repo: not just pretty pictures, but living artifacts that track the system.
Example: A team using Shadcn UI and Tailwind-style tokens can align Pencil variables/themes to the actual CSS config, reducing mismatches like “design says 14px, implementation uses 13px.”
3) Product teams tired of design drift and handoff churn
If your current process looks like: Figma → Slack screenshots → half-implemented PR → comment threads about padding, then Pencil’s co-located workflow can cut the loop time.
4) AI-assisted “vibe coding” workflows
Pencil is built for the current reality where many developers use AI to generate and iterate UI rapidly. Instead of generating code blindly, you can iterate visually and keep assets versioned with the code.
5) Designers who want their work to survive implementation
Pencil won’t replace every designer’s toolchain immediately, but it can be valuable for designers who care about how the UI lands in code. Copy/paste from Figma lets designers seed the repo-native design space and collaborate with engineers without constant re-translation.
Comparison: Pencil vs alternatives (Figma, Penpot, IDE plugins)
| Tool | Best For | Strengths | Trade-offs |
|---|---|---|---|
| Pencil | Dev+design iteration inside IDE; Git-native UI artifacts | IDE integration, .pen files in repo, design systems + code sync, AI via MCP | Less established ecosystem than Figma; requires Git comfort; some platform caveats |
| Figma | Designer-led collaboration at scale | Best-in-class multiplayer collaboration, mature plugin ecosystem, industry standard | Design lives outside repo; versioning/branching isn’t Git-native; handoff drift still common |
| Penpot | Open-source-friendly teams; design/collab with more control | Open approach, strong vector design fundamentals | Still typically separate from IDE and repo-first workflows; not the same AI/IDE-native focus |
| IDE preview / storybook-only workflow | Engineering teams that design directly in components | UI is always code; easy to review in PRs | Lacks a true vector canvas for exploration; slower for early ideation and layout experimentation |
Bottom line: Pencil’s differentiation is not “better vector editing than Figma.” It’s “design that behaves like code”—with IDE locality, Git artifacts, and AI tooling that participates in your dev environment.
Hands-On Experience: what it feels like in day-to-day work
Based on documented behavior and the product’s stated workflows, Pencil’s experience is best understood as a new center of gravity for UI iteration: the IDE. That changes how you move between tasks.
Setup and first-run workflow
- Installation: typically via IDE extension (VS Code / Cursor) or desktop app. Activation/authentication is part of the flow.
- Project integration: the main shift is committing .pen files to your repo and deciding where they live (e.g.,
/designor near UI packages). - Team conventions: you’ll want naming standards, component mapping rules, and a plan for PR previews (screenshots or short recordings).
Designing a real screen: a practical example
Imagine you’re building a “Team Members” admin page:
- Canvas draft: You create a frame with a header, invite button, role dropdown, and a table/list of members.
- Tokens: You apply spacing and typography variables that align with your CSS tokens (e.g.,
space-4,text-smequivalents). - Components: Buttons and inputs come from a design system library (e.g., Shadcn UI-aligned components), reducing one-off styling.
- AI variant generation: You prompt the AI to propose an alternative layout optimized for smaller screens—e.g., switching the table to cards.
- Code sync: You sync or export toward implementation (exact export targets vary by configuration), keeping a tighter loop than “design → screenshot → rebuild by hand.”
Screenshot-style feature demonstrations (what you’d expect to see)
If you were documenting Pencil for your team, the most useful screenshots would look like this:
- Screenshot 1: IDE split view — VS Code on the left with a React component open; Pencil canvas on the right showing the corresponding UI layout. The point: no tab switching to a browser-based design app.
- Screenshot 2: Repo file tree — a
design/folder containingteam-members.pen, committed alongsideTeamMembers.tsx. The point: designs are first-class repo artifacts. - Screenshot 3: Variables/themes panel — token names for spacing/typography/colors with a theme dropdown (light/dark). The point: systematic styling, not ad-hoc values.
- Screenshot 4: AI prompt panel — a prompt like “Generate a mobile-first variant of this page using cards and a sticky invite button,” returning multiple layout options. The point: rapid exploration.
- Screenshot 5: Git diff/PR — a commit that updates
team-members.penalongside a component update, with preview images attached. The point: design and code change together.
Performance and responsiveness considerations
Pencil uses a WebGL canvas and runs in an IDE context. That’s generally good for interactive vector rendering, but IDE extension environments can be sensitive to:
- Large canvases with many nodes/components
- Lower-powered machines or heavy extension stacks
- Linux windowing edge cases (notably some Wayland/Hyprland UI issues)
Practically, teams should test on their standard dev machines and confirm the canvas stays smooth under realistic file sizes and component library usage.
Collaboration reality: Git is powerful, but needs process
Git-based collaboration is a double-edged sword:
- Great for traceability: you can always answer “when did this UI change, and why?”
- Trickier for non-engineers: designers may not want to handle rebases, conflicts, or PR etiquette.
Practical mitigation: make a lightweight workflow: designers propose changes via a branch + PR template that includes exported previews; engineers help resolve conflicts if they occur. Treat it like any other cross-functional contribution model.
Final Verdict: should you use Pencil?
Pencil is a strong bet for teams that want UI design to become a first-class citizen of the codebase. Its IDE-native canvas, Git-friendly file format, and design system alignment directly target the biggest pain points of modern product development: context switching, design drift, slow iteration, and unclear ownership of “source of truth.”
Choose Pencil if:
- Your team is engineering-heavy and ships UI continuously
- You already use (or want) a tokenized design system
- You value versioning, traceability, and PR-based workflows
- You want AI-assisted UI iteration in a structured environment
Hold off or pilot carefully if:
- Your org is designer-led and depends on Figma’s collaboration ecosystem
- Your team is uncomfortable with Git-based workflows for non-code artifacts
- You need mature, battle-tested support for every edge-case of design tooling immediately
My balanced take: Pencil doesn’t need to “kill Figma” to be valuable. Its best role for many teams will be as the implementation-adjacent design layer—where UI becomes consistent, versioned, and shippable.
Alternatives to Consider
- Figma — Best for broad design collaboration, workshops, and established design org workflows. Strongest “default choice,” but not repo-native.
- Penpot — A compelling option for teams that prefer open tooling and want a Figma-like experience with more control.
- Storybook-first / component-driven design — If your team designs directly in code, a Storybook + tokens workflow can be enough (though it lacks Pencil’s freeform vector exploration).
- Standalone illustration/vector tools — Useful for brand/marketing assets, but typically poor for design-to-code alignment in product UI.
Disclosure: This review is not sponsored, and there are no affiliate links or paid placements. Feature availability and pricing can change; verify the latest details in Pencil’s official documentation and product pages before purchase or rollout.

