Penpot Pricing: Managed vs Self-Hosted

The cheapest managed Penpot starts at about $70/month. Self-hosted, this stack measures 4.1 GiB across 6 services, which fits a $49/month flat plan with room left over.

#the numbers

Managed prices as of June 2026, each linked to its source. The self-hosted row is not an estimate: the RAM figure is what this stack allocates in its compose file, and the plan is the smallest one that holds it.

OptionPlanMonthlyWhat you get
Self-hosted on Miget 8 GiB, 4 vCPU $49 the whole stack, flat - no per-user or per-request metering, and the plan holds your other apps too
Figma Professional ~$160 $16/full-seat/mo annual at 10 seats ($20 monthly); Dev seats $12
Penpot Cloud Unlimited ~$70 $7/user/mo at 10 users (capped $175; free tier ≤8 members)

#the difference, plainly

$21/month, or about 30%, against the cheapest managed tier - $252 over a year. Worth stating what that money buys and what it costs, because the honest answer is not "it is just cheaper".

  • You gain a bill that does not move with usage, no execution or seat metering, and root on your own data.
  • You gain spare capacity: the plan is sized for this stack, and anything else you deploy inside it is free.
  • You take on upgrades, backups and the pager. Managed services charge for exactly that, and for some teams it is worth every dollar.
  • You should not switch for the saving alone if your team has nobody who wants to own it.

#what it costs on other platforms

Same stack, published rates elsewhere - estimates from each platform's own pricing page, not quotes. Per-service platforms are the expensive case here, because every container in this stack is its own paid service.

PlatformEstimated monthlyWhy
Miget $49 flat plan, 8 GiB - databases included, no meters
Heroku ~$206 no volumes; nothing between 1 GB ($50) and 2.5 GB ($250) dynos - 2 GB containers cost far more than shown
Render ~$55 per-service instances (0.5 GB $7, 2 GB $25) - every container is its own paid service
DO App Platform ~$55 no persistent volumes - stateful containers need managed DBs/Spaces (base $5 Spaces included here)
Railway ~$44 usage-based ($10/GB RAM-mo); vCPU billed separately at $20/vCPU-mo on top
Fly.io ~$27 cheapest sticker price - but burstable shared CPUs (1/16 core; dedicated vCPUs cost ~2-3×), no compose deploys (one app per container, manual wiring), managed DBs billed extra

#sizing, if you outgrow the small plan

The $49 plan is the smallest that fits. For production traffic you generally want the next tier up, and dedicated vCPU if the workload is CPU-bound rather than idle-waiting.

Use casePlanMonthly
Fits the stack8 GiB, 4 vCPU shared$49
Comfortable, room for your own apps16 GiB, 8 vCPU shared$97
Dedicated vCPU (production)8 GiB, 4 vCPU dedicated$85

Backend JVM ~1.5 GiB, exporter Chromium ~1 GiB are the floors. With S3 asset storage the stack is volume-free apart from the managed Postgres.

Run Penpot yourself

The compose file is open source and runs locally with docker compose up. One step to deploy it to Miget on the $49/month plan, databases included.