It is not possible to simply customize updown.io status pages design or logo for the moment. You can find a couple suggestions here if you want to add your vote:
https://updown.io/features/custom-logo-for-public-status-pages
https://updown.io/features/custom-css-for-public-status-pagess
It is, however, possible to remove the updown.io logo using the White label option in your settings:

Also the description field of your multi-site status page can include markdown (including images), which can help you make it look like yours (e.g. showing your logo/brand/client logo).
Finally, it is always possible to use your read-only API key to build truly custom status page or dashboard in javascript if you need something different. Our API accepts CORS requests so you can built it in standalone javascript.
Here are some example custom status page made by our users that you could start from:
https://github.com/nya1/updown-status-page
https://github.com/Hexstream/status.abc.hexstream.xyz
https://github.com/SocialGouv/dashlord
https://github.com/MTES-MCT/updownio-action
You can also ask LLMs to build one for you, here is an example: https://status.dushan.org (hosted for free on Cloudflare Pages)
Claude prompt used to build this page
Build a lightweight, self-contained status page that fetches live monitoring
data from updown.io and displays it as a compact uptime dashboard. No backend
needed — pure HTML, CSS, and vanilla JS. A single index.html, a styles.css,
and a script.js.
<head>:
Fetch the list of checks from: https://updown.io/api/checks?api-key=YOUR_READ_ONLY_KEY
Then fetch downtimes for each check in parallel from: https://updown.io/api/checks/{token}/downtimes?api-key=YOUR_READ_ONLY_KEY
Store the API key in a separate config.js file excluded from version control.
Show "All systems operational" (green) or "Some systems have issues" (amber)
based on whether any check has down: true.
For each check, display:
- A colored dot (green = up, red = down)
- The check alias
- The uptime percentage (from the API response)
- A horizontal bar chart showing the last N days of uptime:
- Green = no downtime
- Amber = brief downtime (< 10 min)
- Red = significant downtime (>= 10 min)
Calculate how many day-bars fit based on container width (each bar ~22px
wide, minimum 7 days, maximum 90 days). Re-render on window resize
(debounced). Cache the API response so resizing doesn't trigger new fetches.
For each day in the visible range, calculate total downtime seconds by
checking overlap between each downtime window (started_at / ended_at) and
the day's midnight-to-midnight range. Classify:
- 0 seconds = green
- > 0 but < 600 seconds = amber
- >= 600 seconds = red
If the check is currently down, override today's bar to red.
Show "{N} days ago" on the left and "Today" on the right below the bars.
Show a shimmer placeholder (a few pulsing rectangular lines mimicking the
layout) while the API data loads. Once data arrives, replace the placeholder
with the real content and reveal it with a CSS zoom-in transition (scale
from ~0.92 to 1.0 with opacity fade-in, ~1.2s duration with a spring-like
cubic-bezier curve). Only animate the first render — skip the animation on
resize re-renders.
Use a read-only updown.io API key. Store it in a separate config file
(e.g. config.js) that you gitignore.
No frameworks, no build tools. Just HTML + CSS + vanilla JS. Designed to be
deployable as a static site (e.g. Cloudflare Pages, GitHub Pages, Netlify).