push technology

40 Best Open Source Notification Systems

Angela Stringfellow Last updated on October 4, 2024

Developers and marketers use notification systems to communicate with and engage app users, but these systems come in various forms. Some opt for commercial notification systems that offer a set of features and capabilities for a fee. Those who want more control over their notification system might opt for open source notification tools.

Open source notification tools offer various features and services that developers can leverage to build a custom notification system for their applications. With access to the source code, developers have more control, and they also benefit from lower costs.

However, setting up all the moving parts of a notification system is cumbersome. MagicBell offers a complete notification system with a React SDK, and it can be used for up to 100 active users for free, making it an ideal solution for businesses that can’t yet pay for a commercial push notification system. With MagicBell, you can have a complete notification system up and running in less than an hour to notify users wherever they are and how they prefer. With various notification APIs, you can fully customize MagicBell to suit your needs. Check out the MagicBell Playground to explore more.

If you’re interested in exploring more open source notification tools, we’ve rounded up 40 of the most useful open source notification systems and tools below. Note that the open source notification tools below are listed in alphabetical order; otherwise, they’re not ranked or rated in any way.

1. AeroGear

AeroGear
AeroGear

AeroGear is an open-source and cloud-native mobile application development platform. It has a wide range of applications including one for push notifications and can be used to send push notifications to iOS and Android devices. It supports segmentation and sending targeted messages to categorized groups and also supports various backend applications for the same mobile app. The source code is available as a GitHub repository.

2. AirNotifier

AirNotifier
AirNotifier

AirNotifier is an open-source solution to send notifications across platforms like Android, iPhone, iPad and desktop browsers. The service has features including API, admin UI, access token, logging, etc. You can integrate the service within your application without incurring any cost and you only need to contact the makers of the service if you need a hosted solution for your push notifications.

3. Apache RocketMQ

Apache RocketMQ
Apache RocketMQ

Apache RocketMQ is a unified messaging engine designed to send and receive messages, with more than a 99.6% response latency within 1 millisecond under high pressure. It has a wide range of tracking and audit features making it suitable for all vendors and is a lightweight data processing platform making it big data-friendly. It is available to download at GitHub.

4. APNS2

APNS2
APNS2

An APNS push notification provider for Go, push notifications are executed via the HTTP/2 protocol. The system supports iOS, OSX, and Safari and an added advantage is the support for the latest Apple Token Based Authentication (JWT). It has been proven reliable in production environments and is used by many Apple developers.

5. Chanify

Chanify
Chanify

Chanify is a simple and safe notification tool. The system allows developers and system administrators to send push notifications from the command line, Python, Ruby, or Node.js with the command line tools available open-source on GitHub. It also has an iOS app that can be used to send push notifications and is a featured product on Product Hunt.

6. Django Push Notifications

Django Push Notifications
Django Push Notifications

Django is a popular web framework among developers. An open-source app available on GitHub, this app implements device models that can send push messages through APNS, FCM/GCM, WNS and WebPush. It also has an elaborate admin panel that can be used to test single and bulk notifications. It works on Python 3.6+ and Django 2.2+.

7. Django Pushy

Django Pushy
Django Pushy

An open-source Django app for push notifications, the push notification functionality is implemented with Celery. The main use case for Django pushy is to send notifications at scale. The library splits the large number of device tokens into smaller groups and runs push services in parallel.

8. FP-QUI

FP-QUI
FP-QUI

FP-QUI is a dedicated tool to send push notifications to Windows devices. It can be customized according to your needs and integrates easily with existing programs without any need for specific add-ins. FP-QUI can also be run from the command line.

9. Gaurun

Gaurun
Gaurun

Gaurun is a general push notification server written in Golang. It proxies push requests to APNS and FCM and also asynchronously executes push notifications using HTTP/2. It is used to send bulk push notifications on the scale of tens of millions, made possible by the powerful concurrent feature available with Golang. It is available open-source as a GitHub repository.

10. Gotify

Gotify
Gotify

Gotify is a push notification service you can host on your own servers. Gotify is built using multiple programming languages like Go, Java, and JavaScript for a more efficient system that uses the most suitable language for each part. Code analyzers and test suites are also built into the system. The service is available open-source and can be downloaded from GitHub.

11. Gorush

Gorush
Gorush

Gorush is a push notification micro-server built using the Gin framework. The library is written in Go (Golang) and it supports APNS, FCM, and HMS. The application can be stored in the memory of most popular database systems and it has added support for Prometheus monitoring systems.

12. Growl

Growl
Growl

Growl is a notification system exclusively for OSX. The library has been in service since 2004 and was originally known as the Global Notifications Center. It helps to create custom notifications for OSX applications and is available to download on GitHub.

13. Iris

Iris
Iris

Iris is a self-hosted notification server solution. Iris can work without Firebase cloud messaging (FCM) or Apple push notification service (APNS) and can send transactional notifications based on preset triggers. To get started with Iris you’ll need to install the emqttd server.

14. .NET Core Push Notifications

.NET Core Push Notifications
.NET Core Push Notifications

A library to implement Android and Web using Firebase Cloud Messaging, .NET also supports iOS APNS with JWT HTTP/2 API. It works with the Nuget package manager for the .NET framework and is a lightweight library with minimal overheads. The downside is that you have to use FCM for Android and Web notifications.

15. Node Push Notifications

Node Push Notifications
Node Push Notifications

A node.js module that integrates various push notification standards such as APNS, FCM, Windows Push Notification, etc. The library automatically detects destination devices and routes push notifications accordingly. It also supports unified error handling and can be installed directly with npm.

16. Notica

Notica
Notica

Notica is a notification library to send browser push notifications that allows you to send push notifications to both desktop and mobile browsers from the terminal. It also works over an SSH connection. Curl is required to set up and use Notica.

17. Notif.me

Notif.me
Notif.me

Notif.me is a Node.js library used to send transactional notifications through multiple channels, such as email, SMS, and push notifications. The library also has extensive documentation making it easy for developers to set up the system and allowing for a lot of flexibility and customization options for users.

18. Notifier

Notifier
Notifier

Notifier is an application component that enables you to send notifications through multiple channels, with email, SMS, Slack, Telegram and push all being supported. The source code is available with an MIT license as a GitHub repository, can be easily installed using composer and integrated with any php project.

19. Notifire

Notifire
Notifire

Notifire is an open-source notification infrastructure. It has a simple outgoing communication layer, embeddable notification center, and management dashboard. There’s also a community that adds support to more and more notification service providers. The source code is available to download and use on GitHub.

20. Notifo

Notifo
Notifo

Notifo is a notification service for collaboration tools, e-commerce platforms, and news services. It supports multiple platforms like emails, web push, mobile push, and SMS and has a reliable retry mechanism. It also manages message queues efficiently across different notifications and channels.

21. NOTY

NOTY
NOTY

A complete notification library that has no dependencies, it has a named queue system that makes sending notifications easy, even at scale. It supports various existing CSS projects and custom templating, and it's available on GitHub under an open-source license.

22. Parse

Parse
Parse

It is a complete application stack that has native support for push notifications. The advantage of using it is that there’s no need to bandage multiple services for your application. Object and file storage, user authentication, and dashboards are other built-in features of the stack. The source code is available open-source as a GitHub repo.

23. Pigeon

Pigeon
Pigeon

Pigeon is a push notification system for the Erlang ecosystem. It is an HTTP2-compliant wrapper for APNS, FCM, and Amazon Android (ADM) push notifications. It supports advanced use-cases with dynamic dispatchers and is available as a GitHub repository.

24. Pushd

Pushd
Pushd

Pushd is a fast mobile and web push notification service. It works with multiple protocols giving a high degree of freedom for developers. The library handles the internal dynamics of different platforms to which push notifications are to be delivered. It supports APNS, FCM, MPNS, HTTP POST, EventSource, and WNS (Windows Notification Service).

25. PushJs

PushJs
PushJs

PushJS is a versatile platform for Javascript desktop push notifications. It supports ES2015 and third-party plugins and has a notification API to reach modern desktop browsers, including Chrome, Safari, Firefox, and Edge. The library can be installed with npm added to your project.

26. Pushbits

Pushbits
Pushbits

Pushbits is a push notification server created via Matrix with a focus on strong security. It supports multiple users and multiple channels per user and allows API and CLI to manage users and subscriptions. It also integrates HIBP to detect weak passwords.

27. Pushkin

Pushkin
Pushkin

Pushkin is a notification tool built with speed and fast experimentation in mind. It supports Android and iOS applications and was developed primarily for mobile games, but can be used for any application. It is designed as a responsive tool to react to your game server, database server, or client.

28. Pushkit

Pushkit
Pushkit

Pushkit is an open-source library that helps to enable web push notifications in your Node.JS web application. The library uses browsers as the delivery channel to send push notifications and it can be set up as a standalone application without the support of other notification services. It also works with Progressive Web Apps (PWA).

29. PushServer

PushServer
PushServer

PushServer is a NodeJS server for sending Apple APNS push notifications. The server is set up to run on Heroku but can also be run locally. It uses MongoDB to store device token information and subscribed channel lists, plus it has an intuitive API and a convenient dashboard.

30. Pushy

Pushy
Pushy

Pushy is a library to integrate push notifications to a Swift iOS client. Push notifications are implemented with Apple Push Notification Server (APNS), which helps to simplify push notification implementation for iOS. The iOS client can be compiled on your device using Xcode and the developer has also created an application to support it.

31. Pushy Console

Pushy Console
Pushy Console

Pushy Console is an extension built on top of the Pushy library mentioned above. It is a graphical user interface to send APN (iOS/macOS/Safari) push notifications and can be used to send a single notification to a device. It is intended to be a tool for testing push notification functionality for developers using Pushy. The source code is available to download on GitHub.

32. PyFCM

PyFCM
PyFCM

A Python client for FCM, PyFCM can be installed directly from PyPi with pip. The library supports Android, iOS and Web notifications and also has a version specific to Django on GitHub.

33. rPush

rPush
rPush

A Ruby gem that sends push notifications. Easy to use, reliable and rich in features, it is designed to give greater control, even for large projects. It integrates APNS, FCM, Windows push, Webpush, and Amazon device messaging.

34. Ruby Push Notifications

Ruby Push Notifications
Ruby Push Notifications

A Ruby gem that supports iOS, Android and Windows push notifications, it has an easy-to-use and intuitive API that makes life easier for developers. It also has complete error and retry management systems.

35. Simple Web Notification

Simple Web Notification
Simple Web Notification

To integrate web push notifications with your application, you need to build it for the different browsers on the market. Simple Web Notification is a library that integrates notification systems for various browsers. It has a notifications API with automatic permissions support. The library does not have any external dependencies, but the browser must support notification API or have Polyfill.

36. Snarl

Snarl
Snarl

Snarl is an application platform to control notifications of different applications. It intends to unify the applications which generate notifications with the services that consume them, allowing users to dictate when and how to receive notifications on their devices. Snarl is a basic platform and developers can modify it according to their creativity and needs. It is available to download with an open-source license on GitHub.

37. Thunderpush

Thunderpush
Thunderpush

An open-source library to set up a notification server, Thunderpush is used exclusively to send browser push notifications in real-time. A push service based on Tornado and SockJS, Thunderpush has Python and JavaScript clients and is available as HTTP API and client.

38. UnifiedPush

UnifiedPush
UnifiedPush

UnifiedPush is an open standard to receive push notifications and supports multiple implementations and servers. You can use the service in multiple ways:

  • Self-host the server
  • ntfy
  • NextPush
  • Gotify
  • Other options
  • FCM-Distributor
  • NoProvider2Push

The core UnifiedPush tools are open source and available for free download on GitHub.

39. Uniqush

Uniqush
Uniqush

Uniqush is free software to create push notifications for all mobile devices. It is a standalone server program that you can host on your own server with a simple and unified interface server developers can access. The code repositories are available to download at GitHub.

40. Web Push PHP

Web Push PHP
Web Push PHP

A PHP library that's used to send web push notifications, Web Push PHP is useful for a large number of web applications. It works across all server types, making it a reliable app for PHP websites such as WordPress. With 40% of all websites built on that platform, web push PHP has become a popular choice among developers.

While there are many open source notification systems you can use to manage and execute push notification campaigns, MagicBell makes it easier with a complete notification system you can have up and running within an hour. With MagicBell, you can notify users wherever they are (push, email, in-app) and how they prefer (smart delivery, batching, etc.) without sending the same user the same notification twice.