Codrops
A creative coding and web design resource platform celebrating innovation, experimentation, and artistic expression in frontend development since 2009.
Colors
Typography
- display
- fontFamily: InterVariable · fontSize: 60px · fontWeight: 700 · lineHeight: 68px · letterSpacing: -0.04em
- headline-lg
- fontFamily: InterVariable · fontSize: 40px · fontWeight: 600 · lineHeight: 48px · letterSpacing: -0.02em
- headline-md
- fontFamily: InterVariable · fontSize: 28px · fontWeight: 600 · lineHeight: 36px · letterSpacing: -0.01em
- title-lg
- fontFamily: InterVariable · fontSize: 20px · fontWeight: 600 · lineHeight: 28px · letterSpacing: 0em
- body-lg
- fontFamily: InterVariable · fontSize: 18px · fontWeight: 400 · lineHeight: 28px · letterSpacing: 0.02em
- body-md
- fontFamily: InterVariable · fontSize: 16px · fontWeight: 400 · lineHeight: 24px · letterSpacing: 0.01em
- label-md
- fontFamily: InterVariable · fontSize: 14px · fontWeight: 600 · lineHeight: 20px · letterSpacing: 0.01em
- label-sm
- fontFamily: InterVariable · fontSize: 12px · fontWeight: 500 · lineHeight: 16px · letterSpacing: 0.02em
Design guidance
Overview
Codrops is a creative coding platform and design resource hub that celebrates experimental web development, artistic expression, and cutting-edge frontend innovation. The brand embodies a "Minimalist-Maximalist" aesthetic: a clean, light-neutral canvas (rgb(247, 247, 247) background, rgb(38, 39, 46) text) punctuated by vibrant accent colors—vivid cyan-blue (#0693e3), luminous orange (#ff6900), and vivid green (#00d084)—that energize featured content, tutorials, and creative showcases. The visual language is deliberately restrained in structure but bold in color application, evoking a gallery-like curation of web creativity. The emotional response is one of discovery and inspiration: users feel they are browsing a curated collection of the web's most innovative work, not a generic blog.
The brand voice is conversational, encouraging, and technically grounded. Codrops speaks to both beginners and seasoned developers with equal respect, using language like "Discover fresh gems," "Start exploring," and "Inside the journeys and portfolios of today's most inspiring designers and developers." The tone avoids hype; instead, it emphasizes craft, experimentation, and the joy of building. Example sentence in brand voice: "Volatile Nexus explores the intersection of glass morphism, caustics, and three-dimensional sound design—a masterclass in pushing WebGL beyond the expected."
Colors
The color system is built on a light, neutral foundation with three primary accent colors that drive visual hierarchy and emotional resonance. The surface stack anchors the design: surface (#f7f7f7) is the default page background, surface-dim (#eeeeee) and surface-bright (#ffffff) provide subtle contrast for layered cards and containers, while surface-container-high (#ddd) and surface-container-highest (#d0d0d0) create depth for interactive states. On-surface (#26272e) is the primary text color, ensuring 16:1 contrast ratio against the light background; on-surface-variant (#61626a) is used for secondary text and captions at 12px–14px sizes.
The primary accent is vivid cyan-blue (#0693e3), applied exclusively to interactive elements: primary call-to-action buttons, links, focus states, and
Typography
The type system uses InterVariable as the single typeface family across all scales, leveraging its variable-weight capability (100–900) to create visual distinction without introducing multiple font files. Display (60px, weight 700, line-height 68px, letter-spacing -0.04em) is reserved for hero headlines and major section titles, commanding presence through size and negative letter-spacing. Headline-lg (40px, weight 600, line-height 48px, -0.02em) anchors secondary sections and featured article titles. Headline-md (28px, weight 600, line-height 36px, -0.01em) is used for card titles and subsection headers. Title-lg (20px, weight 600, line-height 28px) marks tertiary headings and component labels. Body-lg (18px, weight 400, line-height 28px, 0.02em) is applied to introductory paragraphs and
Layout
The layout system uses a 12-column grid with a maximum container width of 1280px, centered on the viewport with symmetric gutters of 24px on desktop (reducing to 16px on tablet, 12px on mobile). The page rhythm is established through a spacing scale: lg (40px) separates major sections (hero, featured content, studio stories), md (24px) creates breathing room between cards and subsections, and sm (12px) provides internal padding within components. The header occupies 96px of vertical space (padding: 24px 0 96px), establishing a generous top margin that signals the start of content. Featured content cards use a 3-column layout on desktop, 2-column on tablet, and 1-column on mobile, with 24px gaps between items. The "Creative Hub" and "Webzibition" cards are full-width containers with interna
Elevation & Depth
Depth in Codrops is conveyed through a subtle shadow system and color-based layering rather than aggressive depth effects. The elevation scale defines three levels: sm (0 1px 2px rgba(0, 0, 0, 0.06)) for minor UI elements like badges and small buttons, md (0 3px 8px rgba(0, 0, 0, 0.15)) for standard cards and primary buttons, and lg (1px 1px 30px rgba(0, 0, 0, 0.1)) for elevated modals, featured content cards, and hover states. Cards in the default state use md elevation; on hover, they transition to lg elevation with a 240ms cubic-bezier(0.2, 0.8, 0.2, 1) timing function, creating a subtle li
Shapes
The shape philosophy is "Soft-Technical"—rounded corners are applied consistently but conservatively, signaling approachability without sacrificing clarity. Buttons use rounded.md (8px) for a balanced, modern appearance that feels neither too sharp nor overly organic. Cards and containers use rounded.lg (1rem / 16px) for a slightly more generous curve that softens the visual weight of grouped content. Input fields use rounded.DEFAULT (6px) for a subtle, functional appearance that doesn't distract from content entry. Badges and pills use rounded.full (9999px) for a fully rounded appearance, cre
Components
Action Elements Buttons are the primary interactive affordance. Button-primary uses backgroundColor {colors.primary} (#0693e3), textColor {colors.on-primary} (#ffffff), typography {typography.label-md}, rounded {rounded.md} (8px), padding 12px 24px, and height 44px. On hover, button-primary-hover transitions to backgroundColor #0580c9 with a 200ms ease-out timing. Button-secondary uses backgroundColor {colors.surface-container-high} (#ddd), textColor {colors.on-surface} (#26272e), a 1px solid border in {colors.outline-variant} (#dddddd), and the same padding and height as primary. On hover, it transitions to backgroundColor {colors.surface-container-highest} (#d0d0d0) and textColor {colors.primary} (#0693e3). Button-ghost is a transparent variant with textColor {colors.on-surface}, use
Do's and Don'ts
**Do**
- Do use primary accent (#0693e3) exclusively on interactive elements—buttons, links, focus states—to create a clear visual hierarchy and guide user attention.
- Do maintain the light, neutral background (#f7f7f7) as the dominant surface; treat white cards and containers as the primary content layer to emphasize curation.
- Do apply lg spacing (40px) between major sections and md spacing (24px) between cards to create generous breathing room that reflects the gallery-like aesthetic.
- Do use the midnight gradient (linear-gradient(135deg, #020381, #2874fc)) on premium featured content cards to create visual distinction and emotional resonance.
- Do apply 200ms–240ms ease-out transitions on all interactive state changes (hover, focus, active) to create a smooth, responsive feel without feeling sluggish.
- Do use InterVariable weight 600 for all headings and labels to create visual distinction without introducing additional typefaces; leverage variable-weight capability for efficiency.
**Don't**
- Don't use secondary (#ff6900) or tertiary (#00d084) accents on primary call-to-action buttons; reserve primary (#0693e3) for the most important interactive elements.
- Don't apply shadows heavier than lg (1px 1px 30px rgba(0, 0, 0, 0.1)) to cards; excessive depth contradicts the minimalist, gallery-like aesthetic.
- Don't reduce spacing below sm (12px) between components or below md (24px) between sections; the design relies on generous white-space to feel curated and intentional.
- Don't use rounded corners smaller than 6px (rounded.DEFAULT) on buttons or inputs; the soft-technical philosophy requires a minimum 6px–8px radius for approachability.
- Don't apply text-shadow to body text or large headlines; reserve text-shadow (0 2px 4px rgba(0, 0, 0, 0.25)) only for small labels over busy or dark backgrounds.
- Don't mix multiple typefaces; InterVariable is the single typeface family across all scales. Avoid system fonts or serif alternatives unless explicitly approved for display use.
Edit, then copy or download.