~/tools/ntfy
ntfy
tool

ntfy

ntfy is an open source push notification service you can self-host — a Pushover alternative that sends alerts to your phone or desktop with a single HTTP request, no signup and no app to build.

What is ntfy?

ntfy (pronounced “notify”) is an open source, HTTP-based pub-sub notification service that pushes alerts to your phone or desktop. You publish a message by sending a plain HTTP PUT or POST request to a topic — curl -d "Backup done" ntfy.sh/mytopic — and every device subscribed to that topic gets it instantly. No signup, no SDK, no app to build.

What is ntfy best for?

Developers and operators who want to fire alerts straight from scripts, cron jobs, servers, and CI without wiring up a full notification platform. It shines for infrastructure alerts, backup and deploy notifications, and home-lab automations — anywhere a one-line curl is simpler than sending an email or calling a hosted API.

What can ntfy do?

  • Publish notifications with a single HTTP PUT/POST — from curl, any language, or the ntfy CLI
  • Subscribe from Android (Play Store, F-Droid), iOS, the web app, desktop, or the command line
  • Set 5 priority levels, and add emojis, tags, custom icons, and tappable action buttons
  • Attach images, videos, and files, and set a click-through URL on any notification
  • Forward alerts to email, and (on the hosted service) place phone calls for urgent messages
  • Lock a server down with user accounts, access tokens, and per-topic access control lists
  • Integrate with GitHub Actions, Home Assistant, Sonarr/Radarr, Node-RED, Ansible, and more

Where does ntfy fall short?

  • It delivers messages but doesn’t evaluate them — there’s no built-in scheduling, deduplication, or escalation like PagerDuty or a monitoring tool. You bring the logic; ntfy handles delivery.
  • On the free public ntfy.sh, the topic name is the only access boundary: anyone who knows or guesses it can read or publish to that topic unless you self-host with auth or reserve the name on a paid plan.
  • The iOS app depends on ntfy.sh’s Firebase/APNs infrastructure, so a self-hosted server must forward messages through ntfy.sh (via upstream-base-url) to get instant delivery to iPhones.

Is ntfy free?

Yes — ntfy is 100% free and open source, dual-licensed under Apache 2.0 and GPLv2, and self-hosting costs only your own server. The public ntfy.sh instance is also free to use without an account. Paid ntfy Pro plans (from around $5–6/month) raise the daily message limit, reserve topic names so no one else can use them, and allow larger attachments.

What does ntfy replace?

ntfy is a self-hosted alternative to Pushover and Pushbullet. It does the same job — pushing alerts to your devices — but you can run it on your own server, there’s no per-message cost, and your alert payloads never have to leave your network.

FAQ

Is ntfy open source? Yes. ntfy is fully open source under a dual Apache 2.0 / GPLv2 license, and both the Go server and the mobile apps are public on GitHub.

Can I self-host ntfy for free? Yes. The server is a single Go binary you run on your own machine, so you only pay for the hosting. A reverse proxy like Caddy or nginx adds HTTPS, and Android delivery works out of the box.

Is ntfy a good Pushover alternative? For self-hosting and privacy, yes — no message limits, and alerts stay on your own infrastructure. Pushover is simpler if you just want a proven hosted app and would rather not run a server.

What do I need to run ntfy? A Linux server (or Docker), the ntfy binary, and a config file. For public access add a reverse proxy for TLS; for iOS push, forward through ntfy.sh via upstream-base-url.