explaingit

umami-software/umami

Analysis updated 2026-05-18

36,519TypeScriptAudience · pm founderComplexity · 3/5LicenseSetup · moderate

TLDR

Self-hosted, privacy-first web analytics platform that replaces Google Analytics. Collect visitor data on your own server instead of sending it to third parties.

Mindmap

mindmap
  root((Umami))
    What it does
      Track visitor behavior
      Self-hosted dashboard
      Privacy-first design
    Key features
      Page views and sessions
      User journeys
      Cohort analysis
    Tech stack
      TypeScript
      Next.js
      PostgreSQL
    Deployment
      Docker Compose
      Self-hosted
      Cloud option
    Use cases
      Replace Google Analytics
      GDPR compliance
      Indie projects
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

What do people build with it?

USE CASE 1

Replace Google Analytics with a privacy-respecting alternative that keeps all visitor data on your own server.

USE CASE 2

Track user behavior (page views, session duration, referrers) for your website or app without third-party data brokers.

USE CASE 3

Meet GDPR and other data protection regulations by hosting analytics infrastructure you fully control.

USE CASE 4

Analyze user journeys and cohorts for your indie project or startup without paying for Mixpanel or Amplitude.

What is it built with?

TypeScriptNext.jsReactNode.jsPostgreSQLDockerpnpm

How does it compare?

umami-software/umamiinkonchain/ink-kitmattermost/mattermost
Stars36,51936,54336,548
LanguageTypeScriptTypeScriptTypeScript
Setup difficultymoderateeasymoderate
Complexity3/52/54/5
Audiencepm founderdeveloperops devops

Figures from each repo's GitHub metadata at analysis time.

How do you get it running?

Difficulty · moderate Time to first run · 30min

Requires Docker and PostgreSQL setup, needs environment configuration for the Next.js app.

Use freely for any purpose including commercial, as long as you keep the copyright notice.

In plain English

Umami is a privacy-focused, open-source web analytics platform that serves as an alternative to Google Analytics, Mixpanel, and Amplitude. Instead of sending your visitors' data to a third-party company, Umami lets you host your own analytics dashboard where you stay in complete control of all the data collected. This solves a common problem for website and app owners who want to understand how their users behave without sacrificing user privacy or depending on commercial data brokers. At its core, Umami works by embedding a small tracking script on your website. When visitors land on a page, the script sends information (such as which page they visited, how long they stayed, and where they came from) directly to your own server, where Umami stores it in a PostgreSQL database. You can then log in to Umami's web dashboard to view charts, audience segments, user journeys, and cohort analysis, all features you'd expect from enterprise analytics tools, but running entirely on infrastructure you own. You would reach for Umami when you want clear traffic insights without the privacy concerns tied to Google Analytics (which shares data with Google's ad ecosystem), or when your users are in regions with strict data protection laws like the EU's GDPR. It is also a good fit for indie developers, startups, or teams who want to avoid paying for Mixpanel or Amplitude, since Umami is completely free to self-host. The tech stack is TypeScript throughout, built on Next.js (a React-based web framework) for the front-end dashboard, with a Node.js server (version 18.18 or higher required) on the backend. It uses PostgreSQL as its database, can be deployed via Docker Compose for easy setup, and is managed with pnpm for package management. A hosted cloud version is also available at umami.is if you prefer not to manage your own server.

Copy-paste prompts

Prompt 1
How do I set up Umami analytics on my website? Walk me through embedding the tracking script and viewing the dashboard.
Prompt 2
I want to self-host Umami using Docker Compose. What are the steps to get it running with PostgreSQL?
Prompt 3
Show me how to create audience segments and cohort analysis in Umami to understand my user behavior.
Prompt 4
What data does Umami collect compared to Google Analytics, and how is it more privacy-friendly?
Prompt 5
I'm switching from Google Analytics to Umami. How do I migrate my website's tracking and set up custom events?

Frequently asked questions

What is umami?

Self-hosted, privacy-first web analytics platform that replaces Google Analytics. Collect visitor data on your own server instead of sending it to third parties.

What language is umami written in?

Mainly TypeScript. The stack also includes TypeScript, Next.js, React.

What license does umami use?

Use freely for any purpose including commercial, as long as you keep the copyright notice.

How hard is umami to set up?

Setup difficulty is rated moderate, with roughly 30min to a first successful run.

Who is umami for?

Mainly pm founder.

Open on GitHub → Explain another repo

This repo across BitVibe Labs

Scan in gitsafehub Deploy in gitdeployhub umami-software on gitmyhub

Verify against the repo before relying on details.