GrammarlyBrand
DESIGN.md · measured October 21, 2026
GitLab design system
Dark monochrome interface measured from gitlab.com: GitLab Sans type, flat surfaces and 4px corners.
- Background
- #171321
- Primary
- #FFFFFF
- Type
- GitLab Sans
- Corners
- 4px
From gitlab.com ↗ · 384 elements at 1440×900 and 390×844 · Independent analysis, not affiliated with GitLab
GitLab colors
14 roles measured on the page, grouped by where each color is used.
Surfaces
#171321backgroundPage background · 15×#FFFFFF26overlayTranslucent fill for cards and controls · 6×#FFFFFF1Aoverlay-strongStronger translucent fill · 2×Text
#FFFFFFon-surfacePrimary text and headings · 96×#F7F7F5on-surface-variantSecondary text · 10×#A2A1A6on-surface-mutedMuted text and metadata · 12×#74717Aon-surface-subtleSubtle text and placeholders · 12×#171321on-primaryText and icons on primaryAccents
#FFFFFFprimaryPrimary buttons and calls to action · 130×#FC6D26secondaryAccent · 4×#FCA326tertiaryAccent · 2×Borders
#45424DoutlineBorders and dividers · 6×#FFFFFF33outline-variantSecondary dividers · 1×Status
#E24329errorErrors and destructive states · 2×Gradients
GitLab fonts
2 families.
mobile 48px
mobile 48px
Contrast
Text on #171321
18.2:117.0:17.1:13.8:1Spacing
8px grid · 79% of values fit
xs4pxsm8pxmd16pxlg24pxxl48pxgutter8pxsection96pxmargin48pxBreakpoints: 375px 500px 576px 768px 769px 1025px 1200px 1220px 1300px 1440px 1550px
Shapes
Corner radii, most used first.
Depth
Flat: no shadows measured.
Components
Rebuilt from the measured CSS.
Motion
Interface transitions
0.18s0.3s0.2s0.1sease-outease
Do’s and don’ts
Rules written from the measurements, so a coding agent stays on style.
- Use #171321 for the page.
- Keep text in 4 levels: #FFFFFF, #F7F7F5, #A2A1A6, #74717A.
- Let contrast carry emphasis; primary actions use #FFFFFF on #171321.
- Set headlines in GitLab Sans with tight tracking (-0.03em).
- Keep spacing on the 8px grid.
- Use 4px corners on cards and controls.
- Use #74717A for body text; it reaches 3.8:1 on #171321. Keep it for large text or metadata.
- Add drop shadows for depth; use borders and contrast.
- Introduce new font families beyond GitLab Sans and GitLab Mono.
- Add saturated accent colors; the measured palette is almost entirely neutral.
- Make interface transitions slower than 0.3s.
---
version: alpha
name: GitLab
description: "Dark monochrome interface measured from gitlab.com: GitLab Sans type, flat surfaces and 4px corners."
colors:
background: "#171321"
surface: "#171321"
on-surface: "#FFFFFF"
on-background: "#FFFFFF"
on-surface-variant: "#F7F7F5"
on-surface-muted: "#A2A1A6"
on-surface-subtle: "#74717A"
overlay: "#FFFFFF26"
overlay-strong: "#FFFFFF1A"
outline: "#45424D"
outline-variant: "#FFFFFF33"
primary: "#FFFFFF"
on-primary: "#171321"
secondary: "#FC6D26"
tertiary: "#FCA326"
error: "#E24329"
typography:
headline-display:
fontFamily: GitLab Sans
fontSize: 96px
fontWeight: 660
lineHeight: 1.04
letterSpacing: -0.03em
headline-lg:
fontFamily: GitLab Sans
fontSize: 64px
fontWeight: 660
lineHeight: 1.06
letterSpacing: -0.03em
headline-md:
fontFamily: GitLab Sans
fontSize: 32px
fontWeight: 580
lineHeight: 1.13
letterSpacing: -0.02em
headline-sm:
fontFamily: GitLab Sans
fontSize: 24px
fontWeight: 400
lineHeight: 1.33
letterSpacing: -0.02em
body-md:
fontFamily: GitLab Sans
fontSize: 14px
fontWeight: 400
lineHeight: 1.2
body-lg:
fontFamily: GitLab Sans
fontSize: 18px
fontWeight: 660
lineHeight: 1.56
body-sm:
fontFamily: GitLab Sans
fontSize: 13.33px
fontWeight: 400
label-md:
fontFamily: GitLab Sans
fontSize: 16px
fontWeight: 400
lineHeight: 1.5
label-sm:
fontFamily: GitLab Sans
fontSize: 14px
fontWeight: 660
lineHeight: 1.5
code:
fontFamily: GitLab Mono
fontSize: 14px
fontWeight: 400
lineHeight: 1.71
headline-display-mobile:
fontFamily: GitLab Sans
fontSize: 48px
fontWeight: 660
lineHeight: 1.04
letterSpacing: -0.03em
headline-lg-mobile:
fontFamily: GitLab Sans
fontSize: 48px
fontWeight: 660
lineHeight: 1.06
letterSpacing: -0.03em
rounded:
sm: 4px
md: 120px
spacing:
base: 8px
xs: 4px
sm: 8px
md: 16px
lg: 24px
xl: 48px
gutter: 8px
section: 96px
margin: 48px
components:
button-primary:
backgroundColor: "{colors.primary}"
textColor: "{colors.on-primary}"
typography: "{typography.body-lg}"
rounded: "{rounded.sm}"
padding: 11px 16px
height: 47px
button-primary-hover:
backgroundColor: "#FFFFFF7F"
textColor: "#8B8990"
button-secondary:
textColor: "{colors.on-surface}"
typography: "{typography.body-lg}"
rounded: 0px
padding: 24px
height: 72px
button-secondary-hover:
backgroundColor: "#FFFFFF2B"
button-ghost:
textColor: "{colors.on-surface}"
typography: "{typography.label-md}"
rounded: "{rounded.sm}"
padding: 0px
card:
backgroundColor: "{colors.overlay-strong}"
textColor: "{colors.on-primary}"
typography: "{typography.label-md}"
rounded: 0px
padding: 24px
link:
textColor: "{colors.primary}"
---
# GitLab Design System
## Overview
GitLab describes itself as: “Teams and agents ship trusted software faster with GitLab, the intelligent orchestration platform with context and governance for the entire software lifecycle.” The interface is dark, built on **Cool Charcoal (#171321)** with **White (#FFFFFF)** text and almost no color: actions are carried by contrast, not hue.
Type is set in **GitLab Sans**, with **GitLab Mono** for code. Headlines run large with tight negative tracking; body text is 14px. The surface language is flat. Corners are mostly 4px.
Measured from [gitlab.com](https://about.gitlab.com/) on October 21, 2026 at 1440×900 and 390×844 from 384 rendered elements. Values are computed styles from the live page, not the original source files.
## Colors
The palette has 14 roles, plus gradient stops #E53C97, #7759C2, #FC6D26.
- **Cool Charcoal (#171321):** Page background, seen 15 times. Token `background`.
- **White (#FFFFFF):** Primary text and headings, seen 96 times. Token `on-surface`.
- **Snow (#F7F7F5):** Secondary text, seen 10 times. Token `on-surface-variant`.
- **Gray (#A2A1A6):** Muted text and metadata, seen 12 times. Token `on-surface-muted`.
- **Cool Slate (#74717A):** Subtle text and placeholders, seen 12 times. Token `on-surface-subtle`.
- **White 15% (#FFFFFF26):** Translucent fill for cards and controls, seen 6 times. Token `overlay`.
- **White 10% (#FFFFFF1A):** Stronger translucent fill, seen 2 times. Token `overlay-strong`.
- **Cool Graphite (#45424D):** Borders and dividers, seen 6 times. Token `outline`.
- **White 20% (#FFFFFF33):** Secondary dividers, seen 1 time. Token `outline-variant`.
- **White (#FFFFFF):** Primary buttons and calls to action, seen 130 times. Token `primary`.
- **Cool Charcoal (#171321):** Text and icons on primary. Token `on-primary`.
- **Vivid Orange (#FC6D26):** Accent, seen 4 times. Token `secondary`.
- **Vivid Orange (#FCA326):** Accent, seen 2 times. Token `tertiary`.
- **Red (#E24329):** Errors and destructive states, seen 2 times. Token `error`.
## Typography
**GitLab Sans** and **GitLab Mono** (monospace) share the interface. Fallback stack: `GitLab Sans, sans-serif`.
- **headline-display:** GitLab Sans 96px at weight 660, line height 1.04, tracking -0.03em (48px on mobile). Page title (h1).
- **headline-lg:** GitLab Sans 64px at weight 660, line height 1.06, tracking -0.03em (48px on mobile). Section headings (h2).
- **headline-md:** GitLab Sans 32px at weight 580, line height 1.13, tracking -0.02em. Sub-section headings.
- **headline-sm:** GitLab Sans 24px at weight 400, line height 1.33, tracking -0.02em. Card and feature titles.
- **body-md:** GitLab Sans 14px at weight 400, line height 1.2. Body text.
- **body-lg:** GitLab Sans 18px at weight 660, line height 1.56. Lead paragraphs.
- **body-sm:** GitLab Sans 13.33px at weight 400. Secondary and small text.
- **label-md:** GitLab Sans 16px at weight 400, line height 1.5. Buttons, navigation and labels.
- **label-sm:** GitLab Sans 14px at weight 660, line height 1.5. Small labels and badges.
- **code:** GitLab Mono 14px at weight 400, line height 1.71. Code and technical values.
## Layout
Spacing follows a 8px grid: 79% of measured gaps and paddings are multiples of 8px.
- **Scale:** xs 4px, sm 8px, md 16px, lg 24px, xl 48px.
- **Sections:** 96px vertical padding between major sections.
- **Gaps:** 8px is the most common gap in flex and grid layouts.
- **Page margin:** 48px on each side of full-width sections.
- **Breakpoints:** 375px, 500px, 576px, 768px, 769px, 1025px, 1200px, 1220px, 1300px, 1440px, 1550px.
## Elevation & Depth
The design is flat: no shadows were measured. Hierarchy comes from color contrast and #45424D borders.
## Shapes
Most elements use 4px corners. Measured radii, most used first:
- **sm (4px):** 60 elements.
- **md (120px):** 8 elements.
## Components
Measured from the rendered page. Token values reference the tokens above.
- **button-primary (“Get free trial”):** #FFFFFF fill, #171321 text, 18px/660, 4px radius, padding 11px 16px, border 1px solid #FFFFFF.
- **button-primary-hover:** background #FFFFFF7F, text #8B8990 on hover.
- **button-secondary (“Try for free”):** transparent fill, #FFFFFF text, 18px/580, padding 24px, border 1px solid #FFFFFF33.
- **button-secondary-hover:** background #FFFFFF2B, text #FFFFFF on hover.
- **button-ghost (“Platform”):** transparent fill, #FFFFFF text, 16px/400, 4px radius, padding 0px.
- **card:** #FFFFFF1A fill, #171321 text, 16px/400, padding 24px.
- **link:** transparent fill, #FFFFFF text, padding 0px.
## Do's and Don'ts
- Do use #171321 for the page.
- Do keep text in 4 levels: #FFFFFF, #F7F7F5, #A2A1A6, #74717A.
- Do let contrast carry emphasis; primary actions use #FFFFFF on #171321.
- Do set headlines in GitLab Sans with tight tracking (-0.03em).
- Do keep spacing on the 8px grid.
- Do use 4px corners on cards and controls.
- Don't use #74717A for body text; it reaches 3.8:1 on #171321. Keep it for large text or metadata.
- Don't add drop shadows for depth; use borders and contrast.
- Don't introduce new font families beyond GitLab Sans and GitLab Mono.
- Don't add saturated accent colors; the measured palette is almost entirely neutral.
- Don't make interface transitions slower than 0.3s.
## Motion
Interface transitions are quick: 0.18s, 0.3s, 0.2s, 0.1s.
- **Easing:** `ease-out`, `ease`, `cubic-bezier(0.7, 0, 0.3, 1)`.
- **Reduced motion:** the page responds to `prefers-reduced-motion`.
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.
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.
More designs
See all →FAQ
Questions
What can I build with the GitLab 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, GitLab Sans 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 GitLab’s official design system?
No. Sitepeel measured it from gitlab.com’s public page on October 21, 2026. It is an independent analysis, not made or approved by GitLab.
Can I use GitLab’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 GitLab’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.




