500 Error Page Design

A branded server-error screen that keeps users calm and provides clear recovery paths when things break.

500

Something went sideways

Our servers tripped over a cable. We've been paged and we're on it — no action needed from you.

Key principles

  • Own the tone. Lighthearted but not flippant — “sideways” beats “internal server error.”
  • Remove blame. Never imply the user caused it. “We've been paged” signals ownership.
  • Two exits max. Primary CTA (home) + secondary (status page). No decision paralysis.
  • Brand the code. Gradient 500 turns an error code into a visual anchor.

Implementation notes

This lives at app/error.tsx or a custom 500.html in public/. Vercel serves the static variant on edge failures. Keep it under 50 KB — no client-side JS beyond hydration. The gradient text uses bg-clip-text with transparent fill; test across Chrome, Firefox, and Safari for rendering parity.