Sitepeel
substack.com homepage as measured on October 21, 2026

DESIGN.md · measured October 21, 2026

Substack design system

Dark interface measured from substack.com: Cahuenga type with system-ui, vivid orange accents, tonal surfaces and pill-shaped controls.

Background
#161718
Primary
#FF6719
Type
Cahuenga
Corners
Pill
Download DESIGN.md

From substack.com ↗ · 243 elements at 1440×900 and 390×844 · Independent analysis, not affiliated with Substack

Substack colors

14 roles measured on the page, grouped by where each color is used.

Surfaces

Charcoal#161718background · --color-dark-bg-primaryPage background · 8×
Charcoal#1B1C1Dsurface-container-lowRaised areas one step from the page · 2×
Graphite#232525surface-container · --color-bg-secondary-hover-themedCards and panels · 1×
Graphite#363737surface-container-high · --color-bg-elevated-tertiaryHover and pressed fills · 1×
Graphite 75%#282828BFoverlay · --material-dark-regularTranslucent fill for cards and controls · 1×

Text

Mist#EEEEEEon-surface · --color-light-bg-secondaryPrimary text and headings · 22×
White#FFFFFFon-surface-strong · --color-light-semantic-paid-utility-contrastHeadings and emphasis · 7×
Slate#777777on-surface-variant · --color-light-button-quaternary-outline-fgSecondary text · 9×
White#FFFFFFon-primaryText and icons on primary

Accents

Vivid Orange#FF6719primaryPrimary buttons and calls to action · 18×
Dark Teal#2F6D5DsecondaryBrand color on large areas · 30×
Red#EB5757tertiaryBrand accent (CSS variable) · 24×
Vivid Blue#18A0FBlinkInline links · 1×

Borders

White 10%#FFFFFF1AoutlineBorders and dividers · 1×

Gradients

Substack fonts

2 families.

AaCahuengaWeights 500Cahuenga, serif
Aasystem-uiWeights 400, 600system-ui, -apple-system, BlinkMacSystemFont, Segoe UI
headline-displayPage title (h1)Substack32px · 500 · 1.24
headline-lgSection headings (h2)The quick brown fox jumps over the lazy dog24px · 500 · 1.25
body-mdBody textThe quick brown fox jumps over the lazy dog19px · 400
body-smSecondary and small textThe quick brown fox jumps over the lazy dog13px · 400 · 1.31
label-mdButtons, navigation and labelsThe quick brown fox jumps over the lazy dog15px · 400 · 1.33
label-smSmall labels and badgesThe quick brown fox jumps over the lazy dog13px · 600 · 1.54

Contrast

Text on #161718

AaAAA15.5:1
AaAAA17.9:1
AaLarge only4.0:1

Spacing

4px grid · 93% of values fit

xs4px
sm8px
md16px
lg20px
xl40px
gutter8px

Shapes

Corner radii, most used first.

full9999px · 132×
sm8px · 96×
md12px · 36×

Depth

Inset
Shadow

Components

Rebuilt from the measured CSS.

Create
button-primaryFilled button · hover to see the measured hover state
Sign in
button-secondaryFilled button · hover to see the measured hover state
Get app
button-outlineOutlined button
Learn more
button-ghostText button
Search Substack
input-fieldInput field
Inline link
linkInline link

Motion

Interface transitions

0.25s
cubic-bezier(0.19, 1, 0.22, 1)

Do’s and don’ts

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

  • Use #161718 for the page and lift surfaces in small steps: #1B1C1D, #232525, #363737.
  • Keep text in 3 levels: #EEEEEE, #FFFFFF, #777777.
  • Reserve #FF6719 for primary actions and key highlights.
  • Keep spacing on the 4px grid.
  • Make buttons and chips fully rounded (9999px); most other elements use 8px corners.
  • Use #777777 for body text; it reaches 4.0:1 on #161718. Keep it for large text or metadata.
  • Use heavy drop shadows; keep depth to hairline rings and tonal surfaces.
  • Introduce new font families beyond Cahuenga and system-ui.
  • Use #FF6719 for large backgrounds or body text.
  • Make interface transitions slower than 0.25s.
DESIGN.md201 lines

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 more than one page?

Design MD in the Sitepeel tools for Chrome measures pages behind a login, combines several pages into one file and works on any site you open.

Explore the tool

FAQ

Questions

What can I build with the Substack DESIGN.md?

Any page or component in this style: a landing page, pricing table, dashboard or sign-up form. Your AI coding agent uses the measured colors, Cahuenga type, spacing, corners and buttons instead of its own defaults.

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 Substack’s official design system?

No. Sitepeel measured it from substack.com’s public page on October 21, 2026. It is an independent analysis, not made or approved by Substack.

Can I use Substack’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 Substack’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.