Overview: Umami is an open-source web analytics platform designed as a privacy-conscious alternative to Google Analytics, Mixpanel, and Amplitude. It provides essential metrics like page views, sessions, referrers, and geographic data without collecting personal identifiers or selling user data. Built with Next.js and PostgreSQL, Umami is ideal for developers, privacy advocates, and organizations seeking full control over their analytics data. Unlike commercial tools that rely on third-party tracking scripts, Umami runs entirely on your infrastructure, ensuring compliance with GDPR and other data protection regulations.
The platform is lightweight, fast, and easy to deploy using Docker or from source. It offers a clean dashboard with real-time charts, audience segmentation, and cohort analysis—all without requiring complex configurations or third-party dependencies. Whether you’re managing a personal blog, a SaaS product, or an enterprise application, Umami gives you actionable insights while respecting user privacy.
What You Get
- Privacy-focused tracking - Umami does not collect IP addresses, user agents, or personal identifiers; it anonymizes data by default to comply with GDPR and other privacy regulations.
- Self-hosted analytics - Full control over your data: deploy Umami on your own server or cloud infrastructure with no vendor lock-in.
- Real-time dashboard - View live metrics including page views, sessions, referrers, locations, and device types with interactive charts.
- Cohort analysis & audience segmentation - Analyze user behavior over time and segment audiences by traffic source, device type, or location.
- Simple JavaScript tracker - Add tracking to any website with a single script tag—no cookies or complex setup required.
- Docker and source installation - Deploy using Docker Compose with a built-in PostgreSQL database, or install from source using Node.js 18.18+ and PostgreSQL v12.14+.
Common Use Cases
- Building a privacy-compliant blog or website - A content creator wants to track visitor behavior without violating GDPR; Umami provides essential stats with no tracking cookies or third-party scripts.
- Creating a SaaS product with in-house analytics - A startup building an open-source tool needs to understand user engagement without relying on Google Analytics; Umami is embedded directly into their backend infrastructure.
- Problem → Solution flow: Frustrated with Google Analytics’ complexity and data privacy concerns → Switch to Umami for transparent, self-hosted tracking - Organizations tired of invasive data collection and opaque algorithms migrate to Umami for a clean, open-source alternative with full data ownership.
- DevOps teams managing internal tools - Engineering teams deploying internal dashboards or admin portals use Umami to monitor usage patterns without exposing data to external analytics providers.
Under The Hood
Umami is an open-source analytics platform designed as a privacy-focused alternative to mainstream tools like Google Analytics, emphasizing self-hosted deployment and transparency. It enables users to track website activity while maintaining control over their data, supporting multiple database systems and offering both a dashboard and tracking script for flexible use.
Architecture
Umami follows a monolithic architecture with modular organization and clear separation of concerns, leveraging Next.js as its primary framework. The system is structured to support dual functionalities—frontend dashboard and tracking script—while maintaining a component-based UI for reusability.
- Modular organization with distinct data layers and API route structures
- Clear separation between frontend and backend components
- Support for multiple database adapters including PostgreSQL and ClickHouse
- Integration with external services like Redis for performance optimization
Tech Stack
Built using modern web technologies, Umami leverages TypeScript and React to deliver a robust and scalable solution. It integrates various tools and libraries that enhance functionality and maintainability across the platform.
- TypeScript and React as core technologies with Next.js for server-side rendering
- Prisma as the primary ORM, alongside ClickHouse and PostgreSQL for data storage
- Rollup and tsup used for bundling and building components
- Jest and Cypress for unit and end-to-end testing, with Biome for linting and formatting
Code Quality
Code quality in Umami shows a mixed state with some structured practices and consistent use of modern TypeScript features, but also highlights areas for improvement in testing and code consistency.
- Error handling patterns vary across modules, indicating inconsistent approaches
- Code style is mostly consistent but shows some technical debt in legacy parts
- Linting and formatting are configured, supporting code quality standards
- Test coverage is limited, with only basic unit and end-to-end tests in place
What Makes It Unique
Umami distinguishes itself through its focus on privacy and open-source principles, offering a self-hosted analytics solution that supports multiple database systems for performance.
- Privacy-first design with no third-party tracking or data sharing
- Modular architecture that supports both dashboard and lightweight tracking script
- Multi-database support allowing performance optimization based on use case
- Open-source model with transparent deployment and extensible data handling