Design teams everywhere are tired of vendor lock-in, monthly per-seat pricing, and the fact that their entire workflow lives on someone else’s servers. Figma dominates the UI/UX design space, but it comes with real costs — both financial and in terms of data sovereignty. Enter Penpot, the first truly open-source design and prototyping platform built for cross-functional teams.
In this guide, we’ll cover what Penpot offers, how it stacks up against Figma, and walk you through a complete self-hosted deployment using docker Compose.
Why Self-Host Your Design Tool
Before diving into Penpot, it’s worth understanding why self-hosting a design tool matters more than you might think.
Data sovereignty is the biggest driver. When you use a cloud-only tool like Figma, every wireframe, mockup, and prototype lives on company servers you don’t control. For teams in regulated industries — healthcare, finance, government — this is often a compliance nightmare. Self-hosting means your design assets never leave your infrastructure.
Cost at scale is another factor. Figma’s pricing starts reasonable but escalates quickly as teams grow. A professional license runs $12/month per editor, and organization-tier features cost significantly more. Penpot is free and open-source — the only cost is your own infrastructure, which for a typical team is just a modest VPS.
Offline access is a genuine advantage for teams in areas with unreliable connectivity. A self-hosted instance on your local network works regardless of your internet connection status.
Customization and extensibility matter too. With open-source software, you can modify the tool itself, build custom plugins, integrate with internal systems, and contribute improvements back to the community.
What Is Penpot?
Penpot is an open-source, web-based design and prototyping platform launched by Kaleidos, a Spanish software cooperative. Unlike many “open-source alternatives” that are rough around the edges, Penpot is a polished, production-ready tool with an active development team, regular releases, and a growing ecosystem.
Key features include:
- Vector-based design editor with a familiar canvas-based interface
- Component system with variants, properties, and nested components
- Interactive prototyping with transitions, animations, and conditional logic
- Real-time collaboration — multiple designers can work on the same file simultaneously
- Developer handoff with CSS code inspection, asset export, and design specs
- Design tokens support for systematic design systems
- SVG-native — all designs are stored as standard SVG files, not proprietary formats
- Git-like version history for tracking design changes over time
Penpot is built with a Clojure backend and a TypeScript frontend, using PostgreSQL for data storage and Redis for caching and real-time collaboration.
Penpot vs Figma: Feature Comparison
Here’s how Penpot stacks up against Figma across the features that matter most to design teams:
| Feature | Penpot (Self-Hosted) | Figma (Cloud) |
|---|---|---|
| License | MPL 2.0 (Open Source) | Proprietary (SaaS) |
| Cost | Free (your infra only) | $12–$75/editor/month |
| Data location | Your servers | Figma servers |
| Real-time collaboration | Yes | Yes |
| Component system | Yes (variants, props, slots) | Yes (variants, properties) |
| Prototyping | Yes (flows, transitions) | Yes (flows, smart animate) |
| Design tokens | Yes (native) | Yes (via variables) |
| Plugin ecosystem | Growing (native + web) | Extensive |
| Offline mode | Yes (self-hosted) | Limited |
| File format | Open SVG | Propetary |
| Developer handoff | Built-in (CSS, SVG export) | Built-in (Dev Mode) |
| Team libraries | Yes | Yes (paid tiers) |
| Branching/merging | Version history | Branching (paid) |
| Custom fonts | Yes | Yes |
| Auto layout | Yes (Flex Layout) | Yes (Auto Layout) |
| API / integrations | REST API | REST + WebSocket API |
Where Penpot Excels
- SVG-native architecture means your designs are never locked into a proprietary format. Export to SVG and you have a complete, editable vector file.
- Flex Layout is Penpot’s implementation of CSS Flexbox — it maps directly to how developers build layouts, reducing the designer-to-developer translation gap.
- Open standard — because Penpot files are SVG-based, you can programmatically generate, modify, or audit designs using standard tools.
Where Figma Still Leads
- Plugin ecosystem is significantly larger. Figma’s plugin marketplace has thousands of community-built extensions.
- FigJam whiteboarding is a separate product that Penpot doesn’t yet match.
- Advanced prototyping features like smart animate and scroll-driven animations are more mature in Figma.
- Community and resources — tutorials, courses, and design system templates are far more abundant for Figma.
Self-Hosting Penpot: Complete Setup Guide
Penpot provides an official Docker Compose configuration that makes self-hosting straightforward. Here’s how to get a production-ready instance running.
Prerequisites
- A server with at least 2 CPU cores and 4 GB RAM (4+ GB recommended for teams)
- Docker and Docker Compose installed
- A domain name pointing to your server
- TLS certificates (Let’s Encrypt / Certbot)
Step 1: Create the Project Directory
| |
Step 2: Download the Official Docker Compose File
Penpot maintains official compose files. The latest stable version includes all required services:
| |
Step 3: Configure the Environment
Create a .env file with your configuration:
| |
Step 4: Full Production Docker Compose
Here’s a production-ready docker-compose.yaml with all services configured:
| |
Step 5: Launch the Stack
| |
The initial startup takes a minute or two as the database initializes. Check the logs to confirm everything is running:
| |
You should see the backend connect to PostgreSQL and Redis, and the frontend start serving on port 9001.
Step 6: Access and Create Your First Account
Navigate to https://design.yourdomain.com and create your admin account. The first user registered on a fresh Penpot instance automatically becomes a team administrator.
Step 7: Optional — Disable Public Registration
For team use, you may want to disable open registration after creating initial accounts:
| |
Alternatively, use email domain whitelisting:
| |
Advanced Configuration
LDAP / OAuth2 Authentication
Penpot supports OIDC, SAML, and LDAP authentication for enterprise single sign-on. Here’s an examkeycloak configuration for Keycloak:
| |
Custom Fonts
Upload custom fonts by mounting them into the frontend container:
| |
Then register them in the Penpot settings UI under Profile > Fonts.
Backup Strategy
Penpot’s state is entirely in PostgreSQL and the assets volume. A simple backup script:
| |
Add this to cron for automated daily backups:
| |
Scaling for Larger Teams
For teams of 20+ concurrent users, consider these adjustments:
- PostgreSQL: Increase
shared_buffersto 25% of available RAM - Redis: Enable persistence with AOF (
appendonly yes) - Backend: Run multiple backend containers behind a load balancer
- Assets: Switch to S3-compatible storage instead of filesystem:
| |
Migration from Figma
Moving from Figma to Penpot requires some manual work, but the process is manageable:
- Export from Figma: Select frames and export as SVG. For complex files, use the “Copy as SVG” option.
- Import into Penpot: Use File > Import and select your SVG files. Penpot preserves layers, groups, and most vector properties.
- Rebuild components: Penpot’s component system works differently from Figma’s. You’ll need to recreate component variants, but the Flex Layout system often results in cleaner, more developer-friendly components.
- Set up design tokens: Penpot has native design token support. Define your color palette, typography scale, and spacing system in the Tokens panel.
Note that Figma’s .fig files are not directly importable — there’s no official converter. For large design systems, plan a migration sprint rather than a one-shot transfer.
Conclusion
Penpot has matured into a genuinely viable alternative to Figma for most design workflows. It’s not a perfect clone — the plugin ecosystem is smaller and some advanced prototyping features are still catching up. But for teams that value data sovereignty, predictable costs, and open standards, Penpot is the clear choice in 2026.
The self-hosted setup takes about 15 minutes with Docker Compose, and once running, it requires minimal maintenance. For small to mid-size teams, a single $10/month VPS instance handles the load comfortably.
If you’re evaluating open-source design tools, Penpot deserves a serious look. Start with the Docker setup above, import a few existing designs, and see how the Flex Layout system works for your workflow.
Frequently Asked Questions (FAQ)
Which one should I choose in 2026?
The best choice depends on your specific requirements:
- For beginners: Start with the simplest option that covers your core use case
- For production: Choose the solution with the most active community and documentation
- For teams: Look for collaboration features and user management
- For privacy: Prefer fully open-source, self-hosted options with no telemetry
Refer to the comparison table above for detailed feature breakdowns.
Can I migrate between these tools?
Most tools support data import/export. Always:
- Backup your current data
- Test the migration on a staging environment
- Check official migration guides in the documentation
Are there free versions available?
All tools in this guide offer free, open-source editions. Some also provide paid plans with additional features, priority support, or managed hosting.
How do I get started?
- Review the comparison table to identify your requirements
- Visit the official documentation (links provided above)
- Start with a Docker Compose setup for easy testing
- Join the community forums for troubleshooting