Skip to content
STACK IT FAST

Umami vs Plausible

Architecture comparison 2 projects Built from source-audited deep dives

Both are cookie-free, privacy-first analytics. Umami is a TypeScript Next.js app that runs on PostgreSQL alone and adds ClickHouse for high volume; Plausible is an Elixir/Phoenix app that always splits configuration (PostgreSQL) from events (ClickHouse) and queues work with Oban.

Umami
TypeScript · MIT
Plausible Analytics
Elixir · AGPL-3.0
Updated
2026-09-25

Which one should you pick?

Pick Umami if…
  • You want the smallest self-hosted footprint: one Next.js app and PostgreSQL
  • Your team works in TypeScript and React
  • You prefer the MIT license
Pick Plausible Analytics if…
  • You expect high event volume from day one and want ClickHouse built in
  • You are comfortable operating an Elixir/Phoenix release
  • AGPL-3.0 is acceptable for your deployment

Side by side

Attribute Umami Plausible Analytics
Written in TypeScriptJavaScriptCSS ElixirTypeScriptJavaScript
License MIT AGPL-3.0
Frontend Next.jsReact ReactTailwind CSSTanStack QueryD3
Backend & APIs TypeScript ElixirPhoenixObanOpenTelemetry
Data & persistence PrismaPostgreSQLClickHouseRedis PostgreSQLClickHouseS3
Infrastructure & deploy Docker DockerPlaywright
Key decisions
  • Dual Persistence Support for PostgreSQL and ClickHouse
  • Standalone Rollup Build for Privacy-First Tracker Script
  • Built-in Model Context Protocol Server
  • Split storage: PostgreSQL for configuration, ClickHouse for high-throughput events
  • Standalone tracking script isolated from AGPL application code
  • Hybrid Elixir release packaging with Docker multi-stage compilation
Audited ec0ff50 · 2026-09-17 30abd27 · 2026-09-17

How they differ

Runtime

Umami is a Next.js App Router app that serves both the React dashboard and the collection API; its tracker is a separate Rollup build. Plausible is Elixir on Phoenix with a React dashboard embedded in Phoenix views, and it keeps its tracking script isolated from the AGPL application code.

Storage and background work

Umami’s query layer has implementations for PostgreSQL (Prisma) and ClickHouse, and uses Redis for sessions, IP salts and rate limiting. Plausible always splits storage: PostgreSQL for configuration and ClickHouse for events, and it runs background jobs with Oban on PostgreSQL instead of a Redis queue.

Extras

Umami ships a built-in MCP server and rrweb-based session replay. Plausible adds OpenTelemetry instrumentation and uses S3 for data imports and exports.

Architecture diagrams

Umami Open SVG
Umami architecture diagramTracked sites → Umami app (collect events); Dashboard → Umami app (REST); Umami app → PostgreSQL (Prisma); Umami app → ClickHouse (event queries); Umami app → Redis (cache)CLIENTSSERVICESDATA & STORAGETracked sitestracker scriptDashboardReactUmami appNext.js App RouterPostgreSQLPrismaClickHousehigh-volume eventsRedissessions · saltscollect eventsRESTPrismaevent queriescache
Plausible Analytics Open SVG
Plausible Analytics architecture diagramTracked sites → Phoenix app (event beacon); Dashboard → Phoenix app (stats API); Phoenix app → ClickHouse (ingest · query); Phoenix app → PostgreSQL (Ecto); Oban jobs → PostgreSQL (job queue); Oban jobs → S3 (exports)CLIENTSSERVICESWORKERS & JOBSDATA & STORAGEEXTERNALTracked sitestracker (Rollup)DashboardReact · TanStack QueryPhoenix appElixir · Phoenix 1.8Oban jobsdigests · imports · cleanupPostgreSQLsites · users (Ecto)ClickHouseevents · sessionsS3import / exportevent beaconstats APIjob queueingest · queryEctoexports

Frequently asked questions

Does Umami or Plausible require ClickHouse?

Plausible stores events in ClickHouse and configuration in PostgreSQL. Umami runs on PostgreSQL through Prisma and supports ClickHouse as an optional store for high-volume event queries.

Which analytics tool uses cookies?

Neither. Umami builds anonymous rotating daily visitor hashes without cookies, and Plausible provides cookie-free tracking.