Open-source, self-hosted newsletter, email marketing and transactional email platform. Visual MJML editor, Liquid templating, 7 sending providers.
2,186
stars
1,254
commits
Go
primary language
Sep 8, 2026
updated
☁️ Notifuse Cloud — from $16/month · 🎯 Try the Live Demo
Skip the setup and get started instantly with Notifuse Cloud — fully managed hosting starting at just $16/month.
The open-source alternative to Mailchimp, Brevo, Mailjet, Listmonk, Mailerlite, and Klaviyo, Loop.so, etc.
Notifuse is a modern, self-hosted emailing platform that allows you to send newsletters and transactional emails at a fraction of the cost. Built with Go and React, it provides enterprise-grade features with the flexibility of open-source software.
delay, email, branch, filter, add_to_list, remove_from_list, ab_test, webhook, and list_status_branchonce or every_time the trigger fires, with optional exit_on_replyactive, completed, exited, failed) and current node, with a per-node history (entered, processing, completed, failed, skipped){{ contact.first_name }}Privacy-first, cookieless web analytics built in — the Staminads feature set merged into Notifuse, running entirely on PostgreSQL (no ClickHouse, no extra services):
custom_1..custom_10)/na.js); the user agent is parsed in the browser, so the raw string is never sent to the server/app/geoip/GeoLite2-City.mmdb — to keep it fresher, drop your own copy into the mounted data/ directory as GeoLite2-City.mmdb (it takes precedence) or set GEOIP_DB_PATH (see geoipupdate). This product includes GeoLite2 data created by MaxMind, available from maxmind.comweb_sessions_y2026m08 and its web_pages_* / web_goals_* siblings) are created automatically, and expiring old data is a deliberate DROP TABLE on the partitions you no longer want — instant, and the disk comes back immediatelycompose.alloydb.yaml and get columnar-engine acceleration for dashboard queries with zero schema changespg_upgrade, and PostgreSQL 18 also changed its data directory layout)Notifuse follows clean architecture principles with clear separation of concerns:
internal/domain/)internal/service/)internal/repository/)internal/http/)console/)notification_center/)├── cmd/ # Application entry points
├── internal/ # Private application code
│ ├── domain/ # Business entities and logic
│ ├── service/ # Business logic implementation
│ ├── repository/ # Data access layer
│ ├── http/ # HTTP handlers and middleware
│ └── database/ # Database configuration
├── console/ # React-based admin interface
├── notification_center/ # Embeddable notification widget
├── pkg/ # Public packages
└── config/ # Configuration files
We don't accept pull requests. Notifuse is developed in-house, and unsolicited pull requests will be closed without review — please don't spend your time on one.
Issues, on the other hand, are very welcome and are the best way to help:
The license grants you every right to fork Notifuse and modify it for your own use. If we ever invite a code contribution directly, we'll agree on the terms with you at that point.
Notifuse is released under the GNU Affero General Public License v3.0.
Ready to get started? Try the live demo or deploy your own instance in minutes.
Go
74.5%
TypeScript
22.7%
HTML
2.5%
Open-source, self-hosted newsletter, email marketing and transactional email platform. Visual MJML editor, Liquid templating, 7 sending providers.
2,186
stars
1,254
commits
Go
primary language
Sep 8, 2026
updated
☁️ Notifuse Cloud — from $16/month · 🎯 Try the Live Demo
Skip the setup and get started instantly with Notifuse Cloud — fully managed hosting starting at just $16/month.
The open-source alternative to Mailchimp, Brevo, Mailjet, Listmonk, Mailerlite, and Klaviyo, Loop.so, etc.
Notifuse is a modern, self-hosted emailing platform that allows you to send newsletters and transactional emails at a fraction of the cost. Built with Go and React, it provides enterprise-grade features with the flexibility of open-source software.
delay, email, branch, filter, add_to_list, remove_from_list, ab_test, webhook, and list_status_branchonce or every_time the trigger fires, with optional exit_on_replyactive, completed, exited, failed) and current node, with a per-node history (entered, processing, completed, failed, skipped){{ contact.first_name }}Privacy-first, cookieless web analytics built in — the Staminads feature set merged into Notifuse, running entirely on PostgreSQL (no ClickHouse, no extra services):
custom_1..custom_10)/na.js); the user agent is parsed in the browser, so the raw string is never sent to the server/app/geoip/GeoLite2-City.mmdb — to keep it fresher, drop your own copy into the mounted data/ directory as GeoLite2-City.mmdb (it takes precedence) or set GEOIP_DB_PATH (see geoipupdate). This product includes GeoLite2 data created by MaxMind, available from maxmind.comweb_sessions_y2026m08 and its web_pages_* / web_goals_* siblings) are created automatically, and expiring old data is a deliberate DROP TABLE on the partitions you no longer want — instant, and the disk comes back immediatelycompose.alloydb.yaml and get columnar-engine acceleration for dashboard queries with zero schema changespg_upgrade, and PostgreSQL 18 also changed its data directory layout)Notifuse follows clean architecture principles with clear separation of concerns:
internal/domain/)internal/service/)internal/repository/)internal/http/)console/)notification_center/)├── cmd/ # Application entry points
├── internal/ # Private application code
│ ├── domain/ # Business entities and logic
│ ├── service/ # Business logic implementation
│ ├── repository/ # Data access layer
│ ├── http/ # HTTP handlers and middleware
│ └── database/ # Database configuration
├── console/ # React-based admin interface
├── notification_center/ # Embeddable notification widget
├── pkg/ # Public packages
└── config/ # Configuration files
We don't accept pull requests. Notifuse is developed in-house, and unsolicited pull requests will be closed without review — please don't spend your time on one.
Issues, on the other hand, are very welcome and are the best way to help:
The license grants you every right to fork Notifuse and modify it for your own use. If we ever invite a code contribution directly, we'll agree on the terms with you at that point.
Notifuse is released under the GNU Affero General Public License v3.0.
Ready to get started? Try the live demo or deploy your own instance in minutes.
Go
74.5%
TypeScript
22.7%
HTML
2.5%