BrandToPrompt

Ecosia Design System: Sustainable Minimalist UI

Visit Site

Explore Ecosia's design system - earthy colors, clean typography, and friendly UI components. Discover how Ecosia builds trust through sustainable design.

7 min read1,293 words

Brand Identity

Color Palette

Primary
Secondary

Typography

Primary Font
Inter
Secondary Font
Founders Grotesk

Design Style

Style
utilitarian minimalist with subtle shadows and earthy accents
Visual Density
airy layout with 80px+ vertical rhythm and 8px base grid
Border Style
universally pill-shaped 9999px radius buttons

Full Analysis

Ecosia Design System Deep Dive

1. Brand Overview

Ecosia isn’t your average search engine. Its whole pitch is “search the web, plant trees.” The product’s identity is heavily rooted—literally—in environmental activism. That ethos bleeds into their design system: earthy greens, natural yellows, straightforward sans-serif typography, and UI patterns that feel friendly without shouting.

From a design point of view, they lean toward minimal interaction ornamentation and clear functional components. Buttons are pill-shaped, shadows are subtle, and typography is entirely sans-serif for clean readability. This is a civic-tech vibe: it’s not trying to impress you with fancy motion, it’s trying to keep you on mission. There’s an awareness that the brand message (and numbers of trees planted) is more important than dazzling you with dribbble-worthy flourishes.

What stands out?

  • They don’t overuse their greens. It’s tempting for eco-brands to paint the whole UI green; Ecosia keeps it dialed in. Green is for accent, not background overwhelm.
  • The primary text color is a deep neutral (#333333), not black. This softens contrast just enough for warmth but still passes accessibility.
  • Buttons are distinctly pill-shaped with border-radius: 9999px—a hell of a commitment to the rounded motif. This makes them instantly recognizable as touch targets.
  • Typography is largely Founders Grotesk and Inter, a modern sans pairing that covers branding moments (Grotesk) and utility/UI copy (Inter). No decorative type, no italics, no script.

Their audience is broad—they’re a search engine—but the people who stick around care about ethics, sustainability, and transparency. That bleeds into the design decisions: clarity over flair, trust-building over experimentation.

I also like what they don’t do: no endless color gradients, no tiny low-contrast fonts. It’s a solid utilitarian base layered with personality through color pops.


2. Color System

2.1 Primary Colors

Their "semantic primary" is #6c6c6c (rgb(108,108,108))—a muted gray. That’s unusual: most brands put a saturated hue here. But Ecosia’s “primary” slot here seems to be system-defined, not “marketing primary.” The emotional primary is actually the leaf green (#bbcf65 hover, #d7eb80 default CTA) and the deep woodsy green from tokens (#275243). The muted gray primary fits the UI’s calm base.

Why it works:

  • Gray as primary keeps neutrality across a search UI, where links, forms, and results must be legible without color contamination.
  • Color pops (leaf green, highlight yellow) jump out without needing banners or icons to indicate action.

Compared to Google: Google’s palette uses blue for links, colors for logo. Ecosia is less brand-noisy, more in service of the mission than corporate identity.

2.2 Complete Palette

Color NameHexRoleUsage
Neutral Dark#333333Base textButtons, headers, CTAs
Neutral Gray (Primary Semantic)#6c6c6cLink textLink body, muted text
White#ffffffSurfaceButtons, backgrounds
Leaf Green CTA#d7eb80CTA bgPrimary CTA default background
Deep Neutral#252525Borders/textButton borders/surface contrast
Light Neutral Gray#bebeb9BordersInputs, dividers
Semi-Transparent Neutralrgba(51, 51, 51, 0.16) → #333333Hover overlayHover/focus states
Mid Neutral Gray#4c4c4cHover statesVarious hover/focus fx
Mid Neutral RGBArgba(76, 76, 76, 1) → #4c4c4cHover statesHover shadow/focus
Leaf Green Hover#bbcf65CTA hoverHover active states
Light Border Gray#deded9DividersSection dividers
Accent Blue#0193c5Focused statesLinks, focus outlines
Negative Button#8E0624DangerDelete flows
Negative Active#E71140Danger activeActive destructive
Negative Hover#B90A32Danger hoverHover destructive
Green Leaf Icon Bottom#006600IconsDecorative leaf icons
Green Leaf Icon Top#008009IconsDecorative leaf icons
Fossil Fuel Icon Top#8F4759IconsDecorative fossil motifs
Fossil Fuel Icon Bottom#632f3CIconsDecorative fossil motifs
Background Secondary#275243SurfacesBrand secondary backgrounds
Decorative Border#deded9DividersBorder lines
Text Overline Secondary#F7BC00Text highlightOverlines, highlight text
Featured Hover#BBCF65ButtonsFeatured button hover
Featured Active#A1B353ButtonsFeatured button active
Overlay Primaryrgba(76, 76, 76, .5) → #4c4c4cOverlayOverlay layer
Background Quaternary#f0f0ebPage bgSecondary surfaces
Focused#0094C7Focus outlineInput, button focus
Tripadvisor Rating#00aa6cRatingsReview star icons
Video Background#000000Media bgVideoplayer bg

2.3 Color Relationships

They balance earthy greens, warm yellows, and muted grays. Accessibility is mostly good—dark text on light surfaces has > 4.5:1 contrast. However, the lighter greens (#d7eb80, #bbcf65) on white might fail WCAG for small text; they use them for large surface elements or saturated backgrounds, not for text.

Blue (#0193c5) appears only in functional states (link hover/focus) and is left out of decorative contexts—keeping brand greens uncontaminated.

Dark mode? Not implemented here. All values are built for light backgrounds. If adapting to dark, greens and yellows would need to be tweaked for contrast against deep surfaces.

2.4 Usage Guide

Works well:

  • Dark neutral (#333333) text on pale greens or whites.
  • Leaf greens for background + white text on buttons (featured variant).
  • Yellow (#F7BC00) for small accents, badges—avoid large surfaces.

Avoid:

  • Using pale green (#d7eb80) for text—it washes out quickly.
  • Mixing decorative fossil colors (#8F4759, #632f3C) into UI controls—they’re purely iconographic.
  • Blue focus (#0094C7) with saturated green backgrounds—clashes.

3. Typography

3.1 Font Families

Primary headline face: Founders Grotesk with fallbacks to Inter, helvetica, arial. Used in large headings—brand-conveying moments.

UI and body: Inter with fallbacks to helvetica, arial.
Google Fonts: none loaded in data; they’re likely self-hosted or local.

No variable fonts, no Adobe subscription fonts detected.

3.2 Type Scale

ElementFontSizeWeightLine Height
heading-1Founders Grotesk54px4001.10
heading-1Founders Grotesk54px7001.30
heading-1Founders Grotesk48px7001.10
heading-1Founders Grotesk36px7001.30
heading-1Inter24px7001.40
heading-1Founders Grotesk24px7001.40
heading-1Founders Grotesk24px4001.40
buttonInter18px4001.15
heading-1Inter18px4001.15
heading-1Inter18px5001.15
linkInter18px4001.40
heading-1Inter16px4001.40
heading-1Inter16px7001.50
buttonInter16px4001.15
heading-1Inter16px4001.15
heading-1Inter16px5001.15
linkInter16px4001.40
linkInter16px4001.40
heading-1Inter16px7001.15
heading-1 (uppercase)Inter16px7001.40
captionInter14px4001.40
linkInter14px4001.40
captionInter14px7001.50
captionInter (uppercase)14px7001.40
captionInter14px6001.40
buttonInter14px4001.40
captionInter12px4001.40
linkInter12px4001.40
captionInter10px7001.15

3.3 Hierarchy

Founders Grotesk in large sizes sets tone for brand storytelling—used in hero headings. Inter covers everything else to keep UI consistent and practical.

Hierarchy is clear:

  • 54px for page hero, 48px/36px for sub-hero headlines.
  • 24px for section titles, matched in Founders Grotesk or Inter.
  • Buttons vary between 14–18px depending on emphasis.
  • Captions drop to 10px for microcopy.

No over-tight letterspacing; widths remain generous for readability.


4. Spacing & Layout

4.1 Spacing Scale

Base scale: 8px grid.

Values extracted:

pxremCountNotes
0.593750.04rem4Micro-adjustments
10.06rem1Borders
20.13rem2Icon padding
3.18750.20rem2Fine-tuning spacing
40.25rem4Tight gaps
80.50rem13Small gap unit
120.75rem11Inside component spacing
161.00rem26Button padding, body margins
19.921.25rem2Odd sizing
201.25rem6Medium gaps
322.00rem6Section gaps
36.182.26rem2Specific layouts
402.50rem8Large padding
805.00rem8Hero sections
1006.25rem4Huge hero spacing

4.2 Layout

Breakpoints extracted:

  • 399px, 400px, 549px, 550px, 700px, 767px, 768px, 1079px, 1080px, 1280px, 1290px, 1440px, 1920px.

Clearly tuned for very granular responsive tweaks—likely adjusting nav, hero content, and search bar width at common device widths.


5. Visual Elements

Border Radius

Values:

  • 0px 0px 10px 10px — listbox
  • 0px 9999px 9999px 0px — search input ends
  • 4px — common, for links
  • 10px — dialog, button, images
  • 20px — divs, sections
  • 40px — inputs (full round ends)
  • 40px 0px 0px 40px — input variant
  • 9999px — pill buttons, nav chips
  • 50% — images (circle avatars)

Shadows

  • rgba(26, 26, 26, 0.18) 0px 1px 2px 0px, rgba(26, 26, 26, 0.06) 0px 0px 8px 0px — default elevation.
  • rgba(26, 26, 26, 0.18) 0px 2px 4px 0px, rgba(26, 26, 26, 0.06) 0px 0px 12px 0px — medium elevation.
  • rgba(0, 0, 0, 0.2) 0px 11px 33px 0px — heavy, rare.

They keep shadows subtle; base UI feels flat with micro-elevation where needed.

Borders

Common: 1px solid deep neutral (#252525) or white. Also brand greens for CTA outlines.


6. Components

6.1 Buttons

All buttons share pill-shaped border-radius: 9999px. Padding usually 0px 15px.

Neutral outline button:
Default: transparent bg, #333 text, 1px solid #252525 border.
Hover/Active: brand-secondary hover colors (--color-button-background-secondary-hover).
Focus: 2px solid focus blue (#0094C7).

Solid dark button:
Default: #333 bg, white text, 1px solid #333 border.
Same hover/active/focus logic.

Leaf green button:
Default: #d7eb80 bg, #333 text. Border: same green.
Hover: #bbcf65, active: transparent bg, #333 text.

White button:
Default: white bg, #333 text, white border.
Hover: highlight primary.

6.2 Links

Three patterns:

  • Black (#333) underline default, underline hover.
  • White (#fff) no underline default, underline hover.
  • Gray (#6c6c6c) underline default and hover.

6.3 Inputs

Search inputs: clear bg, #333 text, no border by default. Focus: border color var(--color-form-border-primary-active).

6.4 Cards

Not directly in extracted data—cards probably use shadows from layer-1 (var(--color-elevation-layer-1)) and border-radius 10px or 20px.


7. Design Tokens

:root {
  /* Colors */
  --color-neutral-dark: #333333;
  --color-neutral-gray-primary: #6c6c6c;
  --color-white: #ffffff;
  --color-leaf-green-cta: #d7eb80;
  --color-deep-neutral: #252525;
  --color-light-neutral-gray: #bebeb9;
  --color-leaf-green-hover: #bbcf65;
  --color-light-border-gray: #deded9;
  --color-accent-blue: #0193c5;
  --color-negative: #8E0624;
  --color-negative-active: #E71140;
  --color-negative-hover: #B90A32;
  --color-green-leaf-bottom: #006600;
  --color-green-leaf-top: #008009;
  --color-fossil-top: #8F4759;
  --color-fossil-bottom: #632f3C;
  --color-background-secondary: #275243;
  --color-text-overline-secondary: #F7BC00;
  --color-featured-hover: #BBCF65;
  --color-featured-active: #A1B353;
  --color-overlay-primary: rgba(76, 76, 76, .5);
  --color-background-quaternary: #f0f0eb;
  --color-focused: #0094C7;
  --color-tripadvisor-rating: #00aa6c;
  --color-video-background: #000000;

  /* Typography */
  --font-founders-grotesk: "Founders Grotesk", Inter, helvetica, arial;
  --font-inter: Inter, helvetica, arial;
  --font-size-h1-lg: 54px;
  --font-size-h1-md: 48px;
  --font-size-h1-sm: 36px;
  --font-size-body-lg: 24px;
  --font-size-body-md: 18px;
  --font-size-body-sm: 16px;
  --font-size-caption: 14px;
  --font-size-small-caption: 12px;
  --font-size-micro: 10px;

  /* Spacing */
  --space-base: 8px;
  --space-1: 1px;
  --space-2: 2px;
  --space-4: 4px;
  --space-8: 8px;
  --space-12: 12px;
  --space-16: 16px;
  --space-20: 20px;
  --space-32: 32px;
  --space-40: 40px;
  --space-80: 80px;
  --space-100: 100px;

  /* Radius */
  --radius-sm: 4px;
  --radius-md: 10px;
  --radius-lg: 20px;
  --radius-xl: 40px;
  --radius-full: 9999px;

  /* Shadows */
  --shadow-sm: rgba(26, 26, 26, 0.18) 0px 1px 2px 0px, rgba(26, 26, 26, 0.06) 0px 0px 8px 0px;
  --shadow-md: rgba(26, 26, 26, 0.18) 0px 2px 4px 0px, rgba(26, 26, 26, 0.06) 0px 0px 12px 0px;
  --shadow-lg: rgba(0, 0, 0, 0.2) 0px 11px 33px 0px;
}

8. AI Coding Assistant Prompt

# Ecosia Design System Specification

You are an Ecosia design expert. Build UIs matching their visual language exactly.

## Brand Context
Ecosia is a sustainability-focused search engine with a clean, neutral UI accented by earthy greens and warm yellows. Typography is all sans-serif, pairing a branding-friendly headline face with a utilitarian UI font. Controls are friendly pill shapes, shadows are subtle, and color pops are carefully rationed.

## Color Palette
- Neutral Dark: #333333 — Base text, buttons, headers
- Neutral Gray Primary: #6c6c6c — Muted links, subdued text
- White: #ffffff — Surfaces, button backgrounds
- Leaf Green CTA: #d7eb80 — CTA default background
- Leaf Green Hover: #bbcf65 — CTA hover background
- Deep Neutral: #252525 — Borders, text
- Light Neutral Gray: #bebeb9 — Input borders
- Light Border Gray: #deded9 — Dividers
- Accent Blue: #0193c5 — Hover/focus states
- Focused Blue: #0094C7 — Component focus outlines
- Background Secondary: #275243 — Brand secondary surfaces
- Negative: #8E0624 — Danger states
- Negative Active: #E71140 — Danger active state
- Negative Hover: #B90A32 — Danger hover
- Green Leaf Icon Bottom: #006600 — Decorative icon
- Green Leaf Icon Top: #008009 — Decorative icon
- Fossil Fuel Icon Top: #8F4759 — Decorative icon
- Fossil Fuel Icon Bottom: #632f3C — Decorative icon
- Text Overline Secondary: #F7BC00 — Highlights
- Featured Hover: #BBCF65 — Featured button hover
- Featured Active: #A1B353 — Featured button active
- Overlay Primary: rgba(76, 76, 76, .5) — Overlay layers
- Background Quaternary: #f0f0eb — Secondary page bg
- Tripadvisor Rating: #00aa6c — Ratings
- Video Background: #000000 — Media bg

## Typography
Fonts:
- Headings: "Founders Grotesk", Inter, helvetica, arial
- Body/UI: Inter, helvetica, arial

Sizes/Line Heights:
| Level | Font | Size | Weight | Line Height | Use |
|-------|------|------|--------|-------------|-----|
| H1-lg | Founders Grotesk | 54px | 400 | 1.10 | Hero headline |
| H1-lg-bold | Founders Grotesk | 54px | 700 | 1.30 | Emphatic headline |
| H1-md | Founders Grotesk | 48px | 700 | 1.10 | Section hero |
| H1-sm | Founders Grotesk | 36px | 700 | 1.30 | Subheading |
| Title | Inter | 24px | 700 | 1.40 | Section title |
| Body-lg | Inter | 18px | 400 | 1.15 | Button text/UI |
| Body-md | Inter | 16px | 400 | 1.40 | Paragraph text |
| Caption | Inter | 14px | 400 | 1.40 | Caption text |
| Small-caption | Inter | 12px | 400 | 1.40 | Small caption |
| Micro | Inter | 10px | 700 | 1.15 | Badges |

## Spacing & Grid
Base: 8px
Scale: 1px, 2px, 4px, 8px, 12px, 16px, 20px, 32px, 40px, 80px, 100px

## Border Radius
- sm: 4px — Links
- md: 10px — Dialogs, buttons, images
- lg: 20px — Sections
- xl: 40px — Inputs
- full: 9999px — Pills, chips
- circle: 50% — Avatars

## Shadows & Depth
- shadow-sm: rgba(26, 26, 26, 0.18) 0px 1px 2px 0px, rgba(26, 26, 26, 0.06) 0px 0px 8px 0px
- shadow-md: rgba(26, 26, 26, 0.18) 0px 2px 4px 0px, rgba(26, 26, 26, 0.06) 0px 0px 12px 0px
- shadow-lg: rgba(0, 0, 0, 0.2) 0px 11px 33px 0px

## Component Specifications

### Primary Button (Leaf Green CTA)
Default:
```css
background-color: #d7eb80;
color: #333333;
padding: 0px 15px;
border-radius: 9999px;
border: 1px solid #d7eb80;
font-size: 16px;
font-weight: 400;
```
Hover: `background-color: #bbcf65;`  
Active: transparent bg, #333 text  
Focus: outline 2px solid #0094C7

### Secondary Button (Neutral Outline)
Default:
```css
background-color: transparent;
color: #333333;
border: 1px solid #252525;
border-radius: 9999px;
padding: 0px 15px;
font-size: 16px;
```
Hover/Active: use `--color-button-background-secondary-hover` etc.

### Input Field (Search)
```css
background-color: transparent;
color: #333333;
border: none;
padding: 0;
border-radius: 0;
```
Focus: `border-color: var(--color-form-border-primary-active); outline: none;`

### Link Styles
- Dark link: #333 underline default/hover
- White link: #fff no underline default, underline hover
- Gray link: #6c6c6c underline default/hover

## Layout & Responsive Rules
Max widths adjust at:
399px, 400px, 549px, 550px, 700px, 767px, 768px, 1079px, 1080px, 1280px, 1290px, 1440px, 1920px

## Interaction Rules
- Transition: 150ms ease for hover/focus/active changes
- Focus indicators: 2px solid #0094C7
- Disabled: opacity 0.5

## DO List
- Use exact hex from palette—no off-brand tweaks
- Keep all spacing in 8px multiples
- Reserve greens for CTAs, icons, highlights
- Use Founders Grotesk only for headings
- Use pill radius for all buttons

## DON'T List
- Don’t use pale green for text
- Don’t mix fossil icon colors into UI controls
- Don’t add drop shadows heavier than shadow-lg
- Don’t override neutral gray text colors

## Code Examples

Primary Button:
```css
.btn-primary {
  background-color: #d7eb80;
  color: #333333;
  padding: 0px 15px;
  border-radius: 9999px;
  border: 1px solid #d7eb80;
  font-size: 16px;
  font-weight: 400;
  transition: background 150ms ease;
}
.btn-primary:hover { background-color: #bbcf65; }
.btn-primary:focus { outline: 2px solid #0094C7; }
.btn-primary:disabled { opacity: 0.5; }
```

Card:
```css
.card {
  background-color: #ffffff;
  border-radius: 10px;
  padding: 16px;
  box-shadow: var(--shadow-sm);
}
```

Input:
```css
.input-search {
  background-color: transparent;
  color: #333333;
  border: none;
  padding: 0;
}
.input-search:focus { border-color: var(--color-form-border-primary-active); outline: none; }
```

9. Summary

TL;DR — Ecosia’s design system is utilitarian with purpose-driven color pops. Neutral grays lead the UI; greens and yellows are used sparingly for action and highlights. Typography is clean sans-serif, spacing locked to 8px grid, buttons are universally pill-shaped.

Brand Keywords: sustainability-neutral, green-accented, utilitarian-friendly, mission-driven