↑↓ to move ↵ to open Esc to close Browse all tools

Free Uptime Monitors

Hosted uptime monitors with a free plan, and open source monitors you run yourself. For each one we opened the official pricing page, docs or repository and noted the monitor count, the check interval and where alerts go.

11 servicesChecked How we check

  • Our pick for many monitors UptimeRobot Many monitors at a 5 minute pace
  • Our pick to self-host Uptime Kuma A self-hosted monitor with a full web UI
  • Our pick for cron jobs Cronitor Cron jobs and heartbeats next to website checks
Uptime Monitors What’s freeLimitsAlerts and hostingPlan or license Checked Website
UptimeRobotMany monitors at a 5 minute pace Free plan: 50 monitors, no credit card; HTTP, port, ping and keyword monitors5 min interval, 5 integrations, 1 basic status page, 3 months of dataHosted; 5 integrations, SMS and voice as paid creditsFree plan Source Visit
Better StackMonitors and heartbeats with a status page Free for personal projects: 10 monitors, 10 heartbeats, 1 status page, 3 minute checksSlack and email alerts; the pricing page counts monitors and heartbeats together as 10Hosted; Slack, emailFree tier Source Visit
Uptime KumaA self-hosted monitor with a full web UI Open source; HTTP(s), keyword, JSON query, TCP, ping, DNS, push and Docker monitorsYou run it: Docker image or Node.js 20.4 or newer; certificate info, no expiry alert namedSelf-hosted (Docker, Node.js); 90+ notification servicesMIT Source Visit
StatusCakeUptime plus one SSL and one domain monitor Free plan: 10 uptime monitors, 1 page speed, 1 domain and 1 SSL monitor5 min uptime interval; SSL monitor every 24 hours, domain monitor every 7 daysHosted; alerts through integrationsFree plan Source Visit
CronitorCron jobs and heartbeats next to website checks Hacker plan, free forever: 5 monitors across jobs, checks and heartbeats5 min fastest frequency; 1 status page with 50 subscribers; no SMSHosted; email, Slack, Discord, Teams, webhooksHacker plan Source Visit
PulseticSeveral status pages on your own domain Free plan: 10 monitors, heartbeats and domains in total, 3 status pages, unlimited email alerts5 min interval; email only, 1 webhook per monitor; no Slack, SMS or TelegramHosted; email, webhookFree plan Source Visit
UpptimeA monitor and status page inside GitHub Open source; GitHub Actions check every 5 minutes, issues track incidents, GitHub Pages host the status siteShortest interval 5 minutes; needs a GitHub account and repositoryGitHub Actions and Pages; Slack, Telegram, webhooksMIT Source Visit
GatusChecks defined in a config file Open source; HTTP, ICMP, TCP, DNS and more with conditions on status, body, response time and certificate expiryYou run it: Docker image, binary or Helm chart; 60 second default intervalSelf-hosted (Docker, binary, Helm); Slack, Discord, email, Telegram, PagerDuty and moreApache-2.0 Source Visit
ChecklyUptime monitors plus API and browser checks Hobby plan: 10 uptime monitors, 10,000 API and 1,000 browser check runs a month, no credit cardUptime checks at most every 2 minutes; runs are hard-capped; 1 user, 7 days of raw dataHosted; email, Slack, webhooksHobby plan Source Visit
Hyperping20 monitors with chat alerts Free plan: 20 monitors, 1 basic status page, SSL monitoring, no credit card5 min checks; no custom domain on the status page; 1 seat; no phone or SMSHosted; email, Slack, TeamsFree plan Source Visit
Site24x7Many resources with email alerts Free forever plan: uptime of up to 50 resources, email alertsInterval, status pages and SSL not stated for the free planHosted; emailFree forever plan Source Visit

We are not paid for any listing and there are no affiliate links on this page. "Not stated" means the source page does not say it.

What a monitor checks

An uptime monitor requests your site from the outside on a schedule and alerts you when the request fails. The free plans and open source projects in this list cover a few kinds of checks, named differently on each page:

CheckWhat it testsNamed on the official pages
HTTPThe page answers, usually with a status code in the 200 rangeUptimeRobot lists an HTTP, port and ping monitor on the Free plan; Gatus conditions can test [STATUS] == 200
KeywordThe page contains (or does not contain) a given text, which catches error pages that still return 200UptimeRobot's keyword monitor; Uptime Kuma's HTTP(s) Keyword and JSON Query monitors; Hyperping's keyword checks on the Free plan
Port and pingA TCP port answers or a host replies to ICMP, for mail servers, databases and game serversPulsetic's free plan lists SSL, port, TCP and ICMP monitoring; Uptime Kuma covers TCP, ping and DNS records
HeartbeatYour cron job or script calls the monitor; the alert fires when the call stops comingCronitor says every plan includes cron, heartbeat, website and API monitoring; Better Stack's free tier includes 10 heartbeats
CertificateThe TLS certificate is valid and not about to expireStatusCake's Free plan includes 1 SSL monitor; Gatus can alert on [CERTIFICATE_EXPIRATION] > 48h

Before you add a monitor, check what the site returns right now with the HTTP header checker, and read the certificate dates with the SSL checker. A keyword check needs a text that only appears on the healthy page, not in the error template.

The check interval problem

A monitor only knows what it saw at the moment of a check. With a 5 minute interval, an outage of 2 minutes can start right after one check and end before the next, and the monitor reports 100% uptime for an hour in which your visitors saw errors. The interval also sets the resolution of the uptime figure: a missed check counts as the whole interval, so one failed check at 5 minutes looks like 5 minutes of downtime, which is 0.0116% of a 30 day month (43,200 minutes). Our uptime percentage guide turns every common level into minutes and hours and explains how monitors measure.

From the official pages, the free intervals are: UptimeRobot 5 minutes, StatusCake 5 minutes, Cronitor 5 minutes, Pulsetic 5 minutes, Hyperping 5 minutes, Upptime 5 minutes at the shortest, Better Stack 3 minutes and Checkly 2 minutes. The self-hosted projects set their own pace: Uptime Kuma names 20-second intervals and Gatus checks every 60 seconds by default. If you need to see short outages, the "1 minute or faster" filter shows the free options.

When you compute an uptime figure yourself, the time duration calculator gives the minutes between the first failed and the first successful check.

Free limits compared

The numbers below are from the official pricing pages and docs on the date in the table. An empty cell means the page states nothing for the free plan.

ServiceFree monitorsIntervalStatus pageAlerts on the free plan
UptimeRobot505 min1 basic5 integrations; SMS and voice as paid credits
Better Stack10 monitors, 10 heartbeats3 min1Slack and email
Hyperping205 min1 basic, no custom domainEmail, Slack, Teams
StatusCake10, plus 1 SSL, 1 page speed, 1 domain5 minThrough integrations
Pulsetic10 monitors, heartbeats and domains in total5 min3Email; 1 webhook per monitor
Checkly10 uptime monitors2 minUp to 20 services, 250 subscribersEmail, Slack, webhooks
Cronitor5 (jobs, checks, heartbeats)5 min1, 50 subscribersEmail and chat, no SMS
Site24x750 resourcesEmail
UpptimeUnlimited in your GitHub account5 minGitHub PagesSlack, Telegram, webhooks
Uptime KumaNo cap, your serverFrom 20 sMultiple90+ notification services
GatusNo cap, your server60 s defaultDashboardSlack, Discord, email, Telegram, PagerDuty and more

Monitor counts are not the whole story. Checkly's Hobby plan is hard-capped at 10,000 API and 1,000 browser check runs a month and stops the checks when they are used up. UptimeRobot's Free plan keeps 3 months of data.

Alerts and status pages

Email and chat alerts are the free standard. Text messages and phone calls are paid almost everywhere: UptimeRobot sells SMS and voice credits to Free users, Cronitor's Hacker plan has no SMS alerts, Checkly's Hobby plan includes 0 SMS and phone credits, and Hyperping's Free plan leaves out phone calls and SMS credits. If you need to be woken up, a self-hosted monitor can push to a phone app through one of its notification services, or you forward the email through your own phone's rules.

A public status page tells visitors that you know about the outage. Pulsetic includes 3 status pages on your own domain in the free plan, Hyperping one basic status page without a custom domain, Checkly up to 20 services and 250 subscribers without a custom domain, and Upptime hosts the page on GitHub Pages. Uptime Kuma can run multiple status pages and map them to their own domains. When you point a subdomain at a status page, confirm the records with the DNS lookup.

Self-hosting versus hosted

A monitor on the same server as the site goes down with it, so a self-hosted monitor belongs on a different machine, a different provider, or in Upptime's case inside GitHub. What the three open source options need:

  • Uptime Kuma (MIT) runs from a Docker image or with Node.js 20.4 or newer, listens on port 3001 and brings its own web interface, 2FA and proxy support.
  • Gatus (Apache-2.0) is configured in a YAML file with endpoints and conditions, runs from a Docker image, a binary or a Helm chart, and shows a dashboard with uptime and response time badges.
  • Upptime (MIT) needs no server at all: every 5 minutes a GitHub Actions workflow visits your sites, opens an issue when one is down, closes it when it is back and publishes the status site on GitHub Pages.

Hosted plans save you the update work and check from several places, which is what a visitor in another country sees. Either way, run the website speed test once in a while next to the monitor: a site that is up but slow does not trigger an HTTP check, and Gatus's [RESPONSE_TIME] < 300 condition is one way to catch that.

Frequently asked questions

Which uptime monitor gives the most free monitors?

UptimeRobot and Site24x7 both state 50 on their free plans, UptimeRobot with a 5 minute interval and Site24x7 with email alerts. Hyperping follows with 20 monitors, Better Stack with 10 monitors and 10 heartbeats, and StatusCake, Pulsetic and Checkly with 10 each. The self-hosted projects and Upptime have no monitor cap.

Which free plan checks more often than every 5 minutes?

Checkly's Hobby plan runs uptime monitors at most every 2 minutes, and Better Stack states 3 minute checks for its free tier. Uptime Kuma names 20-second intervals and Gatus checks every 60 seconds by default, but you run those yourself. All the other free plans in the list state 5 minutes.

Can I get SMS or phone call alerts for free?

Not on the plans we checked. UptimeRobot sells SMS and voice credits separately, Cronitor's Hacker plan has no SMS alerts, Checkly's Hobby plan includes zero SMS and phone credits, and Hyperping's Free plan leaves out phone calls and SMS credits. Email, Slack and webhooks are the common free channels.

Do free plans include a public status page?

Many do. Pulsetic includes 3 status pages, UptimeRobot a basic status page, Better Stack and Hyperping one each, Cronitor one with up to 50 subscribers, and Checkly up to 20 services with 250 subscribers. Upptime publishes its status site on GitHub Pages, and Uptime Kuma supports multiple status pages on your own domains.

Which uptime monitors are open source?

Uptime Kuma (MIT), Gatus (Apache-2.0) and Upptime (MIT) publish their code under a named license. Uptime Kuma and Gatus run on your own server with Docker, and Upptime runs in your GitHub account with GitHub Actions and GitHub Pages.

Does a free monitor warn me before my SSL certificate expires?

StatusCake's Free plan includes 1 SSL monitor tested every 24 hours, Pulsetic lists SSL monitoring in its free plan, and Hyperping includes SSL monitoring in the Free plan. Gatus can alert on a certificate expiration condition. You can also read the expiry date yourself with our SSL checker.