Skip to content

Themes

Select a theme with THEME (or theme in the YAML file). The default is glass. All themes show the same pages and texts, work without JavaScript and respect prefers-reduced-motion: reduce: with that setting nothing moves and every page appears in its final state at once.

Terminal window
docker run -p 8080:8080 -e THEME=terminal noixdev/error-pages

Preview a theme by opening /503.html (or any other code) on a running container.

THEME=random shows a different theme on every page load, picked at random from all five. A comma-separated list picks from those themes only:

Terminal window
docker run -p 8080:8080 -e THEME=glass,terminal,status noixdev/error-pages

Names are case-insensitive, and a name listed twice counts once. random cannot be combined with names. A new pick is made for every page load; nothing is stored (no cookie, no local storage), so reloading may show another theme. Responses are sent with Cache-Control: no-store, so caches do not pin one theme. JSON and plain-text answers do not depend on the theme.

The default. A warm, blurred background that drifts slowly, a glass card, and a thin accent line carrying the status code. Languages are switched with a pill control.

Glass theme

A green phosphor terminal with scanlines and a scan beam. The code shuffles through random codes and settles on the real one, then each line types itself. Back and Reload are shown as [Back] and [Reload] and become real links when their line is complete. Without JavaScript, or with reduced motion, the finished text appears immediately.

Terminal theme

A light gradient with a huge gradient-filled status code whose digits bob gently out of phase, followed by the title, the text and two pill buttons.

Classic theme

A diagnostic layout: “Error 502 · Bad gateway”, a line with the time (UTC), host and request ID, and a chain You, Browser, Network, Host in which the failing link is red. Below it are “What happened?” and “What can I do?”. This is the only theme that shows the request details; turn them off with SHOW_DETAILS=false. See Status codes for how a code picks the failing link.

Status theme

Minimal: “503 | Title”, a divider that grows in, and one short paragraph. It is light or dark following the visitor’s system setting.

Clean theme

You cannot load your own theme at runtime. You can change the words a theme shows, including theme-specific wording, with custom texts.