Configure service name, components, and incident message → live preview → download standalone HTML.
Status: operational, degraded, partial, major, maintenance
During an outage, customers search for answers before your support queue explodes. A status page is the official channel: what is broken, what you are doing, and when you last updated. Even a static page beats silence — it signals you know there is a problem and reduces duplicate tickets.
This builder produces static HTML you download and host yourself. There is no account, no subscription, and no automatic monitoring hookup. You update the page manually during incidents (or re-download after editing fields here).
Hosted products (Statuspage, Better Stack, Hyperping, and others) poll monitors, post incident timelines, and email subscribers automatically. They cost money and setup time but scale when incidents are frequent. Static HTML is honest and cheap for early-stage teams — graduate when manual updates become a bottleneck or when you need subscriber notifications.
Enter components one per line as Name|status. Supported statuses:
operational, degraded, partial, major, maintenance. Each maps to a color in the preview.
Overall status summarizes the headline customers see first; component rows add detail for power users.
Overall: Degraded performance
Components: API|degraded, Web App|operational, Database|operational
Incident banner: “Elevated 503 errors on API v2 in eu-west-1. Identified. Mitigation in progress. Updated 2026-03-15 16:40 UTC.”
Customers see scope — not everything is on fire.
Overall: Scheduled maintenance
Components: Platform|maintenance
Post start/end UTC in the banner. Remove banner and reset to operational when done — stale maintenance pages erode trust.
Update every 20–30 minutes minimum during SEV1, even if message is “still investigating.”
After resolution: overall → operational, clear incident text, add “Resolved at HH:MM UTC” line.
Internal: run Post-Mortem Generator and Downtime Cost for leadership.
status.yourcompany.com on infrastructure independent of the main app when possible.Incidents spike mobile traffic to status pages. Our templates use responsive layout and sufficient contrast, but you should still test on a phone before go-live. Avoid embedding critical info only in images — screen readers and slow networks need text.
Link your official status URL from your homepage footer and Twitter bio. Search engines may rank third-party “is X down?” sites during crises; a clear official page reduces misinformation.
Store status.html in git. Incident edits become commits with timestamps — lightweight audit trail
without a hosted product. Tag releases like status-incident-2026-03-15 for post-mortem links.
Keep three snippet texts ready: investigating, identified, resolved. Paste into the incident banner field. Example investigating: “We are investigating elevated error rates affecting login. Updates every 30 minutes.” Identified adds cause category without premature root cause: “Database connection pool exhaustion.” Resolved includes duration and next steps: “Resolved at 16:40 UTC after rollback. Post-incident review within 5 business days.”
Social media and support macros should link the status URL, not duplicate full technical detail. Support agents need the same words as the status page to avoid contradictory answers.
Practice updating the builder in under five minutes during a game day. Manual processes fail under sleep deprivation — muscle memory matters more than template aesthetics.
Full-screen the preview iframe during incidents for office TVs — dark ops template reduces glare. Refresh preview after each edit before download so downloaded file matches what the room saw. Assign one “comms driver” who owns status text; engineers own technical mitigation — split roles reduce duplicate edits.
After major incidents, archive downloaded HTML in the post-mortem ticket. Future teams learn what customers were told hour-by-hour — valuable for comms training, not just engineering fixes.
payments-svc-v3 means nothing to customers; map to Checkout or Payments.Align headline status with component rows before you publish. A useful internal rule: overall status equals the worst customer-visible component unless you explicitly document why the headline is calmer (rare). Map severities before incidents happen so on-call does not invent language under pressure:
| Overall label | When to use | Typical component mix |
|---|---|---|
| All systems operational | No customer impact | All components operational |
| Degraded performance | Elevated errors or latency, workaround exists | One component degraded, others operational |
| Partial outage | Major feature broken for a subset of users | One partial, others mixed |
| Major outage | Core journey unavailable for most users | One or more major |
| Scheduled maintenance | Planned work with communicated window | maintenance on affected components |
Update cadence during SEV1: minimum every 30 minutes even if the message is “still investigating.” During a 2-hour incident, that yields at least 4 customer-visible updates — enough to reduce support ticket volume measurably (teams often see 15–25% fewer “is it down?” contacts when cadence is met).
Rate each item 0 or 1: separate DNS provider, separate hosting bucket, HTTPS cert not tied to main app deploy, at least two people can edit without production SSH, runbook tested in last 90 days. Score 4–5: strong static setup. Score 0–2: status page may fail when you need it most — fix process before picking dark vs minimal theme.
Scenario: Payment processor timeout affects checkout from 09:12–10:04 UTC (52 minutes).
Builder config: Overall = major outage. Components: Checkout|major, Login|operational, API|degraded, Mobile App|operational.
Banner at 09:15 UTC: “Checkout failures for card payments. Retries may succeed. Investigating with provider. Updates every 30 min.”
09:45 UTC: “Identified: upstream latency. Mitigation in progress.”
10:06 UTC: All operational; banner replaced with “Resolved 10:04 UTC.”
Internal follow-up: 52 min × $9,500/hr peak rate ≈ $8,230 at-risk revenue — log in post-mortem via Downtime Cost.
Clarify roles before SEV1: who edits status text (comms driver), who approves customer-facing wording (support lead or legal for regulated industries), who publishes the file (platform engineer with hosting access). Duplicate HTML uploads from two people with different wording is a common war-room failure mode.
Support macros must match status page language exactly. Run a 10-minute tabletop quarterly: declare fake incident, update builder, verify support docs and macro text align. Mismatched messages increase ticket handle time 20–40% during real incidents when agents guess which source is authoritative.
Status Page Templates · Free Status Page Download · Post-Mortem Generator · Reliability Money Toolkit · Free Tools.
No. The download is static HTML you can host on any web server, S3, Cloudflare Pages, Netlify, or GitHub Pages.
No. You edit fields and re-download, or manually edit the HTML. Automatic updates require hosted products with monitor integration.
operational, degraded, partial, major, and maintenance — each maps to a color in the preview.
Yes. Enter one component per line as Name|status. Use the multi-service template for a pre-filled layout.
Many teams use status.yourcompany.com so DNS and hosting stay reachable when the main app is impaired.
No. This is a free static page builder without subscriber email, automated checks, or incident timelines.
No account and no server storage. Configuration lives in your browser until you download the HTML file.
Mark components operational, remove or archive the incident banner, note resolution time in UTC, and link an internal post-mortem when ready.