1. Your monitoring needs
2. Comparison
| Provider and plan | Per month | Per year | 12-month spend with growth |
|---|
Where the cheapest option changes
| Monitors (at your interval and status-page need) | Cheapest |
|---|
"n/a" means no listed plan covers that many monitors at that interval. Self-hosting is cheapest on paper but you run, patch and monitor the monitor yourself, and a monitor on the same box as your site goes down with it. Alerting credits and seats are not priced.
Plan tables (editable)
| Provider and plan | Price (USD/mo) | Monitors included | Per extra monitor | Fastest interval (s) | Status page |
|---|
Leave "per extra monitor" at 0 for plans that cannot be topped up. Press Compare after changing a value.
Prefer a CLI, or want a budget gate in CI?
node cli.mjs compare --monitors 60 --interval-sec 60 --status-page --growth 5 node cli.mjs compare --monitors 60 --interval-sec 60 --provider pingdom --budget 50 # exit 1 over budget node cli.mjs crossover --interval-sec 60 --status-page node cli.mjs compare --monitors 60 --interval-sec 60 --prices prices.json --json
Get cli.mjs and engine.mjs — Node 18+, nothing to install, no network call. More: how to choose an uptime-monitoring plan.
Common questions
Does this check my sites?
No. It uses only the monitor count, interval and status-page need you type, and plan tables you can edit. It never contacts your sites or the vendors. Treat every figure as a way to compare options, never as what you will be charged.
Where do the prices come from?
They are approximate public list prices as best known in 2025 on monthly billing, shown with an as-of line, and every plan is editable. Vendors change plans often, so check each pricing page before deciding.
What is not included?
SMS and phone-call alert credits, extra seats, multi-location or transaction (browser) checks, annual-billing discounts, taxes, and each vendor's fair-use terms. Alerting and seats often cost more than the monitors themselves, so use this to compare the monitor lines, not to forecast the whole invoice.
Is my data uploaded anywhere?
No. The page calculates in your browser and sends nothing. The CLI reads local files and makes no network call.