All styles
Brutalist

Echo Shadow CSS Button

Free26 lines · no JS · WCAG AAA 18.2 · light-safe
Open in Studio
Theme

A real <button> carrying .btn-echo-shadow — the preview is the stylesheet, not a picture of it.

States
default
hover
focus-visible
active
disabled
not declared
.btn-echo-shadow {
  display: inline-block;
  padding: 14px 32px;
  border: 3px solid #111111;
  border-radius: 0;
  background: #fdfbf4;
  color: #111111;
  font-family: inherit;
  font-size: 15px;
  font-weight: 800;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  cursor: pointer;
  transition: text-shadow 0.25s ease, transform 0.15s ease, background 0.25s ease;
}
.btn-echo-shadow:hover {
  text-shadow: 3px 3px 0 rgba(17, 17, 17, 0.4), 6px 6px 0 rgba(17, 17, 17, 0.22), 9px 9px 0 rgba(17, 17, 17, 0.1);
}
.btn-echo-shadow:active {
  transform: translate(2px, 2px);
  text-shadow: 1px 1px 0 rgba(17, 17, 17, 0.4);
}
.btn-echo-shadow:focus-visible {
  outline: 2px solid currentColor;
  outline-offset: 3px;
}
Self-contained · MIT · no build step.btn-echo-shadow
BrutalistSquareText FX

Implementation notes

About the Echo Shadow CSS button

Echo Shadow uses direct typography, strong borders and deliberately exposed structure. Its square geometry creates a compact, precise control. Its structure comes from a 3px border. The text fx details are included in the copy-paste CSS.

Usage

<button class="btn-echo-shadow">Button</button>

Pair it with the CSS tab above — the class is self-contained.

Before shipping: keep the semantic button element, verify contrast on your actual background and add a visible:focus-visible state. If you retain motion, include a prefers-reduced-motion override.
Built with
HTML + plain CSS
Shape
Square
Exports
CSS, Tailwind, React
License
MIT · commercial use
Complete the look

Build the interface around this button

We matched its palette, surface, geometry and motion to a complete UI system — like composing an outfit, not browsing unrelated parts.

Style DNA · v1
How matching works →
Pro preview
Modal83% match

Neo Pop Decision Modal

Neo Pop kit

Brutalist charactersolid surface
Unlock with Pro →
Free sample
Input83% match

Neo Pop Smart Input

Neo Pop kit

Brutalist charactersolid surface
Pro preview
Toggle83% match

Neo Pop Preference Toggle

Neo Pop kit

Brutalist charactersolid surface
Unlock with Pro →
Pro preview
Card83% match

Neo Pop Feature Card

Neo Pop kit

Brutalist charactersolid surface
Unlock with Pro →
Pro preview
Dropdown83% match

Neo Pop Action Menu

Neo Pop kit

Brutalist charactersolid surface
Unlock with Pro →
Pro preview
Form83% match

Neo Pop Signup Form

Neo Pop kit

Brutalist charactersolid surface
Unlock with Pro →
Get the complete Neo Pop kit
Six coordinated component types, commercial license and future kit updates.
Explore Pro · $39

More styles that match

Raw Block

Mono Brutal

Stamp Crooked

Anti Design

Brutal Invert

Brutal Pink

Two optional extras load only if you allow them. Every button, preview and line of code works exactly the same either way. What each one does