DESIGN.md · Analysis

Retool

retool.com · 13 Jul 2026 · 47 colors · Saans, Px Grotesk

Retool

Retool is a unified platform for building, deploying, and managing internal tools with AI-powered capabilities. The design system emphasizes technical sophistication with a dark, minimalist aesthetic that prioritizes clarity and enterprise credibility.

Colors

surface#151515
surface-dim#0a0a0a
surface-bright#2a2a2a
surface-container-lowest#0f0f0f
surface-container-low#1a1a1a
surface-container#1f1f1f
surface-container-high#2d2d2d
surface-container-highest#3a3a3a
on-surface#e9ebdf
on-surface-variant#b8bab0
inverse-surface#e9ebdf
inverse-on-surface#151515
outline#8b867f
outline-variant#5a5652
surface-tint#518dd2
primary#d9d9d9
on-primary#151515
primary-container#a8a8a8
on-primary-container#151515
inverse-primary#151515
secondary#518dd2
on-secondary#ffffff
secondary-container#2d4c71
on-secondary-container#b0ccea
tertiary#c72844
on-tertiary#ffffff
tertiary-container#793325
on-tertiary-container#f6d6a0
error#ff6b6b
on-error#ffffff
error-container#8b0000
on-error-container#ffb3b3
primary-fixed#d9d9d9
primary-fixed-dim#a8a8a8
on-primary-fixed#151515
on-primary-fixed-variant#2a2a2a
secondary-fixed#b0ccea
secondary-fixed-dim#518dd2
on-secondary-fixed#0a1f33
on-secondary-fixed-variant#2d4c71
tertiary-fixed#f6d6a0
tertiary-fixed-dim#c72844
on-tertiary-fixed#3d1515
on-tertiary-fixed-variant#793325
background#151515
on-background#e9ebdf
surface-variant#3a3a3a

Typography

display
fontFamily: Saans · fontSize: 68px · fontWeight: 300 · lineHeight: 76px · letterSpacing: -0.02em
headline-lg
fontFamily: Saans · fontSize: 48px · fontWeight: 400 · lineHeight: 56px · letterSpacing: -0.015em
headline-md
fontFamily: Saans · fontSize: 36px · fontWeight: 400 · lineHeight: 44px · letterSpacing: -0.01em
title-lg
fontFamily: Px Grotesk · fontSize: 24px · fontWeight: 600 · lineHeight: 32px · letterSpacing: 0em
body-lg
fontFamily: ui-sans-serif, system-ui, sans-serif · fontSize: 18px · fontWeight: 400 · lineHeight: 28px · letterSpacing: 0em
body-md
fontFamily: ui-sans-serif, system-ui, sans-serif · fontSize: 16px · fontWeight: 400 · lineHeight: 24px · letterSpacing: 0em
label-md
fontFamily: Px Grotesk · fontSize: 14px · fontWeight: 600 · lineHeight: 20px · letterSpacing: 0.01em
label-sm
fontFamily: Px Grotesk · fontSize: 12px · fontWeight: 500 · lineHeight: 16px · letterSpacing: 0.02em

Design guidance

Overview

Retool is an enterprise-grade internal tools platform that embodies a philosophy of 'Technical Minimalism'—where sophisticated functionality is expressed through restrained, purposeful design. The visual language prioritizes clarity and speed: a near-black canvas (#151515) with warm, off-white text (#e9ebdf) creates high contrast for readability, while strategic accent colors (a cool blue #518dd2 for primary actions, a deep crimson #c72844 for warnings) provide visual hierarchy without distraction. The aesthetic is deliberately austere, evoking the precision of engineering dashboards and the confidence of enterprise software—users trust Retool because the interface gets out of the way. The brand personality is direct, technical, and unapologetically professional: voice is concise and jargon-aware, never patronizing. Example: 'Connect any database. Query in milliseconds. Deploy in minutes.'

Colors

The color system is built on a dark-first foundation with three distinct accent roles. **Primary surface** (#151515, rgb(21, 21, 21)) anchors the entire interface—it is the page background and the dominant container color, chosen for reduced eye strain in enterprise environments and to emphasize content. **On-surface text** (#e9ebdf, rgb(233, 235, 223)) is a warm off-white that sits atop the dark surface with a luminance contrast ratio of 16:1, exceeding WCAG AAA standards. **Primary action color** (#d9d9d9, rgb(217, 217, 217)) is a light gray used exclusively for primary CTAs ('Book a demo', 'Start for free') and interactive elements; it is not a neutral but a deliberate accent that draws the eye. **Secondary accent** (#518dd2, rgb(81, 141, 210)) is a cool blue reserved for secondary acti

Typography

The type system employs a two-family strategy: **Saans** (a geometric sans-serif) is reserved for headlines and display text, where its light weight (300–400) and generous letterSpacing (-0.02em to -0.01em) create an airy, premium feel befitting enterprise positioning. **Px Grotesk** (a technical monospace-influenced grotesque) handles labels, buttons, and UI chrome, where its uniform stroke weight and tight tracking (0.01em to 0.02em) reinforce precision and machine-like reliability. Body text defaults to system fonts (ui-sans-serif, system-ui) for optimal rendering across platforms. The display level (68px, 300 weight, 76px line-height) is reserved for hero headlines and sets the tone for the entire page; headline-lg (48px, 400 weight) is used for section titles; body-md (16px, 400 weigh

Layout

The layout system uses a 12-column grid with a max-width of 1280px, maintaining a fluid layout on mobile and tablet while constraining content on desktop to prevent line-length fatigue. The gutter is consistently 24px, applied symmetrically to all container edges. Vertical rhythm is established through the spacing scale: lg (40px) separates major sections (hero, feature blocks, testimonials), md (24px) separates subsections and card groups, and sm (12px) separates inline elements. The hero section uses full-width background imagery with a semi-transparent dark overlay (rgba(0, 0, 0, 0.4)) to ensure text legibility; content is centered and padded with xl (64px) top/bottom spacing. Cards and containers use md (24px) internal padding and are separated by lg (40px) margins. The container-max o

Elevation & Depth

Depth is conveyed through a three-tier shadow system paired with subtle background color shifts. **Level 1 (Base)**: no shadow; surface-container (#1f1f1f) background. **Level 2 (Standard Card)**: box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06); background: surface-container (#1f1f1f). **Level 3 (Modal/Elevated)**: box-shadow: 0 15px 45px rgba(0, 0, 0, 0.1); background: surface-container (#1f1f1f) with a 1px border at surface-container-high (#2d2d2d). Hover states elevate cards to Level 2 via a smooth 200ms transition. The modal overlay uses a semi-transparent

Shapes

The shape philosophy is **Architectural Precision**: rounded corners are used sparingly and consistently to signal interactivity without compromising the technical aesthetic. Buttons and input fields use a 12px border-radius (rounded.lg), which is large enough to feel approachable but not so large as to appear playful. Cards and modals use 12px (rounded.lg) for consistency with buttons, creating a cohesive visual language. Badges and pills use 9999px (rounded.full) to indicate non-interactive status indicators. The rationale: sharp 90° corners would feel cold and dated; excessive rounding (24p

Components

Action Elements Buttons are the primary interaction mechanism and use a strict two-state system: **button-primary** (backgroundColor: #d9d9d9, textColor: #151515, padding: 8px 12px, height: 40px, rounded: 12px) for main CTAs like 'Book a demo' and 'Start for free'. On hover, the background shifts to #a8a8a8 (primary-container) with a 200ms transition. **button-secondary** (backgroundColor: transparent, border: 1px solid #5a5652, textColor: #d9d9d9, padding: 8px 12px, height: 40px, rounded: 12px) is used for tertiary actions and navigation links; on hover, the background becomes surface-container-high (#2d2d2d) and the border shifts to outline (#8b867f). **button-accent** (backgroundColor: #518dd2, textColor: #ffffff, padding: 8px 12px, height: 40px, rounded: 12px) is reserved for secon

Do's and Don'ts

**Do**

  • Do use primary gray (#d9d9d9) exclusively for main CTAs—it is the most scannable color on the dark canvas and should never be diluted across secondary actions.
  • Do apply the 200ms cubic-bezier(0.4, 0, 0.2, 1) transition to all interactive state changes (hover, focus, active) to create a sense of precision and responsiveness.
  • Do maintain at least 16:1 luminance contrast between on-surface text (#e9ebdf) and the surface background (#151515) to meet WCAG AAA standards and ensure accessibility.
  • Do use the secondary blue (#518dd2) for focus states and data highlights—it provides visual separation from the primary gray without competing for attention.
  • Do constrain content to the 1280px max-width container on desktop to prevent line-length fatigue and maintain readability of body text.

**Don't**

  • Don't use the primary gray (#d9d9d9) for body text or backgrounds—it is reserved exclusively for interactive elements and CTAs.
  • Don't apply border-radius greater than 16px to any component; excessive rounding undermines the technical, precision-focused aesthetic.
  • Don't use animations longer than 300ms or easing functions other than cubic-bezier(0.4, 0, 0.2, 1)—the interface should feel responsive, not sluggish.
  • Don't mix the tertiary crimson (#c72844) with the secondary blue (#518dd2) in the same visual context; they compete for attention and create visual noise.
  • Don't apply box-shadows with blur radius greater than 45px—the interface should feel grounded and technical, not ethereal or floating.