Sitepeel
Convex website (convex.dev) as measured on November 4, 2026

Developer tools · DESIGN.md · measured November 4, 2026

Convex design system

Convex’s website (convex.dev) uses the neue-haas-grotesk-display font and #38383A as its main color on a #281D1D background. Measured by Sitepeel on November 4, 2026.

  • #281D1D
  • #292929
  • #FFFFFF
  • #38383A
Download DESIGN.md

From convex.dev ↗ · 312 elements at 1440×900 and 390×844 Independent analysis, not affiliated with Convex

Convex color palette

18 colors with hex codes, grouped by where each one is used on the page.

Surfaces

Warm Charcoal#281D1DbackgroundPage background · 2×
Graphite#292929surface-container-lowRaised areas one step from the page · 3×
Charcoal#141414surface-container · --color-neutral-n12Cards and panels · 4×
Warm Charcoal#1A0F0Fsurface-container-highHover and pressed fills · 10×
Graphite#38383Asurface-container-highestHighest raised elements · 5×
White 5%#FFFFFF0DoverlayTranslucent fill for cards and controls · 3×
Warm Mist 25%#FAF4E940overlay-strongStronger translucent fill · 2×

Text

White#FFFFFFon-surface · --tw-ring-offset-colorPrimary text and headings · 64×
Warm Mist#FAF4E9on-surface-variantSecondary text · 6×
Pale Amber#F6EEDBon-surface-muted · --color-antiqueWhiteMuted text and metadata · 14×
Silver#C2C2C2on-surface-subtleSubtle text and placeholders · 9×
White#FFFFFFon-primaryText and icons on primary

Accents

Graphite#38383AprimaryPrimary buttons and calls to action · 5×
Pale Orange#FFD7BFsecondaryAccent in text, fills and borders · 5×
Vivid Amber#F3B01Ctertiary · --color-yellow-y3Accent in logos and imagery · 1×

Borders

Warm Graphite#524946outlineBorders and dividers · 6×
White 15%#FFFFFF26outline-variantSecondary dividers · 4×

Status

Light Orange#F4DCB4warningWarnings and highlights · 6×

Gradients

Convex fonts and type scale

2 families.

Aaneue-haas-grotesk-displayWeights 900neue-haas-grotesk-display, gtAmerica, sans-serif
AagtAmericaWeights 300, 400, 500, 700gtAmerica, sans-serif
headline-displayPage title (h1)Convex60px · 900 · 0.85 · -0.04em
mobile 46px
headline-lgSection headings (h2)The quick brown fox jumps over the lazy dog40px · 700 · 1 · -0.025em
headline-mdSub-section headingsThe quick brown fox jumps over the lazy dog20px · 500 · 1.5
body-mdBody textThe quick brown fox jumps over the lazy dog15px · 400 · 1.25
body-lgLead paragraphsThe quick brown fox jumps over the lazy dog18px · 400 · 1.5
body-smSecondary and small textThe quick brown fox jumps over the lazy dog14px · 300 · 1.5
captionCaptions and fine printThe quick brown fox jumps over the lazy dog12px · 400 · 1.38 · 0.018em
label-lgLarge buttons and tabsThe quick brown fox jumps over the lazy dog16px · 400 · 1.5
label-mdButtons, navigation and labelsThe quick brown fox jumps over the lazy dog15px · 500 · 1.5
label-smSmall labels and badgesThe quick brown fox jumps over the lazy dog14px · 500 · 1.5

Contrast

Text on #281D1D

AaAAA16.3:1
AaAAA14.9:1
AaAAA14.1:1
AaAAA9.1:1

Spacing

4px grid · 90% of values fit

xs4px
sm8px
md12px
lg20px
xl48px
gutter8px
section60px
container576px

Shapes

Corner radii, most used first.

sm4px · 56×
lg8px · 32×
md6px · 20×

Depth

Shadow

Convex UI components

Rebuilt from the measured CSS.

Stripe
button-primaryFilled button
$ npm install @convex-dev/wo
button-outlineOutlined button
npm create convex@latest
button-ghostOutlined button
Inline link
linkInline link

Motion

Interface transitions

0.15s0.3s0.1s
cubic-bezier(0.4, 0, 0.2, 1)cubic-bezier(0, 0, 0.2, 1)

Do’s and don’ts

Rules written from the measurements, so a coding agent stays on style.

  • Use #281D1D for the page and lift surfaces in small steps: #292929, #141414, #1A0F0F, #38383A.
  • Keep text in 4 levels: #FFFFFF, #FAF4E9, #F6EEDB, #C2C2C2.
  • Let contrast carry emphasis; primary actions use #38383A on #281D1D.
  • Set headlines in neue-haas-grotesk-display with tight tracking (-0.04em).
  • Keep spacing on the 4px grid.
  • Use 4px corners on most elements; larger surfaces also use 8px and 6px.
  • Introduce new font families beyond neue-haas-grotesk-display and gtAmerica.
  • Add saturated accent colors; the measured palette is almost entirely neutral.
  • Make interface transitions slower than 0.3s.
Convex DESIGN.md226 lines

Fonts

What font does Convex use?

Convex uses neue-haas-grotesk-display (weight 900) and gtAmerica (weights 300, 400, 500 and 700) on convex.dev. Page titles are 60px at weight 900 (46px on phones) and body text is 15px. Measured on November 4, 2026.

  • Aaneue-haas-grotesk-display · 900
  • AagtAmerica · 300, 400, 500, 700
Find every font on convex.dev with Font finder →

Colors

Convex colors: palette and hex codes

Convex’s main colors are #281D1D (warm charcoal) for the background, #FFFFFF (white) for text and #38383A (graphite) as the main accent, with #FFD7BF (pale orange) and #F3B01C (vivid amber) as other accents. Measured on November 4, 2026.

  • #281D1D · warm charcoal
  • #FFFFFF · white
  • #FAF4E9 · warm mist
  • #F6EEDB · pale amber
  • #C2C2C2 · silver
  • #292929 · graphite
  • #141414 · charcoal
  • #1A0F0F · warm charcoal
Get convex.dev’s palette as CSS or Tailwind with Colors →

Tech stack

What is Convex built with?

Convex’s website (convex.dev) is built with Next.js, React, Tailwind CSS, Vercel and Adobe Fonts. Measured on November 4, 2026.

JavaScript framework
Next.js 16.4.3, React 19.3.0-canary-278794d7-2
Analytics
PostHog
Hosting & CDN
Vercel
Fonts & icons
Adobe Fonts
UI & CSS
Tailwind CSS 4.x
Check convex.dev live with Tech stack →

What you can build with it

Landing pages, pricing tables, dashboards: your AI coding agent builds them in this style, with these colors, fonts, spacing and buttons instead of its defaults.

Download DESIGN.md, put it in your project’s root folder, then ask your agent for a page.

Prompt · DESIGN.md attached

Build a landing page for my product. Follow for every color, font, spacing value, corner and button.

Need a page behind a login?

The DESIGN.md generator Chrome extension makes one from any page you have open, including dashboards and pages behind a login.

See the Chrome extension

FAQ

Convex design system questions

What font does Convex use?

Convex’s website uses neue-haas-grotesk-display (weight 900) and gtAmerica (weights 300, 400, 500 and 700). Page titles are 60px at weight 900 (46px on phones) and body text is 15px. Measured on November 4, 2026.

What are the Convex colors and hex codes?

On convex.dev: #281D1D (warm charcoal) for the background, #FFFFFF (white) for text and #38383A (graphite) as the main accent, with #FFD7BF (pale orange) and #F3B01C (vivid amber) as other accents. The color palette above lists all 18 colors with their hex codes and where each one is used.

What is the Convex design system?

The design system on this page is convex.dev’s, as measured on November 4, 2026: neue-haas-grotesk-display type, #38383A as the main color, 4px corners and a 4px spacing grid, written down as a DESIGN.md. It is not Convex’s own documentation.

What is Convex built with?

Convex’s website (convex.dev) is built with Next.js, React, Tailwind CSS, Vercel and Adobe Fonts. The full tech stack Sitepeel found: Next.js, React, PostHog, Vercel, Adobe Fonts and Tailwind CSS. Measured on November 4, 2026.

What is the Convex DESIGN.md?

A plain-text file with Convex’s measured colors, type, spacing, corners and components as tokens, plus short rules, in the DESIGN.md format Google published with Stitch. Your AI coding agent reads it and builds in this style. More about DESIGN.md.

How do I use it with Claude Code or Cursor?

Download the file and put it in your project’s root folder, then ask your agent to follow DESIGN.md. Step-by-step guides: Claude Code, Cursor, Codex, GitHub Copilot.

Is this Convex’s official design system?

No. Sitepeel measured it from convex.dev’s public page on November 4, 2026. It is an independent analysis, not made or approved by Convex.

Can I use Convex’s style in my own product?

Use it to learn, prototype and compare. For a real product, make the style your own, and never copy Convex’s logo, name, pictures or text.

How accurate are the values?

Each value was measured on the rendered page after it fully loaded, on desktop and mobile: colors where they appear, type with tracking, spacing, corners, shadows and hover states. Sites change, so check the date at the top.