Vergleich mit Penpot
OpenPencil und Penpot sind beides Open-Source-Design-Tools, aber sie unterscheiden sich grundlegend in Architektur, Rendering und Dateiformaten.
1. Auf einen Blick
| Metrik |
Open Pencil |
Penpot |
| Total LOC |
~26.000 |
~299.000 |
| Quelldateien |
~143 |
~2.900 |
| Sprachen |
TypeScript, Vue |
Clojure, ClojureScript, Rust, JS, SQL, SCSS |
| Rendering-Engine |
~3.200 LOC (TS, 10 Dateien) |
22.000 LOC (Rust/Skia WASM) |
| UI-Code |
~4.500 LOC |
~175.000 LOC (CLJS + SCSS) |
| Backend |
Keines (local-first) |
32.600 LOC + 151 SQL-Dateien |
| LOC-Verhältnis |
1× |
~11× |
Open Pencil ist ~11× kleiner — und das ist der Punkt. Es ist keine Vereinfachung; es ist eine grundlegend andere Architektur.
2. Architektur
| Aspekt |
Open Pencil |
Penpot |
| Rendering |
Skia CanvasKit (GPU, WASM) |
Skia Rust/WASM (render-wasm v1) |
| Layout |
Yoga WASM (CSS-Flexbox) |
Eigene CLJS-Engine |
| Dateiformat |
Figmas Kiwi-Binär (.fig) |
Eigenes SVG + penpot-Metadaten |
| Desktop |
Tauri v2 (~5 MB) |
Kein nativer Client |
| Backend |
Keines (P2P) |
Clojure + PostgreSQL + Redis |
| Hosting |
Läuft lokal, kein Server nötig |
Erfordert Docker-Stack |
3. Rendering
Open Pencil und Penpot verwenden beide Skia für das Rendering, aber die Implementierungen unterscheiden sich:
- Open Pencil: CanvasKit WASM — bewährt, GPU-beschleunigt, dieselbe Engine wie Figma
- Penpot: Eigener Rust/Skia-WASM-Renderer (render-wasm), ersetzt den früheren SVG-Renderer
4. Dateiformat
|
Open Pencil |
Penpot |
| Native-Format |
.fig (Kiwi-Binär) |
.penpot (SVG + Metadaten) |
| Figma-Import |
Nativ |
Plugin/Konverter |
| Figma-Export |
Nativ |
Nicht unterstützt |
| Figma-Zwischenablage |
Bidirektional |
Nicht unterstützt |
| Dateigröße |
Kompakt (Zstd-komprimiert) |
Größer (SVG-Text + JSON) |
5. Layout
|
Open Pencil |
Penpot |
| Engine |
Yoga WASM (CSS-Flexbox) |
Eigene CLJS-Implementierung |
| CSS Grid |
Nicht unterstützt |
Unterstützt |
| Flexbox |
Vollständig (via Yoga) |
Eigene Implementierung |
| Korrektheit |
Yoga wird auf Milliarden von Geräten getestet |
Eigene Testmatrix |
6. Kollaboration
|
Open Pencil |
Penpot |
| Modell |
P2P (Trystero + Yjs CRDT) |
Client-Server |
| Cursor |
✅ Echtzeit |
✅ Echtzeit |
| Offline |
Vollständig offline-fähig |
Erfordert Server |
| Self-Hosting |
Nicht nötig (P2P) |
Docker-basiertes Self-Hosting |
7. Entwicklererlebnis
|
Open Pencil |
Penpot |
| Beitragsumfang |
~143 TS-Dateien |
2.900+ Dateien, 4 Sprachen |
| Build-System |
Vite + Bun (Sekunden) |
Shadow-CLJS + Docker (Minuten) |
| Typensicherheit |
TypeScript durchgängig |
Clojure (dynamisch typisiert) |
| Tests |
Playwright + bun:test |
Clojure-Test + Cypress |
| Desktop-Build |
bun run tauri build |
Kein nativer Client |
8. Programmierbarkeit
|
Open Pencil |
Penpot |
| CLI |
✅ Headless .fig-Operationen |
❌ Kein CLI |
| AI-Werkzeuge |
87 Werkzeuge + MCP-Server |
Plugin-System |
| JSX-Renderer |
✅ Programmgesteuerte Erstellung |
❌ |
| Eval-Befehl |
✅ Figma Plugin API |
❌ |
| Plugin-System |
Über eval/MCP |
✅ Natives Plugin-System |
9. Desktop
|
Open Pencil |
Penpot |
| Native App |
✅ Tauri v2 (~5 MB) |
❌ |
| Offline |
✅ Vollständig |
Erfordert Server |
| System-Schriften |
✅ Vollständig |
Nur hochgeladene |
| Autosave |
✅ |
Server-seitig |
| Native Menüs |
✅ macOS/Windows/Linux |
N/A |
10. KI-Integration
|
Open Pencil |
Penpot |
| Integrierter Chat |
✅ OpenRouter-Integration |
❌ |
| Werkzeugnutzung |
87 Design-Werkzeuge |
❌ |
| MCP-Server |
✅ stdio + HTTP |
❌ |
| Bring your own key |
✅ Kein Vendor-Lock-in |
❌ |
11. Skripting & Erweiterbarkeit
|
Open Pencil |
Penpot |
| Headless CLI |
✅ 12 Befehle |
❌ |
| Plugin API |
Figma-kompatibel |
Eigene Plugin API |
| MCP-Server |
✅ 90 Werkzeuge |
❌ |
| Eval-Befehl |
✅ JS-Ausführung |
❌ |
| JSX-Renderer |
✅ Programmatisch |
❌ |
Zusammenfassung
| Stärke |
Gewinner |
Grund |
| Figma-Kompatibilität |
Open Pencil |
Natives .fig + Zwischenablage |
| Programmierbarkeit |
Open Pencil |
CLI, eval, JSX, MCP-Server |
| Desktop-Erlebnis |
Open Pencil |
Native Tauri-App, ~5 MB |
| KI-Integration |
Open Pencil |
90 Werkzeuge, MCP, integrierter Chat |
| Codebasis-Einfachheit |
Open Pencil |
11× weniger Code, 1 Sprache |
| CSS Grid |
Penpot |
Yoga unterstützt es noch nicht |
| SVG-native |
Penpot |
SVG ist die Muttersprache |
| Self-Hosting |
Penpot |
Docker-bereit vs. Desktop-only |
| Ökosystem-Reife |
Penpot |
Jahre der Produktion vs. frühe Phase |
Open Pencil ist architektonisch schlanker — ein Single-Process-CanvasKit-Renderer in ~26K LOC TypeScript, Figma-kompatibel by Design. Penpot ist eine Full-Stack-Plattform mit ~299K LOC über Clojure, ClojureScript, Rust und SCSS, plus eine Docker-Service-Flotte. Beide bieten jetzt Echtzeit-Kollaboration (unterschiedliche Architekturen: P2P vs. Server). Penpot hat ein Plugin-Ökosystem und serverseitigen PDF-Export; Open Pencil hat Figma-kompatibles Headless-Scripting, 90 KI/MCP-Werkzeuge, SVG-Export und eine native Desktop-App.