Uptime calculator
The uptime calculator turns an uptime percentage into the downtime it allows per day, week, month, quarter and year, so 99.9% comes out as 1m 26.4s a day, 43m 49.8s a month and 8h 45m 57.6s a year.
99.9% uptime allows 8h 45m 57.6s of downtime a year.
| Period | Downtime allowed |
|---|---|
| Day | 1m 26.4s |
| Week | 10m 4.8s |
| Month | 43m 49.8s |
| Quarter | 2h 11m 29.4s |
| Year | 8h 45m 57.6s |
Type a percentage, get a time budget. The calculator assumes 24/7 service and the calendar maths most SLA tools use: a 365.25-day year, a month of one twelfth of that (30.44 days, or 2,629,800 seconds) and a quarter of one quarter. Allowed downtime is the period length times (1 - uptime / 100). The rest of this page is what the number means once a monitor starts counting.
Uptime percentage calculator: the common targets
- 99% allows 7h 18m 18s a month and 3d 15h 39m 36s a year. Fine for an internal tool.
- 99.5% allows 3h 39m 9s a month and 1d 19h 49m 48s a year.
- 99.9% allows 43m 49.8s a month and 8h 45m 57.6s a year. The usual first SaaS promise.
- 99.95% allows 21m 54.9s a month and 4h 22m 58.8s a year. Google Cloud Run promises this for non-GPU services in most regions.
- 99.99% allows 4m 22.98s a month and 52m 35.76s a year. Less than one 5-minute check interval.
The formula
// Allowed downtime for an uptime target, 24/7 service.
// Year = 365.25 days, month = year / 12, quarter = year / 4.
const YEAR = 365.25 * 86400;
const PERIODS = {
day: 86400,
week: 604800,
month: YEAR / 12,
quarter: YEAR / 4,
year: YEAR,
};
const downtime = (percent) =>
Object.entries(PERIODS).map(([name, seconds]) => {
const down = seconds * (1 - percent / 100);
return `${name}: ${down.toFixed(1)}s`;
});
// The other direction: the uptime an outage leaves you with.
const uptime = (downSeconds, period = 'month') =>
(100 * (1 - downSeconds / PERIODS[period])).toFixed(3);
console.log(downtime(99.9).join(', '));
// day: 86.4s, week: 604.8s, month: 2629.8s, quarter: 7889.4s, year: 31557.6s
console.log(uptime(3600)); // one hour down this month: 99.863Downtime calculator: from an outage back to a percentage
Usually the question runs the other way: the API was down for an hour last Tuesday, what does that do to the month? Divide the outage by the period and subtract from 100%. One hour against a 30.44-day month leaves 99.863%, which misses 99.9. Thirty minutes leaves 99.932%, inside 99.9 with 13m 50s to spare. The same hour across a year costs only 0.011%, which is why a yearly SLA hides a bad month and a monthly one does not.
Uptime calculator per month: which month?
The 30.44-day month is an average. Contracts usually measure calendar months of 28 to 31 days. At 99.9%, February allows 40m 19.2s, a 30-day month 43m 12s and a 31-day month 44m 38.4s. The 4m 19s gap matters for a credit claim, so check which month your provider means.
What a monitor actually counts
A calculator works in seconds. A monitor works in checks. Logdash divides successful checks by all checks, a success being a status code from 200 to 399 within 10 seconds. At a 5-minute interval that is 8,766 checks a month, so one failed check costs 0.0114%, more than the whole 99.99% budget. At 1 minute one failure costs 0.0023%, at 15 seconds 0.0006%. An outage shorter than the interval can fall between two checks and never count. Pick the interval from the target.
- Point a monitor at your app Create a service in Logdash and give the monitor the URL your users hit, or a health route that touches the database. The free plan checks every 5 minutes, Builder every minute, Pro every 15 seconds.
- Connect Telegram Add a Telegram channel once and attach it to the monitor. Webhooks work the same way.
- Spend the budget on purpose Stop the app for one interval. The next check fails, the monitor flips to down, and a Telegram alert lands with the monitor name and the status code. A second one arrives on recovery.
Logdash vs uptime.is
| Feature | Logdash | uptime.is |
|---|---|---|
| Downtime per day, week, month, quarter and year | Yes, on a 365.25-day year | Yes, the same numbers |
| Business-hours SLA | 24/7 only | Hours per weekday in its flexible mode |
| Outage back to a percentage | In the formula above | Built-in reverse mode |
| Measures your real uptime | HTTP checks every 5 minutes free, 15 seconds on Pro | Calculator only |
| Tells you when the budget is burning | Telegram or webhook alert on the first failed check | Not part of the calculator |
When uptime.is is the better pick
- You only need the number. It answers on one keystroke and puts any percentage in the URL.
- Your SLA covers business hours only. Its flexible mode takes hours per weekday, while this calculator assumes 24/7.
- You want two targets side by side, or an outage turned into a percentage without code.