# Primer design system

> Primer design system measured from primer.style: Mona Sans font, #0377FF primary on #FFFFFF, 10 color hex codes, type scale, spacing and a free DESIGN.md.

Canonical page: https://sitepeel.dev/design-md/primer.style/

Primer’s website (primer.style) uses the Mona Sans font and #0377FF as its main color on a white background. Measured by Sitepeel on November 4, 2026.

## What font does Primer use?

Primer uses Mona Sans (weights 400, 440, 480 and 500) and Mona Sans VF (weight 500) on primer.style. Page titles are 56px at weight 440 (36px on phones) and body text is 16px. Measured on November 4, 2026.

- Mona Sans (weights 400, 440, 480, 500)
- Mona Sans VF (weights 500)

## Primer colors: palette and hex codes

Primer’s main colors are #FFFFFF (white) for the background, #000000 (near black) for text and #0377FF (vivid blue) as the main accent, with #08872B (dark green) and #0055D5 (blue) as other accents. Measured on November 4, 2026.

- #FFFFFF: white
- #000000: near black
- #58635B: slate
- #59636E: blue
- #F6F8FA: snow
- #D1D9E0: cool silver
- #0377FF: vivid blue
- #08872B: dark green

## What is Primer built with?

Primer’s website (primer.style) is built with Next.js, React, CSS Modules and Primer. Measured on November 4, 2026.

- JavaScript framework: Next.js 16.4.3, React 19.3.0-canary-278794d7-2
- UI & CSS: CSS Modules, Primer

## Questions and answers

### What font does Primer use?

Primer’s website uses Mona Sans (weights 400, 440, 480 and 500) and Mona Sans VF (weight 500). Page titles are 56px at weight 440 (36px on phones) and body text is 16px. Measured on November 4, 2026.

### What are the Primer colors and hex codes?

On primer.style: #FFFFFF (white) for the background, #000000 (near black) for text and #0377FF (vivid blue) as the main accent, with #08872B (dark green) and #0055D5 (blue) as other accents. The color palette above lists all 10 colors with their hex codes and where each one is used.

### What is the Primer design system?

The design system on this page is primer.style’s, as measured on November 4, 2026: Mona Sans type, #0377FF as the main color, 6px corners and a 4px spacing grid, written down as a DESIGN.md. It is not Primer’s own documentation.

### What is Primer built with?

Primer’s website (primer.style) is built with Next.js, React, CSS Modules and Primer. Measured on November 4, 2026.

### What is the Primer DESIGN.md?

A plain-text file with Primer’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 Primer’s official design system?

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

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

## Files

- [DESIGN.md](https://sitepeel.dev/design-md/primer.style/DESIGN.md): the plain file to put in your project.
- [All brand DESIGN.md files](https://sitepeel.dev/design-md/examples/index.md)

Independent analysis by Sitepeel (sitepeel.dev), not affiliated with Primer.

## The DESIGN.md file

```markdown
---
version: alpha
name: Primer
description: "Light interface measured from primer.style: Mona Sans type with Mona Sans VF, vivid blue accents, tonal surfaces and 6px corners."
colors:
  background: "#FFFFFF"
  surface: "#FFFFFF"
  on-surface: "#000000"
  on-background: "#000000"
  on-surface-variant: "#58635B"
  on-surface-muted: "#59636E"
  surface-container-low: "#F6F8FA"
  outline: "#D1D9E0"
  primary: "#0377FF"
  on-primary: "#000000"
  secondary: "#08872B"
  tertiary: "#0055D5"
typography:
  headline-display:
    fontFamily: Mona Sans
    fontSize: 56px
    fontWeight: 440
    lineHeight: 1.1
  headline-lg:
    fontFamily: Mona Sans
    fontSize: 34px
    fontWeight: 500
    lineHeight: 1.3
  headline-md:
    fontFamily: Mona Sans
    fontSize: 28px
    fontWeight: 480
    lineHeight: 1.35
  headline-sm:
    fontFamily: Mona Sans
    fontSize: 22px
    fontWeight: 480
    lineHeight: 1.4
  body-md:
    fontFamily: Mona Sans
    fontSize: 16px
    fontWeight: 400
    lineHeight: 1.5
  label-md:
    fontFamily: Mona Sans VF
    fontSize: 14px
    fontWeight: 500
  headline-display-mobile:
    fontFamily: Mona Sans
    fontSize: 36px
    fontWeight: 440
    lineHeight: 1.2
  headline-lg-mobile:
    fontFamily: Mona Sans
    fontSize: 24px
    fontWeight: 500
    lineHeight: 1.3
  headline-sm-mobile:
    fontFamily: Mona Sans
    fontSize: 20px
    fontWeight: 480
    lineHeight: 1.4
rounded:
  md: 6px
spacing:
  base: 4px
  xs: 4px
  sm: 8px
  md: 12px
  lg: 24px
  gutter: 8px
  margin: 24px
components:
  button-outline:
    backgroundColor: "{colors.surface-container-low}"
    textColor: "#25292E"
    typography: "{typography.label-md}"
    rounded: "{rounded.md}"
    padding: 0px 12px
    height: 32px
  button-outline-hover:
    backgroundColor: "#EFF2F5"
  link:
    textColor: "{colors.on-surface-muted}"
---

# Primer Design System

## Overview

Primer describes itself as: “The Design System for GitHub” The interface is light, built on **White (#FFFFFF)** with **Near Black (#000000)** text, and **Vivid Blue (#0377FF)** as the main accent.

Type is set in **Mona Sans** and **Mona Sans VF**. Headlines run large; body text is 16px. Depth comes from soft drop shadows. Corners are mostly 6px.

Measured from [primer.style](https://primer.style/) on November 4, 2026 at 1440×900 and 390×844 from 97 rendered elements. Values are computed styles from the live page, not the original source files.

## Colors

The palette has 10 roles.

- **White (#FFFFFF):** Page background, seen 3 times. Token `background`, CSS `--bgColor-white`.
- **Near Black (#000000):** Primary text and headings, seen 9 times. Token `on-surface`, CSS `--brand-Testimonial-quote-color-default`.
- **Slate (#58635B):** Secondary text, seen 8 times. Token `on-surface-variant`.
- **Blue (#59636E):** Muted text and metadata, seen 5 times. Token `on-surface-muted`, CSS `--progressBar-bgColor-neutral`.
- **Snow (#F6F8FA):** Raised areas one step from the page, seen 2 times. Token `surface-container-low`.
- **Cool Silver (#D1D9E0):** Borders and dividers, seen 3 times. Token `outline`, CSS `--button-danger-borderColor-rest`.
- **Vivid Blue (#0377FF):** Brand accent (CSS variable), seen 1 time. Token `primary`, CSS `--brand-Eyebrowbanner-fgColor-green-blue-end`.
- **Near Black (#000000):** Text and icons on primary. Token `on-primary`.
- **Dark Green (#08872B):** Accent (CSS variable). Token `secondary`.
- **Blue (#0055D5):** Accent in text, fills and borders, seen 19 times. Token `tertiary`.

## Typography

**Mona Sans** and **Mona Sans VF** share the interface. Fallback stack: `Mona Sans, MonaSansFallback, -apple-system, BlinkMacSystemFont`.

- **headline-display:** Mona Sans 56px at weight 440, line height 1.1 (36px on mobile). Page title (h1).
- **headline-lg:** Mona Sans 34px at weight 500, line height 1.3 (24px on mobile). Section headings (h2).
- **headline-md:** Mona Sans 28px at weight 480, line height 1.35. Sub-section headings.
- **headline-sm:** Mona Sans 22px at weight 480, line height 1.4 (20px on mobile). Card and feature titles.
- **body-md:** Mona Sans 16px at weight 400, line height 1.5. Body text.
- **label-md:** Mona Sans VF 14px at weight 500. Buttons, navigation and labels.

## Layout

Spacing follows a 4px grid: 94% of measured gaps and paddings are multiples of 4px.

- **Scale:** xs 4px, sm 8px, md 12px, lg 24px.
- **Gaps:** 8px is the most common gap in flex and grid layouts.
- **Page margin:** 24px on each side of full-width sections.
- **Breakpoints:** 618px, 768px, 1012px, 1280px, 1300px.

## Elevation & Depth

Raised elements use soft drop shadows. The most used recipes:

- `rgba(31, 35, 40, 0.04) 0px 1px 0px 0px`

## Shapes

Most elements use 6px corners. Measured radii, most used first:

- **md (6px):** 28 elements.

## Components

Measured from the rendered page. Token values reference the tokens above.

- **button-outline (“Give feedback”):** #F6F8FA fill, #25292E text, 14px/500, 6px radius, padding 0px 12px, border 1px solid #D1D9E0, shadow `rgba(31, 35, 40, 0.04) 0px 1px 0px 0px`.
- **button-outline-hover:** background #EFF2F5, text #25292E on hover.
- **link:** transparent fill, #59636E text, padding 0px.

## Do's and Don'ts

- Do use #FFFFFF for the page and lift surfaces in small steps: #F6F8FA.
- Do keep text in 3 levels: #000000, #58635B, #59636E.
- Do use #0377FF as the brand accent: header, logo and key highlights.
- Do keep spacing on the 4px grid.
- Do use 6px corners on most elements.
- Don't introduce new font families beyond Mona Sans and Mona Sans VF.
- Don't use #0377FF for large backgrounds or body text.
- Don't make interface transitions slower than 0.2s.

## Motion

Interface transitions are quick: 0.08s, 0.2s.

- **Easing:** `cubic-bezier(0.65, 0, 0.35, 1)`, `ease`.
- **Reduced motion:** the page responds to `prefers-reduced-motion`.

Generated by [Sitepeel](https://sitepeel.dev/design-md/primer.style/), the free DESIGN.md generator (engine 2026.10.29+b828a475ee10).

```
