Skip to content

HashiCorp Design System

A near-black canvas where Terraform purple, Vault yellow and Consul pink mark each product, set in hashicorpSans. Tokens for React, Next.js and AI tools.

Primary color
#000000
Typeface
hashicorpSans
Shape
Mixed
Base radius
8px
Colors
30
Type tokens
12
Components
22
Spacing values
9

About HashiCorp DESIGN.md

Curated by Dov Azencot, updated May 12, 2026. Source hashicorp.com (opens in a new tab).

HashiCorp's marketing brand is one of the most disciplined dark-canvas systems on the web. Every public page sits on pure black #000000, lifts to charcoal #15181e for cards, and uses a system of per-product accent colors — Terraform purple, Vault yellow, Consul red, Waypoint cyan, Vagrant blue, Nomad green, Boundary coral — to signal which tool a given section represents. The accents are identity tokens, not decoration: a Terraform card lifts onto a violet ground, a Vault card onto yellow, a Waypoint card onto cyan. A reader scrolling the homepage can tell which product a section belongs to from the corner of their eye, before reading a single word.

This page packages all of that into a single DESIGN.md file. Inside: 30 colors tokens grouped into brand, surface, hairline, text, per-product identity, and semantic bands; 12 typography styles spanning an 80px display down to 12px eyebrow; 8 corner-radius tokens; 9 spacing values built on an 8px base; and 22 components covering buttons (white, charcoal, ghost, and per-product variants), cards (feature, pricing, resource, and chromatic product cards), inputs, pills, comparison rows, CTA banners, navigation, and footer. The format is the Google Labs DESIGN.md spec.

Feed the file to Claude, Cursor, or GitHub Copilot and the agent reproduces HashiCorp's specific discipline — black canvas, surface lift instead of shadow, 8px engineered corners, per-product identity surfaces — instead of a generic dark theme. Reference the tokens directly for Tailwind config, CSS variables, or your own component library. The system is worth studying because it solves a hard problem: a multi-product portfolio that has to feel coherent without flattening into a single house color.

What makes it distinct

5 highlights

  1. Per-product identity paletteTerraform #7b42bc, Vault #ffcf25, Consul #e62b1e, Waypoint #14c6cb, Vagrant #1868f2, Nomad #00ca8e, Boundary #f24c53
  2. Black-only marketing canvas#000000 carries hero, body, pricing, and footer; no light mode in the public surface
  3. Surface lift over shadowCanvas to surface-1 (#15181e) to surface-2 (#1f232b) handles elevation, never drop shadows
  4. Engineered CTA shape8px rounded buttons, not pills; reads as developer-tool not consumer-app
  5. One typeface across the scaleHashicorpSans at 500/600/700 carries display, body, and microcopy with no mono

30 colors

HashiCorp's system anchors on #000000 (primary) as its primary color. Type is set in hashicorpSans across 12 tokens from 12px to 80px, weights 500–700. Shape language is mixed across 22 components, blending pills, soft rounds, and squarer corners.

Brand & Accent

Sparing, CTA-only voltage · 2

Surface

Page and card backgrounds · 4

Text

Headlines, body, captions · 5

Borders & Hairlines

Dividers, outlines, rules · 2

Semantic

Status, errors, success, links · 3

Other

Specialty colors · 14

12 type tokens

Set in hashicorpSans across 12 tokens, from 12px to 80px, weights 500–700. Shown in its own stack: where the font isn't installed, the fallback the file names stands in.

  • display-xl80px · weight 700 · lh 1.17 · tracking -2.5pxThe quick brown fox jumps over the lazy dog
  • display-lg56px · weight 700 · lh 1.18 · tracking -1.6pxThe quick brown fox jumps over the lazy dog
  • display-md40px · weight 600 · lh 1.19 · tracking -1.0pxThe quick brown fox jumps over the lazy dog
  • headline28px · weight 600 · lh 1.21 · tracking -0.6pxThe quick brown fox jumps over the lazy dog
  • card-title22px · weight 600 · lh 1.18 · tracking -0.4pxThe quick brown fox jumps over the lazy dog
  • subhead20px · weight 600 · lh 1.35 · tracking -0.2pxThe quick brown fox jumps over the lazy dog
  • body-lg18px · weight 500 · lh 1.69The quick brown fox jumps over the lazy dog
  • body16px · weight 500 · lh 1.5The quick brown fox jumps over the lazy dog
  • body-sm14px · weight 500 · lh 1.71The quick brown fox jumps over the lazy dog
  • caption13px · weight 500 · lh 1.38 · tracking 0.2pxThe quick brown fox jumps over the lazy dog
  • button14px · weight 600 · lh 1.29The quick brown fox jumps over the lazy dog
  • eyebrow12px · weight 600 · lh 1.23 · tracking 0.6pxThe quick brown fox jumps over the lazy dog

Radii and spacing

8 corner radii and 9 spacing values. Shape language: mixed, on a 8px base radius.

Radii8

  • xs4px
  • sm6px
  • md8px
  • lg12px
  • xl16px
  • xxl24px
  • pill9999px
  • full9999px

Spacing9

  • hair1px
  • xxs4px
  • xs8px
  • sm12px
  • md16px
  • lg24px
  • xl32px
  • xxl48px
  • section96px

22 components

Each rendered from its tokens (color, type, radius, padding) on HashiCorp's own canvas.

  • Button Primary
    Button Primarybutton-primary
  • Button Primary Pressed
    Button Primary Pressedbutton-primary-pressed
  • Button Secondary
    Button Secondarybutton-secondary
  • Button Tertiary
    Button Tertiarybutton-tertiary
  • Button Product Terraform
    Button Product Terraformbutton-product-terraform
  • Button Product Vault
    Button Product Vaultbutton-product-vault
  • Button Product Waypoint
    Button Product Waypointbutton-product-waypoint
  • Product Card
    Product Cardproduct-card
  • Product Card Terraform
    Product Card Terraformproduct-card-terraform
  • Product Card Vault
    Product Card Vaultproduct-card-vault
  • Product Card Waypoint
    Product Card Waypointproduct-card-waypoint
  • Feature Card
    Feature Cardfeature-card
  • Pricing Card
    Pricing Cardpricing-card
  • Pricing Card Featured
    Pricing Card Featuredpricing-card-featured
  • Resource Card
    Resource Cardresource-card
  • Type here…
    Text Inputtext-input
  • Type here…
    Text Input Focusedtext-input-focused
  • Product Pill
    Product Pillproduct-pill
  • Top Nav
    Top Navtop-nav
  • Comparison Row
    Comparison Rowcomparison-row
  • Cta Banner
    Cta Bannercta-banner
  • Footer
    Footerfooter

The system, in use

HashiCorp's tokens on the kind of product it builds.

Marketing heroThe homepage: its nav, a headline and the main call to action.
HashiCorp
Sign up

The fastest way to build and ship software

Deploy from git in seconds, scale on demand and keep every environment in sync.

Start deployingRead the docs
HashiCorpA
Requests2.4M
Deployments148
Error rate0.08%
p95 latency182ms
RequestsLast 30 days

HashiCorp design system FAQ

HashiCorp's tokens, its components and how to use this DESIGN.md in your project.

Use HashiCorp in your project

One machine-readable file. Drop it into Claude Code, Cursor, VS Code or any AI tool that reads DESIGN.md.

Download DESIGN.md
  1. Download the DESIGN.md

    One machine-readable file: every color, type, radius, spacing, and component token of HashiCorp.

  2. Feed it to your AI tool

    Drop it into Claude, Cursor, or GitHub Copilot. The agent writes React components and Tailwind classes that match HashiCorp's visual language.

  3. Reference the tokens directly

    Or paste the values into your Tailwind config, CSS variables, or component library: every color, size and radius is a quoted, ready-to-copy value.

Read the full DESIGN.md overview, rationale, do’s and don’ts

Overview

HashiCorp's marketing canvas is a near-black ground that serves a multi-product portfolio without ever feeling generic. The dominant surface is {colors.canvas} (pure black) layered with {colors.surface-1} charcoal cards and 1px translucent gray hairlines. The chrome is monochrome — white pill-rounded buttons ({components.button-primary}), white type, gray secondary type — but the system is held together by a palette of per-product accent colors that signal which HashiCorp tool a given section belongs to: Terraform purple, Vault yellow, Consul red, Waypoint cyan, Vagrant blue, Nomad green, Boundary coral.

Display type is hashicorpSans at weights 600/700 with tight line-heights (1.17–1.21); body type is the same family at 500 weight with deliberately relaxed line-heights (1.50–1.71) — the contrast feels editorial, not enterprise-templated. CTAs use small {rounded.md} 8px corners rather than pills, which keeps the system reading as developer-facing rather than consumer-y.

The signature device is the product-card family — each HashiCorp product gets its own colored card variant on the home and infrastructure pages, lifting Terraform into a violet ground, Vault into yellow, Waypoint into cyan. These aren't decorative gradients — they're identity surfaces. A reader scrolling the page can tell which product a section is about from the corner of their eye.

Key Characteristics:

  • Black-canvas marketing system: {colors.canvas} is the surface for hero, body, pricing, comparison tables, and footer alike.
  • Per-product color identity: Terraform {colors.product-terraform}, Vault {colors.product-vault}, Waypoint {colors.product-waypoint}, Vagrant {colors.product-vagrant}, Consul {colors.product-consul}, Nomad {colors.product-nomad}, Boundary {colors.product-boundary} — each with its own button + card variant.
  • Display headlines run hashicorpSans 600/700 with line-height 1.17–1.21 (tight); body runs the same family at 500 with 1.50–1.71 (relaxed) — the proportional gap is the brand's voice.
  • CTA shape is {rounded.md} 8px — not a pill — keeping the system reading as developer-tool rather than consumer-app.
  • Charcoal surface lift (canvas → surface-1 → surface-2) instead of shadow-driven elevation.
  • 1px translucent gray hairlines (rgba(178,182,189,0.1)) define cards and dividers — the borders are felt more than seen.
  • Eyebrow typography (12–13px, 600 weight, 0.6px positive tracking, uppercase) marks every section as a category label.

Known Gaps

  • The exact product-color hex values come from the --mds-color-* CSS variable set extracted directly; they are HashiCorp's canonical brand spec.
  • Shadow tokens are not extensively documented because the dark surface system uses surface lift instead of shadow elevation.
  • Form-field error and validation styling is not visible on the inspected pages.
  • Dark mode is the only marketing mode — light-mode adaptation is not documented.
  • Product-card variants for Consul, Nomad, Vagrant, and Boundary follow the documented Terraform / Vault / Waypoint pattern but are referenced in prose only; if they need formal entries they can be added as product-card-consul, product-card-nomad, etc.

Build it with Pro

The DESIGN.md files are free. Pro adds 6,000+ blocks, premium templates and the MCP server, so your AI editor builds in your system for you.

4.9/5 out of 5 · 150+ reviewsfrom 150+ founders and developers.

Billed once a year in USD. Cancel anytime.

Individual

For personal projects & open source

$32instead of $49/mo

$389 billed yearly

  • How many people can use the license.Seats: 1 seat
  • Client work, SaaS products and anything you charge for.Commercial use: Personal & open source only
  • Page sections in 56 categories, from heroes and pricing tables to dashboards and settings, on every framework and UI library, in your theme.Blocks: All 6,181 blocks
  • Complete Next.js sites for startups, SaaS, agencies and portfolios, every page designed, ready to ship.Templates: All 14 templates
  • Your AI agent searches, previews and installs any component, block, icon or DESIGN.md from a prompt: 22 tools in Claude Code, Cursor, VS Code and 35 more clients.MCP server: 38 AI clients
  • Buttons with motion and states of their own, from an arrow that slides in to a burst of confetti.Animated buttons: All 35 buttons
  • Typewriters, scrambles, counters and more, for headlines, labels and numbers.Text effects: All 97 effects
  • Animated backgrounds for heroes, sections and cards, from a soft aurora to a flock that flees the cursor. Most are pure CSS.Backgrounds: All 100 backgrounds
  • WebGPU shaders, from a slow aurora to a black hole, each drawing only while it's on screen.Shaders: All 100 shaders
  • One design and one theme on all four: the components, blocks and effects are built for each framework.Frameworks: React, Vue, Svelte, Solid
  • React on Base UI, Radix UI, React Aria or Ark UI: install the version for the library your project already uses. Vue, Svelte and Solid run on Ark UI.UI libraries: Base UI, Radix, Aria, Ark
  • From a button to a date picker, a color picker or a guided tour: accessible, typed in TypeScript, each with live demos.Components: All 174 components
  • Real-world patterns built from the components, in 53 galleries: forms, tables, menus, dialogs and more.Examples: All 1,103 examples
  • Area, bar, line, pie, radar and radial charts on TanStack Charts, on every framework. React also gets the Recharts originals.Charts: All 70 charts
  • Debounce, local storage, media queries and more: each hook is one typed file you own.React hooks: All 35 hooks
  • From 222 libraries, Lucide, Heroicons, Tabler and Material Symbols among them, as SVG or a React component in one command.Icons: 294k+ icons
  • Stripe, Linear, Apple and 497 more: a brand's colors, typography and components in one file your AI agent builds from.DESIGN.md files: All 500 brands
  • Restyle every component and block at once: 8 styles, 8 grays, 18 colors and 5 radii, shared as a shadcn preset code.Theme builder: 8 styles × 18 colors
  • Priority requests are answered first.Support: Standard

Team

Most popular

For freelancers, agencies & startups

$66instead of $99/mo

$789 billed yearly · ≈ $13/dev/mo

Everything in Individual, plus

  • How many people can use the license.Seats: Up to 5 seats
  • Client work, SaaS products and anything you charge for.Commercial use: Included
  • Priority requests are answered first.Support: Priority

Organization

For companies with larger teams

$132instead of $199/mo

$1,589 billed yearly

Everything in Team, plus

  • How many people can use the license.Seats: Unlimited seats
  • Secure checkout via Stripe
  • Code lives in your repo
  • Keep what you've shipped if you cancel
  • License terms

4.9 out of 5 from 150+ developers

Your system, built for you

Every block, template and icon, installed by your AI agent in your design system. The DESIGN.md files stay free.

Get Pro
  • Cancel anytime
  • Keep what you've shipped