Web Push Notification Service for Browsers and PWAs
Send web push notifications to Chrome, Firefox, Safari, and Edge. MagicBell handles VAPID keys, device tokens, and delivery — with SDKs for React, Svelte, and vanilla JavaScript.
<script type="module">
import "https://unpkg.com/@magicbell/webcomponents";
</script>
<mb-context-provider token="${USER_JWT}">
<mb-webpush-button
idle-label="enable webpush notifications"
success-label="disable webpush notifications"
></mb-webpush-button>
</mb-context-provider>
import "@magicbell/react/styles/webpush-button.css";
import * as React from "react";
import Provider from "@magicbell/react/context-provider";
import WebPushButton from "@magicbell/react/webpush-button";
function App(props: any) {
return (
<Provider token="${USER_JWT}">
<WebPushButton
renderLabel={({ status, error }) =>
error ||
(status === "success"
? "disable webpush notifications"
: "enable webpush notifications")
}
/>
</Provider>
);
}
export default App;
import "@magicbell/preact/styles/webpush-button.css";
import { h, Fragment } from "preact";
import Provider from "@magicbell/preact/context-provider";
import WebPushButton from "@magicbell/preact/webpush-button";
function App(props: any) {
return (
<Provider token="${USER_JWT}">
<WebPushButton
renderLabel={({ status, error }) =>
error ||
(status === "success"
? "disable webpush notifications"
: "enable webpush notifications")
}
/>
</Provider>
);
}
export default App;
<script lang="ts">
import "@magicbell/svelte/styles/webpush-button.css";
import Provider from "@magicbell/svelte/context-provider.svelte";
import WebPushButton from "@magicbell/svelte/webpush-button.svelte";
</script>
<Provider token="${USER_JWT}">
<WebPushButton
renderLabel={({ status, error }) =>
error ||
(status === "success"
? "disable webpush notifications"
: "enable webpush notifications")}
/>
</Provider>
Trusted by 1,000+ companies
What Is a Web Push Notification Service?
Browser-native notifications, delivered and tracked through a single API.
Web push notifications are messages sent from a website or web application directly to a user's browser — even when the user isn't on your site. They rely on the Push API and service workers built into modern browsers to deliver real-time updates to desktop and mobile devices without requiring a native app.
A web push notification service handles the infrastructure behind this: generating and managing VAPID keys, storing device subscription tokens, sending payloads to browser push services (like Google's FCM for Chrome or Mozilla's push service for Firefox), and tracking whether notifications were delivered or clicked.
Building web push from scratch means dealing with service worker registration, VAPID authentication, per-browser endpoint differences, and token lifecycle management. A web push notification service like MagicBell abstracts all of this behind a single API with SDKs — so you can add browser notifications to your app in minutes instead of weeks.
Browser Compatibility
Web push notifications work across all major browsers on desktop and mobile.
Chrome
Desktop and Android. Images, actions, and silent push supported.
Firefox
Desktop and Android. Actions and image notifications supported.
Edge
Desktop and mobile. Full feature parity with Chrome.
A Complete Web Push Notification Offering
MagicBell handles everything you need to setup web-push in your desktop & mobile web-app - buttons, device tokens, API calls, and even errors!
Works on all browsers
Firefox, Chrome, Safari, Edge, and any other browser your users may be on.
Low Latency
From API call to a notification in seconds, whether you send one or a million notifications.
Customizable Buttons
Buttons SDK for React, and Svelte. JavaScript client for Vanilla JS.
Fully Featured API
Configure Vapid Keys & update device tokens with the API
Scale up to millions
Scale up to millions of notifications per day with our robust infrastructure.
Robust Token Management
MagicBell discards expired tokens seamlessly. You only pay for successful deliveries.
Common Web Push Notification Use Cases
Web push notifications help you re-engage users even when they're not on your site.
E-commerce
Back-in-stock alerts, price drop notifications, abandoned cart reminders, and order status updates delivered directly to shoppers' browsers.
SaaS Applications
Feature announcements, task reminders, approval requests, and collaboration updates for teams using your web application.
Media & Publishing
Breaking news, content recommendations, live event updates, and personalized digest notifications to drive return visits.
Marketplaces
New listing alerts, bid updates, message notifications, and transaction status changes for buyers and sellers.
Web Push Developer Tools
Free tools to help you get started with web push notifications.
VAPID Keys for Push Notifications
Generate a secure VAPID key pair for web push notifications.
Web Push Test for PWA & Websites
Test web-push notifications in your browser without any setup.
Web-Push Notifications, Explained
A collection of blog posts & docs to help you understand web-push notifications.
Web Push Notification FAQ
Common questions about web push notifications and how they work.
What browsers support web push notifications?
Chrome, Firefox, Edge, and Safari all support web push notifications. Safari added support on macOS with Safari 16 and on iOS with Safari 16.4 for Progressive Web Apps added to the home screen. MagicBell handles the differences between browser push services automatically.
Do web push notifications work on mobile?
Yes. Chrome and Firefox on Android support web push notifications natively. On iOS, web push works with Progressive Web Apps added to the home screen starting with iOS 16.4 and Safari 16.4. See our iOS web push notifications setup guide to get started.
What are VAPID keys?
VAPID (Voluntary Application Server Identification) keys are a public-private key pair used to authenticate your server with browser push services. They prove that the push notification is coming from your application. MagicBell manages VAPID key generation and rotation, or you can use our free VAPID key generator tool.
Can I send web push notifications without a service worker?
No. Service workers are required because they run in the background and handle incoming push events even when your site isn't open. MagicBell's SDKs handle service worker registration and setup automatically, so you don't need to write service worker code yourself.
How do I test web push notifications?
You can use MagicBell's free web push notification tester to send a test notification to your browser without any setup. During development, use the MagicBell dashboard to send test broadcasts to specific users or devices.
What's the difference between web push and mobile push?
Web push notifications are delivered through browsers using the Push API and service workers. Mobile push notifications are delivered through platform-specific services like APNS (iOS) and FCM (Android) and require a native or React Native app. MagicBell supports both through a single API.

