OpenSourcePicks

Open source alternatives to popular software, with live GitHub data

GitHub stats refreshed every day

Umami

MIT-licensed, cookie-free analytics on Node.js and PostgreSQL, from pageviews to funnels and replays

Open source alternative to

Visit UmamiGitHubDocumentation

Main features

  • Sources, pages, devices, languages and locations
  • Automatic UTM campaign tracking
  • Real-time view
  • Custom events with custom data
  • Goals, funnels, user journeys, retention and attribution reports
  • Revenue tracking
  • Session replays with text and input masking
  • Heatmaps
  • Tracked short links and pixels for emails and ads
  • Segments, cohorts and date-range comparison
  • Teams and shareable dashboard links
  • REST API and API keys

What Umami does

Umami started as a simple, privacy-focused alternative to Google Analytics and has grown into a broader analytics tool. The main dashboard shows traffic, sources, pages, devices and locations, and the reports section adds goals, funnels, user journeys, retention, attribution and revenue. Version 3.1 added session replays, and heatmaps are also available.

It is one of the most starred analytics projects on GitHub, and its MIT license is the most permissive in this category: there is no proprietary enterprise directory in the main repository, and you can modify and redistribute it with few conditions.

Privacy and cookies

The tracker sets no cookies. Umami groups pageviews into sessions with an anonymous identifier made from a hash of the website ID, the visitor’s IP address, the user agent and a salt. By default the salt changes every month, and self-hosters can change the period with the SALT_ROTATION setting. IP addresses are used for the hash but not stored.

Umami’s FAQ is careful on the legal point: it says most sites can do without a cookie banner, but that GDPR compliance depends on how you configure and use it. Session replays in particular record what visitors do on a page, so check the masking options before enabling them.

Self-hosting Umami

Umami is a Node.js application that needs Node.js 18.18 or later and PostgreSQL 12.14 or later. It can be installed from source or with the official Docker image and Docker Compose file, which starts Umami and PostgreSQL together. Redis is optional. No minimum RAM or CPU is documented, but the stack is light compared with tools that need ClickHouse or Kafka.

The first install creates a default admin account, and its password should be changed straight away. Self-hosted data is kept until you delete it.

Hosted version

Umami Cloud is run by the developers. It has a free Hobby tier as well as paid plans; check the website for current limits.

Limitations

The current documentation lists PostgreSQL as the only supported database, so it is not a fit if you must use MySQL. Most CMS plugins and API clients listed in the docs are maintained by the community rather than the Umami team. Session replays are kept for 30 days and use a separate recorder script, and the size of the main tracker script is not documented.

Who it suits

Umami suits developers and small to medium teams who want a self-hosted analytics tool under a permissive license, with more reports than a basic pageview counter. If you already run PostgreSQL, it is one of the easiest tools in this category to host.

Technical details

Self-hosting needs

  • PostgreSQL

Built with

  • TypeScript
  • Next.js
  • Prisma

GitHub topics

  • analytics
  • audience-segmentation
  • charts
  • cohort-analysis
  • google-analytics
  • product-analytics
  • statistics
  • user-journey
  • web-analytics

Reviewed by the OpenSourcePicks editors from the project's repository and documentation. Something out of date? Tell us.