mrkeyoor.com_
Tue 10 Nov 08:25 UTC
AI Toolsevaluationupdated 26 Oct 2026

openpencil review

OpenPencil is an open-source vector design editor with a Rust core, JSON .op documents, AI-assisted editing and a built-in MCP server. Its README describes native desktop, browser and terminal workflows. The important deployment distinction is that the web host supports built-in API-key agents, while CLI and ACP agent connections remain native-only.

+110stars / 7d
Verdict

OpenPencil is worth a scoped trial if you want JSON design documents and MCP-driven editing. Our September 27, 2026 run at commit 3e55570 completed dependency download, build and cargo test steps successfully, but replayed summaries prevent a verified unique test count. The run did not validate a complete browser bundle, installed CLI, interactive canvas or AI workflow. Choose the native or web path first, then verify your actual agent, operating system, imports and exports before adopting it.

We ran it

Lab card: what happened when we ran openpencilScreenshot of openpencil (op.zseven.tech)
Install✓ · 55s704 packages
Build✓ · 683s
Tests✓ · 82s1468 passed · 0 failed of 1468 (cargo test)
Repo4928 files~1,094,831 lines of source · 331 MB · 13 CI workflows

Answers from our run

Does openpencil build from source?

Dependencies installed in 55 seconds (704 packages), and the build succeeded in 683 seconds. We cloned commit 3e55570 into a clean Debian container with 3 CPUs and no project-specific setup.

Do openpencil's tests pass?

Yes. The project's own test command finished in 82 seconds and reported 1468 passed, 0 failed (cargo test).

Who should not use openpencil?

Browser-only users who need the web host to connect to local Claude Code, Codex, OpenCode or Copilot tooling.

What are the alternatives to openpencil?

Penpot, Onlook. OpenPencil is worth a scoped trial if you want JSON design documents and MCP-driven editing.

Setup3/5The September 27, 2026 run at 3e55570 completed dependency download in about 55 seconds and build in about 683 seconds. It did not verify CLI installation or a complete browser bundle.
Docs4/5The supplied README explicitly covers prerequisites, three submodules, native versus web agents, credential persistence, allowed origins and platform-specific installation requirements.
Community2/5The supplied issue threads contain contributor replies and reporter follow-ups. They do not establish adoption, response-time reliability or support coverage; unverified star and activity figures are excluded.
Maturity2/5The supplied v0.8.4 release is marked prerelease. Source build and test commands exited successfully, but unique test totals, packaged compatibility and interactive workflows remain unverified.

Discussed on

  1. hnOpenPencil: Open-source AI-native vector design tool5 points
  2. hnOpenPencil: Open-source vector design tool controlled by AI Agents4 points

Who it’s for

Developers evaluating an editable design document that an MCP-compatible agent can read and change.
Teams that want JSON design files they can inspect and diff in Git.
Rust contributors prepared to build a substantial workspace with three public Git submodules.
Self-hosters willing to configure provider credentials, browser origins and access controls.

Who it’s NOT for

Browser-only users who need the web host to connect to local Claude Code, Codex, OpenCode or Copilot tooling.
Teams that require this review to establish production readiness, import fidelity, export quality or interactive performance. Our recorded run did not establish those results.
Users who need a verified packaged installation on their own operating system before committing to a tool. Our source build does not validate release assets.
Contributors whose build budget cannot accommodate the recorded 331 MB checkout and 683-second build. These are observations from one environment, not minimum requirements.

Setup reality

In our recorded run on September 27, 2026, at commit 3e55570d20bd4be891700789146e7c43c9c1c3b1, the dependency-download step exited successfully in approximately 55 seconds. The stored dependency count is 704; this does not mean 704 applications were installed. The build step exited successfully in approximately 683 seconds, and the cargo test step exited successfully in approximately 82 seconds.

The historical parser stored 1,468 passed, 0 failed and 1,468 total, but the output repeats Cargo summaries. Unique and exhaustive test counts are unverified, so those aggregates cannot support an all-tests-passed claim. The visible output also includes four ignored tests. Test-host logs say no web bundle was found and that the root route served build instructions. The record does not establish a working browser editor or an installed CLI on PATH.

The recorded configuration was 3 CPUs, 12 GB of memory and image lab-rust:1. That image label does not establish a Rust version. The checkout measured 4,928 files, approximately 1,094,831 source lines and 331 MB, with 13 detected CI workflow files. No security audit result was recorded.

The README documents Rust for the product build, a pinned Rust 1.94 toolchain, and Bun >= 1.0 plus Node.js >= 18 only for the web SDK packages. It documents three public HTTPS Git submodules. Windows portable archives require the Visual C++ Redistributable, and the documented Nix flake targets x86_64-linux. These are documented requirements, not compatibility results from our run.

Decide where your agent will run

OpenPencil's browser editor and native app have different agent options. The README says the web host supports built-in API-key agents only; CLI and ACP agents remain native-only. If your intended workflow depends on a local coding agent, that distinction should determine your trial before you spend time on deployment.

The OpenPencil README describes an infinite vector canvas backed by JSON .op files, with components, design variables, multiple pages and MCP tools for reading and changing documents. It also documents Figma .fig imports, .pen component kits and exports to React with Tailwind, HTML with CSS, Vue, Svelte, Flutter, SwiftUI, Jetpack Compose and React Native. These are project-documented capabilities. Our recorded run did not evaluate their fidelity or output quality.

What our recorded run establishes

Our stored run began on September 27, 2026, at 03:13:36 UTC, using commit 3e55570d20bd4be891700789146e7c43c9c1c3b1, dated September 22, 2026. Its configuration recorded 3 CPUs, 12 GB of memory and image lab-rust:1. The image name does not identify the actual compiler version.

The dependency-download step exited 0 after 55.432 seconds, the build step exited 0 after 683.444 seconds, and the cargo test step exited 0 after 81.655 seconds. Rounded, those are 55, 683 and 82 seconds. The download tail shows Cargo fetching crates. It does not prove that the product or its CLI was installed. The build tail shows an unoptimized development build and OpenPencil crates labeled v0.8.5; this was a source checkout, not a test of the v0.8.4 release assets.

The stored parser aggregates are 1,468 passed, 0 failed and 1,468 total across 10 suites. Those measurements remain in the record, but the log repeats summaries before and after a replay marker. Unique and exhaustive counts have not been verified. We therefore report successful test-command execution without presenting 1,468 as a verified count of distinct passing tests. The visible Cargo output includes four ignored tests, which are not failures.

The daemon tests logged that no web bundle was found and that / served build instructions. Those tests exercised server contracts, including named CORS and managed-daemon checks; they did not demonstrate a complete browser editor. The run also does not establish an installed op command on PATH, a working local-agent connection, canvas frame rate, collaboration latency, import fidelity or generated-code quality.

The checkout measured 4,928 files, approximately 1,094,831 source lines and 331 MB. The dependency count was 704, and the detector recorded 13 CI workflow files. Its negative Dockerfile detection is not evidence that Docker deployment is unavailable: the README documents Dockerfile.web-rust. No security audit result was recorded. The build emitted a future Rust incompatibility warning for ashpd v0.8.1; the build still completed successfully.

Self-hosting requires a credential decision

The README says browser-entered provider, image-generation and Openverse credentials remain in same-origin localStorage by default. A credential needed for an AI request travels with that request, but the daemon does not persist the browser snapshot by default.

Optional server persistence is deployment-wide: an accepted snapshot replaces the shared browser-owned copy. The project recommends enabling it only for a trusted, access-controlled deployment with one active administrator profile behind HTTPS. Same-origin scripts can read localStorage, so protecting that origin matters even when server persistence is disabled. Public reverse proxies must configure exact allowed browser origins separately. These are documented controls and operating requirements, not findings from a security assessment.

For source work, the README documents three public Git submodules and a pinned Rust 1.94 toolchain. Bun >= 1.0 and Node.js >= 18 apply to the web SDK packages. Its Windows portable artifacts need the Visual C++ Redistributable, and its Nix flake is published for x86_64-linux. Verify the requirements for your chosen artifact rather than treating our source build as a platform compatibility check.

Read issue follow-ups before treating reports as current failures

The supplied v0.8.4 release page labels that release a prerelease. That establishes the status of v0.8.4, not that it is the newest release today. Our source checkout compiled crates labeled v0.8.5, which likewise does not establish a published v0.8.5 release.

Issue 228 reports a macOS connection failure with OpenPencil 0.8.4 and codex-cli 0.149.1. A contributor subsequently said the fix was in the v0.8.5 branch and linked commit bfd4f34d0. That is a reported branch fix, not a connection result from our run or proof that a corrected release reached users.

Issue 181 needs a different qualification. The original reporter confirmed on August 15, 2026 that screenshot pasting worked, while reporting placement outside the page and a delay of almost two seconds. The thread also contains a report about OpenPencil 0.14.0 that maintainers identified as a different project. It cannot support a defect claim about ZSeven-W/openpencil. Our run did not reproduce the remaining placement or delay report.

For a trial, check the exact release asset and architecture, connect your intended agent, paste a representative image, import one real document and inspect one generated interface. Our command results do not replace those checks.

Alternatives depend on the artifact you want to edit

Penpot's README documents browser use, self-hosting, real-time collaboration and an MCP server. Evaluate it for a team design environment with deployment control. Calling it an option only when agent control is secondary would misrepresent its documented capabilities.

Onlook's README focuses the open-source editor on Next.js and TailwindCSS. Its visual editor maps browser elements to code and updates both. Evaluate it when application code is the artifact you want to change. The README separately describes its next hosted product as being in early access. We did not run either alternative or compare their stability.

How to read the scores

These are editorial ratings of the evidence available for this review, not benchmark results. The scale is 1 for substantial documented obstacles or very limited evidence, 2 for limited evidence with important gaps, 3 for a workable documented path with material qualifications, 4 for broad documentation or verification within the stated scope, and 5 for extensive verification across the reader's intended workflows. Unknown adoption, compatibility and support quality do not earn a high score.

Setup receives 3/5 because the recorded download and build completed, but the build took 683 seconds and did not establish an installed CLI or complete browser bundle. Documentation receives 4/5 for explicit native/web boundaries, prerequisites and credential settings. Community receives 2/5 because the supplied issue threads show responses and follow-ups but do not establish adoption or support reliability. Maturity receives 2/5 because the supplied release is a prerelease and our successful commands leave interactive and packaged workflows unverified.

Alternatives

ProjectWhat it isPick it when
Penpot gh↗An open-source design platform with browser access, self-hosting and real-time collaboration.Evaluate Penpot when browser-based team design and control over deployment are your priorities. Its README also documents an MCP server, so agent access alone does not distinguish OpenPencil.
Onlook gh↗An open-source visual code editor focused on Next.js and TailwindCSS projects.Evaluate Onlook when you want visual edits to change a Next.js and TailwindCSS application's code. Its README distinguishes the open-source editor from the hosted product in early access.

Sources

  1. OpenPencil repository and README
  2. OpenPencil v0.8.4 release
  3. OpenPencil Windows x64 web-server issue
  4. OpenPencil Codex CLI connection issue
  5. OpenPencil Linux image-paste issue

More ai tools reviews

ooosplat · dexter · oh-my-ppt · Agentero · mini-swe-agent · claude-video · the whole board →