500 Server Error
A copy-paste error & 404 pages component in pure HTML & CSS. Zero dependencies, framework-agnostic, MIT-licensed.
Error & 404 PagesHTMLCSSany framework
500
Internal server error
Something went wrong on our end. We're working on it.
Copy into your project
HTML
<div class="nuda-err-500">
<div class="nuda-err-500__icon">
<svg viewBox="0 0 24 24" fill="none" stroke="currentColor"
stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
<path d="M10.29 3.86L1.82 18a2 2 0 001.71 3h16.94a2 2 0 001.71-3L13.71 3.86a2 2 0 00-3.42 0z" />
<line x1="12" y1="9" x2="12" y2="13" />
<line x1="12" y1="17" x2="12.01" y2="17" />
</svg>
</div>
<div class="nuda-err-500__code">500</div>
<p class="nuda-err-500__msg">Internal server error</p>
<p class="nuda-err-500__sub">Something went wrong on our end. We're working on it.</p>
<button class="nuda-err-500__btn">Try again</button>
</div>CSS
.nuda-err-500 {
display: flex;
flex-direction: column;
align-items: center;
padding: 24px 20px;
background: #1a1a1a;
border: 1px solid rgba(255,107,107,.2);
border-radius: 16px;
text-align: center;
width: 100%;
max-width: 260px;
}
.nuda-err-500__icon {
width: 44px;
height: 44px;
color: #ff6b6b;
margin-bottom: 8px;
animation: _nuda-err500shake .5s ease-in-out 1;
}
.nuda-err-500__icon svg {
width: 100%;
height: 100%;
}
.nuda-err-500__code {
font-size: 36px;
font-weight: 800;
color: #ff6b6b;
letter-spacing: -.03em;
font-family: ui-monospace,monospace;
line-height: 1;
margin-bottom: 4px;
}
.nuda-err-500__msg {
color: #fafafa;
font-size: 13px;
font-weight: 600;
margin: 0 0 4px;
}
.nuda-err-500__sub {
color: #666;
font-size: 10px;
line-height: 1.5;
margin: 0 0 14px;
max-width: 190px;
}
.nuda-err-500__btn {
padding: 7px 18px;
background: rgba(255,107,107,.12);
color: #ff6b6b;
border: 1px solid rgba(255,107,107,.35);
border-radius: 8px;
font-size: 11px;
font-weight: 600;
cursor: pointer;
transition: background .2s;
}
.nuda-err-500__btn:hover {
background: rgba(255,107,107,.22);
}
@keyframes _nuda-err500shake {
0%,100% {
transform: translateX(0);
}
20% {
transform: translateX(-4px);
}
40% {
transform: translateX(4px);
}
60% {
transform: translateX(-3px);
}
80% {
transform: translateX(3px);
}
}
@media (prefers-reduced-motion:reduce) {
.nuda-err-500__icon {
animation: none;
}
}
How to use 500 Server Error
Paste the HTML where you need it and the CSS into a global stylesheet (or a <style> tag). Every class is prefixed nuda- so it never collides with Tailwind or your own styles. Tweak the CSS custom properties to match your design system.
Works in React, Vue, Svelte, Astro, Next.js, Nuxt, Laravel Blade, Django, Rails — or a single .html file. No npm install, no build step.