← All styles

Brutalist Mono

a specification sheet with opinions

Monospace everywhere, hard black rules, zero radius and offset shadows. Loud orange for anything you can click. Structure is visible on purpose.

lightbrutalistmonohigh-contrastexperimental v1.0.0 CC-BY-4.0

Install

npx styles-md add brutalist-mono

Palette

bg #ffffff
surface #f2f2f0
fg #000000
muted #4a4a4a
accent #ff3b00
accent-fg #000000
border #000000
success #007a3d
danger #d40000

Type

15px base · 1.25 ratio · weight 400/700. Fonts are not bundled — specimens fall back to what you have installed.

4xl · 45.78px

The quick brown fox jumps

3xl · 36.62px

The quick brown fox jumps

2xl · 29.3px

The quick brown fox jumps

xl · 23.44px

The quick brown fox jumps

lg · 18.75px

The quick brown fox jumps

base · 15px

The quick brown fox jumps

sm · 12px

The quick brown fox jumps

xs · 9.6px

The quick brown fox jumps

Shape, space & motion

stroke
2px
radius
0px · 0px · 0px
spacing unit
8px
gutter
16px
section gap
80px
max width
1000px
motion
0ms steps(1, end)
Download

Brutalist Mono

Nothing is hidden. Borders are black and 2px, shadows are hard offsets, and every element sits on an 8px grid you can see if you squint.

Principles

  • Radius is zero everywhere. There are no exceptions and no pills.
  • Every container gets a 2px black border. Borders are the layout.
  • Shadows are solid offsets in black, never blurred.
  • Transitions are instant. Motion has no place here.
  • Headings are uppercase with tight negative tracking.

Typography

One family, monospace, for everything. Hierarchy comes from weight (400 vs 700), case, and the 1.25 size ramp. Because mono is wide, the measure runs to 1000px and line height stays at 1.5.

Colour

Black, white, one grey, one orange. surface is a barely-there grey used to separate a block from the page when a border alone is not enough. accent is reserved strictly for interactive things.

Components

  • Button: accent fill, black label, 2px black border, shadow-sm; on press it translates 3px and drops the shadow.
  • Card: surface fill, 2px black border, shadow-md, 24px padding.
  • Input: white fill, 2px black border, 12px padding, mono text; focus adds shadow-sm.
  • Nav: 2px bottom border, uppercase links at text-sm, 24px gap, accent underline when active.
  • Table: 2px outer border, 1px inner rules, surface header row, 12px cells.
  • Badge: 2px black border, surface fill, uppercase text-xs, 4px/8px padding.
  • Heading: uppercase, weight 700, tracking -0.03em, black.
  • Focus ring: 3px accent outline, 0 offset, square.

Do / Don’t

  • Do label things in uppercase — nav, buttons, badges, table headers.
  • Do keep the 8px grid visible; every gap is a multiple of 8.
  • Do let content touch the borders. Padding is 24px maximum.
  • Don’t round any corner, ever.
  • Don’t blur a shadow.
  • Don’t animate anything, including hovers.
  • Don’t use accent for large fills — it is a 15% colour at most.
  • Don’t add a third font or a second accent.

When to use

Portfolios, tools with personality, launch pages, anything that wants to look built rather than designed. Wrong for enterprise software or long-form reading.