website_designs

Cluttercore Design Reference

Cluttercore is a maximalist interior and lifestyle aesthetic that emerged on TikTok around 2020, gaining traction during the COVID-19 pandemic. It celebrates the “beautiful mess” – densely curated, deeply personal spaces where every surface becomes a display canvas for collections, memorabilia, and sentimental objects. Unlike traditional maximalism, which aims for bold but cohesive design, Cluttercore prioritizes emotional resonance and personal expression over aesthetic harmony, creating spaces that feel organically evolved and intimately lived-in.


Visual Characteristics

Core Motifs and Patterns

Design Principles


Color Palette

Primary Scheme

Role Colors
Base / Background Warm cream, aged paper, soft ivory
Warm accents Terracotta, mustard yellow, burnt orange, dusty rose
Cool accents Teal, sage green, periwinkle blue, plum purple
Rich tones Burgundy, forest green, navy blue, ochre
Bright pops Cherry red, sunflower yellow, cobalt blue, magenta

Detailed Palette

Color Hex (suggested) Usage
Warm Cream #F5F0E6, #FFF8EE Primary background, base surface
Aged Paper #EDE4D3, #E8DCCA Secondary backgrounds, card surfaces
Terracotta #C8614C, #D4735E Primary warm accent, highlights
Mustard Yellow #D4A843, #E5B94E Accent elements, badges, tags
Sage Green #8DA47E, #9BB08E Nature/plant accents, secondary elements
Dusty Rose #C48B8B, #D1A0A0 Soft warm accent, borders, hover states
Teal #3D8B8B, #4A9E9E Cool accent, links, interactive elements
Plum Purple #7B5078, #8E6088 Feature accents, headings
Burgundy #803040, #943A4A Deep accent, emphasis text
Forest Green #2E5E3E, #3A7050 Rich accent, section backgrounds
Burnt Orange #CC6B30, #D87A3E Call-to-action, warm highlight
Navy #2A3A5C, #354770 Dark accent, contrast backgrounds
Cobalt Blue #2E5BA8, #3A6CBC Bright pop accent
Cherry Red #B83240, #CC3D4C Bright pop accent
Rich Brown #5C3D2E, #6B4A3A Borders, frames, grounding color

Suggested CSS Custom Properties

:root {
  /* Warm base tones */
  --clutter-cream: #f5f0e6;
  --clutter-ivory: #fff8ee;
  --clutter-paper: #ede4d3;
  --clutter-parchment: #e8dcca;

  /* Warm accents */
  --clutter-terracotta: #c8614c;
  --clutter-mustard: #d4a843;
  --clutter-burnt-orange: #cc6b30;
  --clutter-dusty-rose: #c48b8b;

  /* Cool accents */
  --clutter-teal: #3d8b8b;
  --clutter-sage: #8da47e;
  --clutter-periwinkle: #7080b8;
  --clutter-plum: #7b5078;

  /* Rich / deep tones */
  --clutter-burgundy: #803040;
  --clutter-forest: #2e5e3e;
  --clutter-navy: #2a3a5c;
  --clutter-brown: #5c3d2e;

  /* Bright pops */
  --clutter-cherry: #b83240;
  --clutter-cobalt: #2e5ba8;
  --clutter-sunflower: #e5c040;
  --clutter-magenta: #b8388e;

  /* Functional mappings */
  --clutter-bg-primary: var(--clutter-cream);
  --clutter-bg-secondary: var(--clutter-paper);
  --clutter-bg-card: var(--clutter-ivory);
  --clutter-text-primary: var(--clutter-brown);
  --clutter-text-secondary: #6b5a4a;
  --clutter-text-heading: var(--clutter-burgundy);
  --clutter-accent: var(--clutter-teal);
  --clutter-accent-warm: var(--clutter-terracotta);
  --clutter-border: var(--clutter-dusty-rose);
  --clutter-link: var(--clutter-teal);
  --clutter-link-hover: var(--clutter-plum);
}

Approaches


Typography

Typeface Characteristics

Cluttercore typography reflects its eclectic, personal, handmade ethos:

Font Style Usage
Playfair Display Elegant, high-contrast serif Headlines, section titles
Lora Warm, calligraphic serif Subheadings, pull quotes
Merriweather Sturdy, readable serif Body text alternative
Nunito Rounded, friendly sans-serif Body text, UI elements
Quicksand Rounded geometric sans-serif Labels, navigation, tags
Caveat Handwritten, natural Annotations, decorative labels, captions
Patrick Hand Handwritten, casual Accent text, callouts
Crimson Pro Classic, book-style serif Long-form body text
Indie Flower Handwritten, whimsical Decorative accents, stickers
DM Serif Display Bold, characterful display serif Hero headlines

Typography CSS Example

/* Headlines -- characterful serif */
h1, h2, h3 {
  font-family: 'Playfair Display', 'DM Serif Display', Georgia, serif;
  font-weight: 700;
  color: var(--clutter-text-heading);
  line-height: 1.2;
}

h1 { font-size: clamp(2.2rem, 5vw, 4rem); }
h2 { font-size: clamp(1.6rem, 3.5vw, 2.5rem); }
h3 { font-size: clamp(1.2rem, 2.5vw, 1.8rem); }

/* Body text -- friendly, rounded */
body {
  font-family: 'Nunito', 'Quicksand', sans-serif;
  font-weight: 400;
  font-size: 1rem;
  line-height: 1.7;
  color: var(--clutter-text-primary);
}

/* Handwritten accent text */
.clutter-handwritten {
  font-family: 'Caveat', 'Patrick Hand', cursive;
  font-size: 1.3em;
  color: var(--clutter-terracotta);
  transform: rotate(-2deg);
  display: inline-block;
}

/* Labels and tags */
.clutter-tag {
  font-family: 'Quicksand', 'Nunito', sans-serif;
  font-size: 0.75rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--clutter-text-secondary);
}

/* Decorative pull quote */
.clutter-quote {
  font-family: 'Lora', 'Crimson Pro', serif;
  font-style: italic;
  font-size: 1.4rem;
  line-height: 1.5;
  color: var(--clutter-plum);
  border-left: 4px solid var(--clutter-dusty-rose);
  padding-left: 1.5rem;
}

Layout Principles

Grid and Structure

Section Organization


CSS/Design Techniques

Warm Textured Background

/* Aged paper / cream background with subtle texture */
.clutter-bg {
  background-color: var(--clutter-cream);
  background-image:
    radial-gradient(
      ellipse at 20% 50%,
      rgba(212, 168, 67, 0.06) 0%,
      transparent 50%
    ),
    radial-gradient(
      ellipse at 80% 20%,
      rgba(141, 164, 126, 0.06) 0%,
      transparent 50%
    ),
    radial-gradient(
      ellipse at 50% 80%,
      rgba(196, 139, 139, 0.06) 0%,
      transparent 50%
    );
}

/* Paper grain texture overlay */
.clutter-grain::before {
  content: '';
  position: absolute;
  inset: 0;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)' opacity='0.03'/%3E%3C/svg%3E");
  pointer-events: none;
  z-index: 0;
}

Masonry / Shelf Grid Layout

/* CSS Grid masonry approximation */
.clutter-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
  gap: 1rem;
  padding: 1rem;
}

/* Varied card sizes for organic feel */
.clutter-grid > :nth-child(3n+1) { grid-row: span 2; }
.clutter-grid > :nth-child(5n+2) { grid-column: span 2; }

/* True masonry with columns (fallback approach) */
.clutter-masonry {
  columns: 3 280px;
  column-gap: 1.2rem;
  padding: 1rem;
}

.clutter-masonry > * {
  break-inside: avoid;
  margin-bottom: 1.2rem;
  display: inline-block;
  width: 100%;
}

Eclectic Card Styles

/* Base clutter card -- warm, slightly tilted */
.clutter-card {
  background: var(--clutter-bg-card);
  border: 2px solid var(--clutter-dusty-rose);
  border-radius: 4px;
  padding: 1.5rem;
  position: relative;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
  box-shadow: 2px 3px 8px rgba(92, 61, 46, 0.12);
}

/* Random-feeling rotations */
.clutter-card:nth-child(odd) { transform: rotate(-1.2deg); }
.clutter-card:nth-child(even) { transform: rotate(0.8deg); }
.clutter-card:nth-child(3n) { transform: rotate(-0.5deg); }

.clutter-card:hover {
  transform: rotate(0deg) translateY(-4px);
  box-shadow: 3px 6px 16px rgba(92, 61, 46, 0.2);
  z-index: 2;
}

/* Polaroid-style image card */
.clutter-polaroid {
  background: #fff;
  padding: 0.8rem 0.8rem 2.5rem;
  border: 1px solid #ddd;
  box-shadow: 2px 3px 10px rgba(0, 0, 0, 0.1);
}

.clutter-polaroid img {
  width: 100%;
  display: block;
}

.clutter-polaroid .caption {
  font-family: 'Caveat', cursive;
  font-size: 1.1rem;
  color: var(--clutter-text-secondary);
  text-align: center;
  margin-top: 0.5rem;
}

Washi Tape / Decorative Tape Effect

/* Washi tape strip (decorative element) */
.clutter-tape {
  position: absolute;
  width: 120px;
  height: 28px;
  background: var(--clutter-mustard);
  opacity: 0.7;
  transform: rotate(-5deg);
  top: -12px;
  left: calc(50% - 60px);
  z-index: 3;
}

/* Variant tape colors */
.clutter-tape--rose { background: var(--clutter-dusty-rose); }
.clutter-tape--sage { background: var(--clutter-sage); }
.clutter-tape--teal {
  background: repeating-linear-gradient(
    90deg,
    var(--clutter-teal),
    var(--clutter-teal) 4px,
    rgba(255,255,255,0.4) 4px,
    rgba(255,255,255,0.4) 8px
  );
}

Pinboard / Corkboard Section

/* Corkboard-textured section background */
.clutter-pinboard {
  background-color: #c4a56e;
  background-image:
    radial-gradient(circle at 15% 25%, rgba(180, 140, 80, 0.4) 0%, transparent 40%),
    radial-gradient(circle at 85% 75%, rgba(160, 120, 60, 0.3) 0%, transparent 40%),
    repeating-linear-gradient(
      45deg,
      transparent,
      transparent 3px,
      rgba(0,0,0,0.02) 3px,
      rgba(0,0,0,0.02) 4px
    );
  padding: 3rem 2rem;
  position: relative;
  border: 8px solid var(--clutter-brown);
  border-radius: 2px;
}

/* Push pin decoration */
.clutter-pin {
  position: absolute;
  width: 16px;
  height: 16px;
  background: radial-gradient(circle at 40% 40%, #e85050, #c03030);
  border-radius: 50%;
  box-shadow:
    0 2px 4px rgba(0,0,0,0.3),
    inset 0 -1px 2px rgba(0,0,0,0.2),
    inset 0 1px 1px rgba(255,255,255,0.3);
  z-index: 4;
}

Shelf Display Section

/* Wooden shelf effect */
.clutter-shelf {
  position: relative;
  padding: 2rem 2rem 3rem;
  margin-bottom: 2rem;
}

.clutter-shelf::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 20px;
  background: linear-gradient(
    180deg,
    #8b6b4a 0%,
    #7a5c3c 40%,
    #6b4d30 100%
  );
  border-radius: 0 0 3px 3px;
  box-shadow:
    0 4px 8px rgba(0,0,0,0.2),
    inset 0 1px 0 rgba(255,255,255,0.15);
}

.clutter-shelf-items {
  display: flex;
  gap: 1rem;
  align-items: flex-end;
  justify-content: center;
  flex-wrap: wrap;
}

Sticker / Badge Labels

/* Decorative sticker label */
.clutter-sticker {
  display: inline-block;
  padding: 0.3rem 0.8rem;
  font-family: 'Quicksand', sans-serif;
  font-size: 0.75rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  border-radius: 100px;
  transform: rotate(-3deg);
  box-shadow: 1px 2px 4px rgba(0,0,0,0.1);
}

.clutter-sticker--warm {
  background: var(--clutter-terracotta);
  color: #fff;
}

.clutter-sticker--cool {
  background: var(--clutter-teal);
  color: #fff;
}

.clutter-sticker--bright {
  background: var(--clutter-sunflower);
  color: var(--clutter-brown);
}

.clutter-sticker--outlined {
  background: transparent;
  border: 2px dashed var(--clutter-dusty-rose);
  color: var(--clutter-dusty-rose);
}

Handwritten Underline / Annotation

/* Wavy hand-drawn underline */
.clutter-underline {
  text-decoration: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 8'%3E%3Cpath d='M0 6 Q12.5 0 25 6 T50 6 T75 6 T100 6' fill='none' stroke='%23c8614c' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E");
  background-repeat: repeat-x;
  background-position: bottom;
  background-size: 100px 8px;
  padding-bottom: 6px;
}

/* Scribble circle highlight */
.clutter-circle-highlight {
  position: relative;
}

.clutter-circle-highlight::after {
  content: '';
  position: absolute;
  inset: -8px -12px;
  border: 2.5px solid var(--clutter-terracotta);
  border-radius: 50% 45% 55% 48%;
  opacity: 0.6;
  transform: rotate(-2deg);
  pointer-events: none;
}

Layered Textile / Pattern Background

/* Patchwork quilt-inspired section */
.clutter-patchwork {
  background:
    linear-gradient(45deg, rgba(200, 97, 76, 0.08) 25%, transparent 25%),
    linear-gradient(-45deg, rgba(141, 164, 126, 0.08) 25%, transparent 25%),
    linear-gradient(45deg, transparent 75%, rgba(123, 80, 120, 0.08) 75%),
    linear-gradient(-45deg, transparent 75%, rgba(61, 139, 139, 0.08) 75%),
    var(--clutter-cream);
  background-size: 60px 60px;
  background-position: 0 0, 0 30px, 30px -30px, 30px 0;
}

/* Floral wallpaper hint */
.clutter-floral-bg {
  background-color: var(--clutter-paper);
  background-image:
    radial-gradient(circle at 20% 30%, rgba(196, 139, 139, 0.15) 8px, transparent 8px),
    radial-gradient(circle at 60% 70%, rgba(141, 164, 126, 0.12) 6px, transparent 6px),
    radial-gradient(circle at 80% 20%, rgba(212, 168, 67, 0.1) 5px, transparent 5px),
    radial-gradient(circle at 40% 80%, rgba(123, 80, 120, 0.1) 7px, transparent 7px);
  background-size: 200px 200px;
}
/* Dense gallery wall with overlapping frames */
.clutter-gallery {
  display: grid;
  grid-template-columns: repeat(12, 1fr);
  grid-auto-rows: 60px;
  gap: 0.5rem;
  padding: 2rem;
  position: relative;
}

.clutter-gallery-item {
  border: 3px solid var(--clutter-brown);
  background: #fff;
  padding: 4px;
  box-shadow: 2px 3px 8px rgba(0,0,0,0.15);
  overflow: hidden;
  z-index: 1;
  transition: z-index 0s, transform 0.3s ease;
}

/* Varied frame sizes */
.clutter-gallery-item:nth-child(1) { grid-column: 1 / 5; grid-row: 1 / 4; transform: rotate(-2deg); }
.clutter-gallery-item:nth-child(2) { grid-column: 4 / 8; grid-row: 1 / 5; transform: rotate(1deg); }
.clutter-gallery-item:nth-child(3) { grid-column: 7 / 10; grid-row: 1 / 3; transform: rotate(-1deg); }
.clutter-gallery-item:nth-child(4) { grid-column: 9 / 13; grid-row: 1 / 5; transform: rotate(2deg); }
.clutter-gallery-item:nth-child(5) { grid-column: 1 / 4; grid-row: 3 / 7; transform: rotate(1.5deg); }
.clutter-gallery-item:nth-child(6) { grid-column: 3 / 7; grid-row: 4 / 7; transform: rotate(-0.5deg); }

.clutter-gallery-item:hover {
  transform: rotate(0deg) scale(1.05);
  z-index: 10;
  box-shadow: 4px 6px 20px rgba(0,0,0,0.25);
}

/* Ornate frame variant */
.clutter-gallery-item--ornate {
  border: 6px solid var(--clutter-brown);
  box-shadow:
    inset 0 0 0 2px var(--clutter-mustard),
    2px 3px 8px rgba(0,0,0,0.15);
}

Scattered Decorative Elements

/* Floating decorative objects (stars, hearts, flowers) */
.clutter-scatter {
  position: relative;
}

.clutter-scatter::before,
.clutter-scatter::after {
  position: absolute;
  font-size: 1.2rem;
  opacity: 0.4;
  pointer-events: none;
}

.clutter-scatter--stars::before { content: '\2728'; top: -10px; left: 5%; }
.clutter-scatter--stars::after { content: '\2B50'; bottom: -8px; right: 8%; }
.clutter-scatter--hearts::before { content: '\2764'; top: -8px; right: 10%; }
.clutter-scatter--plants::before { content: '\1F33F'; top: -12px; left: 8%; }
.clutter-scatter--plants::after { content: '\1F33A'; bottom: -10px; right: 5%; }

Materials and Textures (Visual Metaphors for Web)

Physical Cluttercore materials and their web equivalents:

Physical Material Web Equivalent
Cork board Warm tan background with subtle noise texture and pinned elements
Washi tape Colored semi-transparent strips with repeating patterns, positioned over edges
Picture frames Thick colored borders with box-shadow, slight rotation transforms
Fabric / textiles CSS patterns using repeating gradients (plaids, dots, stripes)
Aging paper / parchment Cream/ivory backgrounds with radial gradient warm spots and noise overlay
Wooden shelves Horizontal gradient bars with grain-like repeating gradients
Ceramic and pottery Rounded border-radius containers with warm, earthy solid colors
Stickers and labels Pill-shaped badges with slight rotation and drop shadows
Plants and greenery Sage/forest green accent colors; leaf emoji as decorative pseudo-elements
String lights Dotted border or repeated radial gradient circles along a curved path

Key Differences from Maximalism

Aspect Traditional Maximalism Cluttercore
Color approach Bold but cohesive, often with a unifying palette Any colors, no unifying scheme required
Material quality Luxurious, rich materials (velvet, gold, marble) Eclectic mix of high and low, thrifted and handmade
Organization Intentionally designed; follows design principles Organically evolved; follows personal meaning
Emotional goal Impressive, dramatic, curated Comforting, personal, nostalgic
Overall feel Magazine editorial Lived-in home

Aesthetic Relationship to Cluttercore
Maximalism Parent aesthetic; Cluttercore is a personal, comfort-oriented subset
Cottagecore Shares warmth, handmade values, and cozy interiors; Cottagecore is more rural and curated
Goblincore Shares collecting instinct and appreciation for unconventional objects
Grandmacore Overlaps in nostalgia, inherited objects, doilies, and vintage decor
Cacareco Girl Related Brazilian aesthetic celebrating eclectic accumulation

Quick-Start: Minimal Cluttercore Page Template

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Cluttercore Page</title>
  <link href="https://fonts.googleapis.com/css2?family=Playfair+Display:wght@400;700&family=Nunito:wght@400;600&family=Caveat:wght@400;700&family=Quicksand:wght@500;700&display=swap" rel="stylesheet">
  <style>
    :root {
      --clutter-cream: #f5f0e6;
      --clutter-ivory: #fff8ee;
      --clutter-paper: #ede4d3;
      --clutter-terracotta: #c8614c;
      --clutter-mustard: #d4a843;
      --clutter-sage: #8da47e;
      --clutter-teal: #3d8b8b;
      --clutter-dusty-rose: #c48b8b;
      --clutter-plum: #7b5078;
      --clutter-burgundy: #803040;
      --clutter-brown: #5c3d2e;
    }

    * { margin: 0; padding: 0; box-sizing: border-box; }

    body {
      background: var(--clutter-cream);
      color: var(--clutter-brown);
      font-family: 'Nunito', sans-serif;
      font-weight: 400;
      line-height: 1.7;
    }

    h1, h2, h3 {
      font-family: 'Playfair Display', Georgia, serif;
      font-weight: 700;
      color: var(--clutter-burgundy);
      line-height: 1.2;
    }

    .hero {
      text-align: center;
      padding: 5rem 2rem 3rem;
      background: var(--clutter-paper);
      position: relative;
      overflow: hidden;
    }

    .hero h1 {
      font-size: clamp(2.5rem, 5vw, 4.5rem);
      margin-bottom: 0.5rem;
    }

    .hero .subtitle {
      font-family: 'Caveat', cursive;
      font-size: 1.6rem;
      color: var(--clutter-terracotta);
      transform: rotate(-2deg);
      display: inline-block;
    }

    .clutter-grid {
      display: grid;
      grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
      gap: 1.5rem;
      max-width: 1100px;
      margin: 0 auto;
      padding: 3rem 2rem;
    }

    .clutter-card {
      background: var(--clutter-ivory);
      border: 2px solid var(--clutter-dusty-rose);
      border-radius: 4px;
      padding: 1.5rem;
      box-shadow: 2px 3px 8px rgba(92, 61, 46, 0.12);
      position: relative;
      transition: transform 0.3s ease, box-shadow 0.3s ease;
    }

    .clutter-card:nth-child(odd) { transform: rotate(-1.2deg); }
    .clutter-card:nth-child(even) { transform: rotate(0.8deg); }

    .clutter-card:hover {
      transform: rotate(0deg) translateY(-4px);
      box-shadow: 3px 6px 16px rgba(92, 61, 46, 0.2);
      z-index: 2;
    }

    .clutter-card h3 {
      font-size: 1.3rem;
      margin-bottom: 0.5rem;
    }

    .tag {
      display: inline-block;
      padding: 0.2rem 0.6rem;
      font-family: 'Quicksand', sans-serif;
      font-size: 0.7rem;
      font-weight: 700;
      text-transform: uppercase;
      border-radius: 100px;
      margin-bottom: 0.8rem;
    }

    .tag--terracotta { background: var(--clutter-terracotta); color: #fff; }
    .tag--teal { background: var(--clutter-teal); color: #fff; }
    .tag--mustard { background: var(--clutter-mustard); color: var(--clutter-brown); }
    .tag--sage { background: var(--clutter-sage); color: #fff; }
  </style>
</head>
<body>
  <div class="hero">
    <h1>My Beautiful Mess</h1>
    <span class="subtitle">a curated collection of everything</span>
  </div>
  <section class="clutter-grid">
    <div class="clutter-card">
      <span class="tag tag--terracotta">Memories</span>
      <h3>Grandma's Teacups</h3>
      <p>A mismatched set collected from flea markets across three countries, each with its own story.</p>
    </div>
    <div class="clutter-card">
      <span class="tag tag--teal">Collection</span>
      <h3>Vintage Cameras</h3>
      <p>From Kodak Brownies to Polaroid SX-70s, arranged on the bookshelf between travel guides.</p>
    </div>
    <div class="clutter-card">
      <span class="tag tag--mustard">Reading</span>
      <h3>The Overflowing Shelf</h3>
      <p>Books stacked two-deep with postcards marking favorite passages and plants filling the gaps.</p>
    </div>
    <div class="clutter-card">
      <span class="tag tag--sage">Growing</span>
      <h3>Plant Corner</h3>
      <p>Seventeen plants and counting, trailing across the windowsill and climbing up the wall.</p>
    </div>
  </section>
</body>
</html>