Umami
Simple, fast, privacy-focused alternative to Google Analytics. Own your website data.
Self-hosted web analytics, honestly reviewed. No marketing fluff, just what you get when you stop feeding your traffic data to Google.
TL;DR
- What it is: Open-source (MIT) web analytics platform — think Google Analytics, but the data stays on your server and Google never sees it [1][4].
- Who it’s for: Website owners, developers, and small teams who want page-view metrics, referrer tracking, and visitor counts without cookies, consent banners, or data sharing with Big Tech [1][2].
- Cost savings: Google Analytics is free but costs you your data. Privacy-first SaaS alternatives like Plausible run $9/mo for 10,000 pageviews, Fathom starts at $14/mo for 100,000 pageviews [3]. Umami self-hosted runs on a $5–10/mo VPS with unlimited sites and pageviews.
- Key strength: Dead-simple setup, genuinely lightweight tracking script, clean dashboard that non-technical users can actually read. One G2 reviewer: “Very easy to use and provides superb value for free” [4].
- Key weakness: Limited event tracking, no funnel analysis, minimal filtering and ordering options in the dashboard — fine for traffic monitoring, not a replacement for product analytics tools like Mixpanel or PostHog [4].
What is Umami
Umami is a self-hosted web analytics platform built as a privacy-conscious alternative to Google Analytics. The GitHub repository describes it plainly: “Umami is a modern, privacy-focused analytics platform. An open-source alternative to Google Analytics, Mixpanel and Amplitude.” The README pitch is simpler: “A simple, fast, privacy-focused alternative to Google Analytics.”
It was created by three brothers — Mike, Brian, and Francis Cao [4]. The project sits at 35,719 GitHub stars, which puts it among the most-starred self-hosted analytics tools available. The license is MIT, meaning you can self-host, fork, embed, or resell it without a legal conversation.
The core proposition is narrow and honest: you add a small JavaScript snippet to your website, Umami collects page views, referrer sources, user agents, and UTM parameters, stores everything in a PostgreSQL database on your own server, and shows you a dashboard. No cookies. No cross-site tracking. No data leaving your infrastructure [1][2].
What it deliberately is not is a full product analytics suite. It won’t replace Mixpanel for conversion funnels, PostHog for session replay, or Amplitude for behavioral cohorts. If those are your requirements, Umami will disappoint you. For a founder who wants to know “how much traffic am I getting and where is it coming from,” it’s exactly right.
Why people choose it
The reasons are consistent across reviews: privacy compliance, cost, and simplicity.
Google Analytics fatigue. The GDPR enforcement wave made Google Analytics legally complicated for EU-targeted sites. Umami sidesteps the problem entirely — no third-party cookies, no data transferred to Google servers, no consent banner required under most interpretations of GDPR and CCPA [1][2]. One G2 reviewer (verified, IT and services sector) specifically called this out: “It respects the German GDPR (DSGVO). It will not be blocked by uBlock or other adblockers” [4]. That last point matters: ad-blocker penetration rates in developer and tech audiences frequently run 30–40%, meaning Google Analytics systematically undercounts the audience that matters most to developer tools and SaaS products.
Data ownership. The FreeCodeCamp guide [1] puts it simply: Umami “keeps all data on your own server.” When you’re passing data about your users’ behavior through Google’s servers, you’re not just giving up privacy — you’re giving up competitive intelligence to a company that sells ads. A founder whose traffic data lives in their own Postgres database can’t have it subpeonaed by a platform, discontinued, or rate-limited.
Adblocker resistance. Because the tracking script is served from your own domain, you can rename it to something innocuous, and most content-based adblockers won’t catch it. The G2 reviewer above mentioned this explicitly: “Possible to rename the script for your website, so that it won’t be blocked by ublock” [4]. Plausible and Simple Analytics offer similar techniques on their cloud plans; with Umami self-hosted it’s built in by default.
Cost at scale. Privacy-first SaaS analytics charge per pageview. At 1 million pageviews/month, Plausible runs $~69/mo, Fathom runs $~74/mo [3]. Umami self-hosted runs the same $6–10/mo VPS regardless of traffic volume. For high-traffic content sites or multi-site operators, the savings are material.
Features
Based on the README and first-hand descriptions from reviews:
Core analytics:
- Page view tracking with unique visitor deduplication [1][4]
- Referrer source tracking (direct, search, social, other sites) [1]
- UTM parameter capture for campaign tracking [4]
- User agent tracking (browser, OS, device type) [1]
- Country-level geolocation [1]
- Custom event tracking (with caveats — see Cons) [4]
- Multiple websites from a single instance [README]
- Password-protected shareable dashboard links [README]
Privacy and compliance:
- No cookies [2][4]
- No cross-site tracking
- No personally identifiable information collected by default [1]
- GDPR and CCPA compliant [1]
- All data stays in your PostgreSQL database [1]
Infrastructure:
- Docker Compose deployment (Umami + PostgreSQL bundled) [README]
- Source install path (Node.js 18.18+, PostgreSQL 12.14+) [README]
- PostgreSQL, MySQL, and MariaDB support [1]
- Next.js application — runs on standard Node hosting [README]
- Lightweight tracking script (sub-2KB) [4]
- Multi-language UI [README]
What’s missing:
- No funnel analysis [4]
- No session replay
- No A/B testing
- No heatmaps
- Limited filtering and sorting in the dashboard [4]
- No retention cohorts
The feature set is deliberately minimal. That’s a feature if you want simple traffic stats. It’s a dealbreaker if you need product analytics.
Pricing: SaaS vs self-hosted math
Umami Cloud (their managed service): Umami offers a cloud version with a free tier and paid plans. The exact current pricing tiers were not captured in the source data for this review — check https://umami.is/pricing for current numbers. The SimpleAnalytics review [4] notes “limited data retention options in the cloud version” as a known con.
Self-hosted (Community Edition):
- Software license: $0 (MIT) [README]
- VPS cost: $5–10/mo on Hetzner, Contabo, or DigitalOcean
- Database: bundled PostgreSQL in Docker Compose, or your existing Postgres instance
- Your time: 30–60 minutes for a technical user [1]
Competitor SaaS pricing for context [3]:
- Plausible: $9/mo for 10,000 pageviews, scales up from there
- Fathom Analytics: $14/mo for 100,000 pageviews
- Simple Analytics: $9/mo for 10,000 pageviews
- Google Analytics: $0 — but you pay with your data and your users’ privacy
- Matomo Cloud: starts around $23/mo for 50,000 hits
Concrete savings math:
Say you’re running three content sites with a combined 200,000 pageviews per month. On Plausible or Simple Analytics, that puts you in the $19–49/mo range depending on tier. On Fathom, similar. Self-hosted Umami on a single $6 Hetzner VPS handles all three sites with zero per-pageview cost.
Over a year: $19–49/mo SaaS = $228–$588. Self-hosted Umami = ~$72. Savings: $150–$500/year on a modest multi-site setup.
For a single small site under 10,000 pageviews/month, Plausible’s $9/mo tier is honestly competitive — the convenience of managed hosting may be worth $9/mo if Docker makes you nervous. For anyone running volume or multiple properties, self-hosting Umami is the obvious call.
Deployment reality check
The FreeCodeCamp guide [1] covers a source install in seven steps; the Docker path is shorter. Neither is difficult if you’ve deployed a Docker container before.
What you actually need:
- A Linux VPS with 1–2GB RAM (Umami is lightweight; the database is the real memory consumer)
- Docker and docker-compose installed
- A domain name with DNS pointing at your server
- A reverse proxy (Caddy or nginx) for HTTPS — not included in the Docker Compose but standard setup
- An SMTP provider if you want email invites for team members
The install process:
Docker Compose is the recommended path. docker compose up -d launches both the Umami app and a PostgreSQL container. The build step creates the database schema automatically and creates a default admin/umami login — change this immediately [README]. Add your domain, point nginx or Caddy at port 3000, and you’re tracking within the hour.
Source install is also documented: clone the repo, pnpm install, create a .env with your database URL, pnpm run build, pnpm run start [README]. More moving parts, but documented clearly.
What can go sideways:
- The default admin credentials (
admin/umami) are public knowledge. Forgetting to change them is the single most common self-host security mistake. - Non-technical users who have never touched a Linux server should budget 2–4 hours and expect to read a tutorial. The FreeCodeCamp guide [1] is a reasonable starting point.
- PostgreSQL 12.14+ is required for the source install — older Postgres versions on shared hosting won’t work [README].
- Some G2 reviewers note that the event tracking setup (custom events beyond page views) requires adding custom JavaScript to your site, which is less beginner-friendly than the basic page-view script [4].
Realistic estimate: 30–60 minutes for a developer comfortable with Docker. 2–4 hours for a technical-but-not-ops person following a guide. For someone who has never set up a VPS, this is the wrong starting point — have someone do the deploy for you.
Pros and Cons
Pros
- Actually MIT-licensed. No Fair-code ambiguity, no commercial use restrictions. Self-host, fork, embed in your SaaS, resell to clients — no legal review needed [1][2].
- No cookies, no consent banners. The privacy story is clean: nothing that triggers GDPR consent requirements, nothing blocked by mainstream ad-blockers [2][4].
- Adblocker-resistant by default. Because the script serves from your own domain, you can rename it — most content blockers won’t catch it. This matters more than people think for dev-heavy audiences [4].
- 35,719 GitHub stars. Not a weekend project. Active maintenance, community contributions, and real-world validation at scale.
- Genuinely lightweight. The tracking script is minimal; it won’t meaningfully impact your Lighthouse scores.
- Multi-site from one instance. Track unlimited properties from a single self-hosted deployment [README].
- Clean dashboard. G2 reviewers consistently call it easy to read. Non-technical founders can use it without a tutorial [4].
- GDPR and CCPA compliant. No legal gymnastics required to deploy it on an EU-facing site [1][2].
Cons
- Limited event tracking. Custom events beyond page views require additional JavaScript instrumentation. G2 reviewers flag this as a pain point: “No option to send events” [4]. What ships in the box is adequate for traffic monitoring; it’s thin for product analytics.
- No funnel analysis. You can see where users came from and which pages they hit, but you can’t build a conversion funnel [4].
- Limited filtering and ordering. The dashboard doesn’t give you flexible slicing of data. A G2 reviewer: “It’s a bit limited in regards to ‘ordering’ or ‘filtering’ options” [4]. This is a real usability gap if you want to segment traffic by campaign or compare time ranges granularly.
- Challenging for non-developers. The FreeCodeCamp guide [1] explicitly notes that setup “can be challenging for non-developers.” If you’ve never run a Linux server, the install path has friction.
- No session replay, heatmaps, or cohorts. The feature set stops at traffic stats. Anyone migrating from GA4’s behavioral analysis will feel the gap immediately.
- Cloud version has data retention limits. The managed cloud offering restricts how long data is kept on lower tiers [4] — relevant if you want historical trend analysis.
- Not a Google Analytics replacement for power users. If you depend on GA4’s exploration reports, audience segmentation, or Google Ads integration, Umami won’t fill those shoes.
Who should use this / who shouldn’t
Use Umami if:
- You’re a developer or technical founder who wants traffic data without serving your visitors to Google.
- You’re running EU-facing content or SaaS and want to skip the consent banner entirely.
- You have a high-traffic site or multiple sites where per-pageview SaaS pricing adds up.
- You care more about “how much traffic and where from” than “how do users move through our funnel.”
- You’re already comfortable with Docker and can handle a 45-minute setup.
- You want MIT-licensed infrastructure you can embed in a client project or multi-tenant product.
Skip it (pick Plausible or Fathom) if:
- You want managed hosting without thinking about servers, but still want privacy-first analytics.
- Your traffic is under 50,000 pageviews/month and $9–14/mo is fine — the convenience is worth it.
- You need reliable support with an SLA.
Skip it (pick PostHog) if:
- You need event tracking, funnels, session replay, and product analytics in one tool.
- Your use case is understanding how users use your product, not just that they visited.
Skip it (stay on Google Analytics) if:
- You need Google Ads conversion tracking or deep integration with the Google marketing stack.
- Your marketing team is already fluent in GA4 and the switching cost isn’t worth it.
- Your legal team has already signed off on GA and you’re not subject to strict EU data residency rules.
Skip it (pick Matomo) if:
- You need the full GA feature set (funnels, goals, ecommerce tracking, custom dimensions) in a self-hosted package and are willing to pay the setup and maintenance overhead [3].
Alternatives worth considering
From the SaaSHub alternatives listing and the reviews:
- Plausible Analytics — the closest direct competitor. Also open-source (AGPL), also privacy-first, also lightweight. Stronger product analytics features than Umami, managed cloud starts at $9/mo for 10K pageviews, self-host option available [3].
- Matomo — the feature-complete GA replacement. Funnels, goals, ecommerce tracking, heatmaps, session recordings. Significantly heavier to self-host and maintain. If you need GA feature parity, this is the tool [3].
- Fathom Analytics — closed-source SaaS, privacy-first, EU-based CDN, starts at $14/mo. No self-host option but dead-simple managed setup [3].
- Simple Analytics — EU-hosted SaaS, privacy-first, starts at $9/mo. Automated event collection is notably stronger than Umami’s [4][3].
- PostHog — open-source product analytics suite: page views, events, funnels, A/B testing, session replay, feature flags. More powerful and more complex. Use this when you outgrow traffic stats [3].
- GoAccess — server-side log analyzer, no tracking script required. Zero privacy concerns because there’s no client-side code at all — it reads your Nginx or Apache logs. Limited interactivity but interesting for the truly paranoid [3].
- Google Analytics — the incumbent. Free, deeply integrated with Google Ads, massive feature set. The reasons you’re reading this review are the reasons not to use it.
For a non-technical founder wanting to escape Google Analytics, the realistic shortlist is Umami vs Plausible. Umami if self-hosting is feasible and you want $0 software cost. Plausible if you want managed cloud with a stronger feature set and $9/mo is acceptable.
Bottom line
Umami does one thing well: it tells you how much traffic your website is getting and where it came from, without touching cookies, without pinging Google, and without a per-pageview bill that scales against you. The 35,000+ GitHub stars reflect a real community that’s been using it in production for years. The MIT license means you actually own your deployment.
The trade-off is honest and consistent across every review: if you need event tracking beyond page views, funnel analysis, or product behavioral analytics, Umami is the wrong tool. It’s not trying to replace PostHog or Mixpanel. It’s trying to replace the part of Google Analytics that 80% of website owners actually look at — the traffic dashboard — and for that job, it does it cleanly.
If the Docker setup is the blocker, that’s exactly what upready.dev deploys for clients. One-time fee, done, you own the infrastructure and every pageview that flows through it.
Sources
- Manish Shivanandhan, freeCodeCamp — “How to Set Up Your Own Google Analytics Alternative Using Umami” (November 11, 2025). https://www.freecodecamp.org/news/how-to-set-up-your-own-google-analytics-alternative-using-umami/
- SaaSHub — “umami Reviews. Is umami good?”. https://www.saashub.com/umami
- SaaSHub — “umami Alternatives & Competitors” (updated 2026-03-17). https://www.saashub.com/umami-alternatives
- Ankit Ghosh, Simple Analytics — “Umami Analytics review [2025]” (published Aug 17, 2023; edited Apr 1, 2025). https://www.simpleanalytics.com/resources/analytics-review/umami-analytics-review-and-a-better-alternative
Primary sources:
- GitHub repository and README: https://github.com/umami-software/umami (35,719 stars, MIT license)
- Official website: https://umami.is
- Documentation: https://umami.is/docs
Replaces
Compare Umami
Umami wins for privacy-conscious businesses that want simple, fast analytics without cookie consent banners. Google Analytics remains essential for e-commerce tracking, advertising attribution, and deep user behavior analysis.
Matomo for teams migrating from Google Analytics who need feature parity (e-commerce, heatmaps, A/B testing). Umami for teams who want simple, lightweight, privacy-first analytics.
Both are excellent privacy-first analytics tools. Plausible is more polished with a managed hosting option. Umami is lighter (SQLite support) and completely free. Choose Plausible for simplicity, Umami for flexibility.
Related Analytics & Business Intelligence Tools
View all 176 →Superset
71KApache Superset is an open-source data exploration and visualization platform — connect to any SQL database, build interactive dashboards, and run ad-hoc queries.
OpenBB
63KThe open-source AI workspace for finance — connect proprietary and public data, build custom analytics apps, and deploy AI agents on your own infrastructure.
Metabase
46KOpen-source business intelligence that lets anyone in your company ask questions and learn from data. Build dashboards, run queries, and share insights without SQL.
ClickHouse
46KUltra-fast column-oriented database for real-time analytics. Process billions of rows per second with SQL. Open-source alternative to Snowflake and BigQuery.
Umami
36KSimple, fast, privacy-focused alternative to Google Analytics. Own your website data.
Netron
33KVisualizer for neural network, deep learning and machine learning models.