Excalidraw vs Penpot: Which Design Tool to Self-Host?

Quick Verdict

Excalidraw and Penpot solve different problems. Excalidraw is a whiteboard for quick sketches and diagrams — deploy it in 30 seconds, draw something, export it. Penpot is a full design platform competing with Figma — component libraries, prototyping, design systems. Pick based on what you’re actually designing.

Overview

Excalidraw is a virtual whiteboard with a hand-drawn aesthetic. It runs entirely in the browser — the server just delivers static files. No database, no backend state, minimal resources. Ideal for architecture diagrams, flowcharts, and quick visual explanations.

Penpot is an open-source design and prototyping platform. It’s the self-hosted answer to Figma — vector editing, components, design tokens, interactive prototypes, and real-time collaboration. It runs as a multi-service Docker stack with PostgreSQL and Redis.

Feature Comparison

FeatureExcalidrawPenpot
Primary use caseWhiteboard & diagramsUI/UX design & prototyping
Drawing styleHand-drawn aestheticProfessional vector graphics
CollaborationRequires custom buildBuilt-in, real-time
Component librariesCommunity libraries (shapes)Full component system with variants
PrototypingNoInteractive prototypes with flows
Design tokensNoYes (CSS variables export)
SVG supportBasic exportFull SVG editing engine
Data storageBrowser only (localStorage)Server-side (PostgreSQL)
Plugin systemNoYes
File format.excalidraw (JSON)Native + SVG + PDF export
Mobile supportBrowser (responsive)Browser (responsive)
Offline modeYes (once loaded)No (server required)

Setup Complexity

Excalidraw is about as simple as self-hosting gets:

services:
  excalidraw:
    # No semver Docker tags published — :latest only
    image: excalidraw/excalidraw:latest
    ports:
      - "3000:80"

One container. No database. No volumes. Deploy in under a minute.

Penpot requires a multi-service stack — the application (frontend + backend + exporter), PostgreSQL, and Redis. Typical Docker Compose is 50+ lines with environment variables for SMTP, storage, and authentication.

MetricExcalidrawPenpot
Containers15+
RAM (idle)~30 MB~1.5 GB
Disk~50 MB~2 GB
Setup time1 minute15-30 minutes
DatabaseNonePostgreSQL

Performance and Resources

Excalidraw is negligible on server resources — Nginx serving static files. All rendering happens in the browser. You could run it on a Raspberry Pi Zero.

Penpot’s backend processes SVG rendering and file operations server-side. The exporter service uses headless Chrome for PDF generation. Expect 1.5+ GB RAM usage even at idle.

Collaboration

Excalidraw: The pre-built Docker image routes collaboration through Excalidraw’s hosted relay server. To fully self-host collaboration, you need to build a custom image pointing to your own excalidraw-room WebSocket relay. It works, but it’s extra effort.

Penpot: Real-time collaboration is built-in and fully self-hosted. Multiple users can edit the same design simultaneously with live cursors. No external dependencies.

Use Cases

Choose Excalidraw If…

  • You need a quick whiteboard for architecture diagrams
  • You want minimal server overhead
  • Privacy matters and you don’t want server-side data storage
  • You’re drawing flowcharts, mind maps, or technical sketches
  • You want hand-drawn aesthetics for presentations or documentation

Choose Penpot If…

  • You’re designing user interfaces or web layouts
  • You need component libraries and design systems
  • You want interactive prototyping with click-through flows
  • Multiple designers need real-time collaboration
  • You’re replacing Figma and need a comparable feature set

Final Verdict

These tools barely overlap. Excalidraw is a whiteboard. Penpot is a design platform. Run both if you need both — Excalidraw’s resource footprint is so small it’s practically free to add alongside any other service.

If forced to pick one: Penpot covers more ground. You can sketch diagrams in Penpot (less charming than Excalidraw’s hand-drawn style, but functional). You cannot do UI design in Excalidraw.

Comments