Best For
wabi-sabi / wabi sabi design / Japanese minimalism
A digital expression of Japanese Wabi-Sabi aesthetics, celebrating the beauty of imperfection, the elegance of natural aging, and the zen of extreme whitespace, conveyed through ink tones, tea hues, and paper textures.
Best For
wabi-sabi / wabi sabi design / Japanese minimalism
Primary Move
Use warm paper-toned backgrounds bg-[#f7f3ec] bg-[#f2ede4]
Watch Out
Do not use vivid colors or high saturation
design.md
One document describes the colour roles, type rules, spacing and component construction behind this style. Copy or download it into Claude Code or Codex.
Imperfect, impermanent, incomplete — let material and time speak instead of design.
Theme: light
Wabi-sabi is the Japanese acceptance of imperfection: a chip in a bowl, yellowed paper, a blotched wall are all value rather than flaw. On screen it shows as warm paper (#f2ede4), ink text (#3a3a3a), serif type, dividers of 1px at 30% opacity, and whitespace extravagant to the point of luxury. Vivid saturation, heavy shadow and thick borders, dense arrangement, decorative animation and bounce are all refused — any display of eagerness offends it.
| Name | Value | Token | Role |
|---|---|---|---|
| Ink | #3a3a3a | --color-ink | Every text run — a mid-deep grey rather than black, easier over long use. |
| Paper | #f2ede4 | --color-paper | The page ground — a yellowed warm cream like washi left for years. |
| Moss | #8a9a7b | --color-moss | The first support color, like moss on a stone step, on secondary emphasis. |
| Sand | #b5a78c | --color-sand | Section grounds and dividers, dividing space without introducing contrast. |
| Tea | #8b6f4e | --color-tea | A warm brown, on elements needing a human presence and on wooden objects. |
| Slate Teal | #799d91 | --color-slate-teal | The cool stroke, on water, glaze and quiet states. |
| Role | Family | Weight | Size | Line Height | Letter Spacing | Token |
|---|---|---|---|---|---|---|
| display | Noto Serif SC | 300 | 42px | 1.25 | 0.02em | --text-display |
| heading | Noto Serif SC | 400 | 32px | 1.35 | — | --text-heading |
| subheading | Noto Serif SC | 400 | 24px | 1.45 | — | --text-subheading |
| body-lg | Noto Serif SC | 400 | 19px | 1.85 | — | --text-body-lg |
| body | Noto Serif SC | 300 | 16px | 1.9 | — | --text-body |
| label | Noto Serif SC | 400 | 14px | 1.7 | 0.24em | --text-label |
Base unit: 8px Density: airy
| Name | Value | Token |
|---|---|---|
| 8 | 8px | --spacing-8 |
| 16 | 16px | --spacing-16 |
| 24 | 24px | --spacing-24 |
| 32 | 32px | --spacing-32 |
| 48 | 48px | --spacing-48 |
| 64 | 64px | --spacing-64 |
| 96 | 96px | --spacing-96 |
| 144 | 144px | --spacing-144 |
| 192 | 192px | --spacing-192 |
| Element | Value |
|---|---|
| cards | 2px |
| buttons | 2px |
| images | 0 |
Role: The hairline rule — the core structure
1px in #d4cdc5 at 30%, spanning most of the content width with 10% clear at each end. It must be weak enough to barely see yet still felt — the style's only structural tool.
Role: Action button
Transparent fill, a 1px ink border at 25%, 2px radius, serif at 14px with 0.24em tracking, 14px 36px padding, no shadow. Hover raises the border to 45% and the text from 80% to full, with nothing moving. 600ms ease-out.
Role: Content card
Paper fill one step lifted, 2px radius, a 1px sand border at 30%, 40px padding, no shadow. Title at 32px/400, body at 16px/300 on 1.9 leading. Hover only raises the border to 50% and the fill by two percent, over 800ms.
Role: Object image container
Zero radius, no border, no shadow. The image may hold an irregular object — a clay bowl, old wood, a stone — and its edge need not be clean. It sits 36px from text, with no filter or overlay, letting the material speak.
Role: The silence block
An empty block 192px to 320px tall carrying nothing, existing as a real element. In wabi-sabi, having nothing there is itself the content — it separates and enlarges what surrounds it.
| Level | Name | Value | Purpose |
|---|---|---|---|
| 0 | Paper | #f2ede4 | 页面底 |
| 1 | Lifted Paper | #f7f3ec | 卡片 |
| 2 | Sand Block | rgba(181,167,140,0.22) | 次级区块 |
none — shadows break the quiet0 1px 2px rgba(58,58,58,0.04)Object photography: ceramics, old wood, stone, dry branches, linen. Natural light, low saturation, visible wear. Asymmetry and incomplete framing are welcome. No saturation, studio lighting or decorative illustration.
Capped at 980px with 32px padding, sections 192px apart. The layout may be incomplete and off-centre — elements need not align to a grid and emptiness may be lopsided. Dense arrangement is refused; one screen carries three blocks at most.
QUICK COLOR REFERENCE:
#3a3a3a#f2ede4#f7f3ec#8a9a7b#b5a78c#8b6f4eEXAMPLE COMPONENT PROMPTS:
:root {
/* Colors */
--color-ink: #3a3a3a;
--color-paper: #f2ede4;
--color-moss: #8a9a7b;
--color-sand: #b5a78c;
--color-tea: #8b6f4e;
--color-slate-teal: #799d91;
/* Typography — Font Families */
--font-serif: 'Noto Serif SC', ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
/* Typography — Scale */
--text-display: 42px;
--leading-display: 1.25;
--tracking-display: 0.02em;
--text-heading: 32px;
--leading-heading: 1.35;
--text-subheading: 24px;
--leading-subheading: 1.45;
--text-body-lg: 19px;
--leading-body-lg: 1.85;
--text-body: 16px;
--leading-body: 1.9;
--text-label: 14px;
--leading-label: 1.7;
--tracking-label: 0.24em;
/* Typography — Weights */
--font-weight-light: 300;
--font-weight-regular: 400;
/* Spacing */
--spacing-unit: 8px;
--spacing-8: 8px;
--spacing-16: 16px;
--spacing-24: 24px;
--spacing-32: 32px;
--spacing-48: 48px;
--spacing-64: 64px;
--spacing-96: 96px;
--spacing-144: 144px;
--spacing-192: 192px;
/* Layout */
--page-max-width: 980px;
--section-gap: 192px;
--card-padding: 40px;
--element-gap: 36px;
--density: airy;
/* Border Radius */
--radius-cards: 2px;
--radius-buttons: 2px;
--radius-images: 0;
/* Surfaces */
--surface-paper: #f2ede4;
--surface-lifted-paper: #f7f3ec;
--surface-sand-block: rgba(181,167,140,0.22);
}
Component Templates
FAQ
/* Wabi-Sabi */
:root {
--wabi-bg: #f7f3ec;
--wabi-surface: #f2ede4;
--wabi-text: #3a3a3a;
--wabi-muted: #8a8278;
--wabi-moss: #8a9a7b;
--wabi-tea: #b5a78c;
--wabi-clay: #8b6f4e;
--wabi-border: #d4cdc5;
}
@keyframes wabi-sabi-fade-in {
from { opacity: 0; transform: translateY(8px); }
to { opacity: 1; transform: translateY(0); }
}
@keyframes wabi-sabi-pulse {
0%, 100% { opacity: 1; }
50% { opacity: 0.7; }
}
.wabi-sabi-card {
position: relative;
overflow: hidden;
}
.wabi-sabi-card::before {
content: "";
position: absolute;
inset: 0;
opacity: 0;
transition: opacity 0.3s ease;
background: linear-gradient(135deg, rgba(58, 58, 58, 0.05), transparent);
pointer-events: none;
}
.wabi-sabi-card:hover::before {
opacity: 1;
}
.wabi-sabi-gradient {
background: linear-gradient(135deg, #3a3a3a, #8a9a7b);
}
.wabi-sabi-gradient-text {
background: linear-gradient(135deg, #3a3a3a, #8a9a7b);
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
background-clip: text;
}
.wabi-sabi-frosted {
backdrop-filter: blur(12px) saturate(180%);
-webkit-backdrop-filter: blur(12px) saturate(180%);
background: rgba(58, 58, 58, 0.08);
}
.wabi-sabi-accent-corner {
clip-path: polygon(0 0, 100% 0, 100% calc(100% - 2rem), calc(100% - 2rem) 100%, 0 100%);
}
.wabi-sabi-animate-in {
animation: wabi-sabi-fade-in 0.5s ease-out both;
}
.wabi-sabi-focus { outline: 2px solid var(--wabi-sabi-primary, currentColor); outline-offset: 2px; }
/* Responsive utilities */
@media (prefers-reduced-motion: reduce) {
.wabi-sabi-animate-in {
animation: none;
}
}
@media (min-width: 768px) {
.wabi-sabi-card {
transition: transform 0.3s ease, box-shadow 0.3s ease;
}
}
/* Print styles */
@media print {
.wabi-sabi-gradient,
.wabi-sabi-frosted {
background: none;
backdrop-filter: none;
}
}Compatible Layout Patterns
The following layout patterns pair well with the Wabi-Sabi style.
Related Styles
Explore these styles for ready-made tokens and components.
Wabi-Sabi and Apple Style sit closest to each other. The table below gives the real differences in color, use case, and tags, so the choice between them is made on facts.
| Attribute | Wabi-Sabi | Apple Style |
|---|---|---|
| Primary color | #3a3a3a | #000000 |
| Secondary color | #f2ede4 | #f5f5f7 |
| Best for | wabi-sabi / wabi sabi design / Japanese minimalism | Apple style / Apple design / minimalist website |
| Unique tags | — | — |
Wabi-Sabi is the deepest philosophical concept in Japanese traditional aesthetics.