DESIGN.md · Analysis
Monaspace
monaspace.githubnext.com · 18 Jul 2026 · 47 colors · __monaspaceNeon_388571, __monaspaceNeon_Fallback_388571, ui-monospace, monospace, Mona Sans, MonaSansFallback, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Helvetica Neue, Arial, sans-serif
Monaspace
An innovative superfamily of fonts for code, showcasing five variable typefaces designed for developers with precision, clarity, and technical sophistication.
Colors
Typography
- display
- fontFamily: __monaspaceNeon_388571, __monaspaceNeon_Fallback_388571, ui-monospace, monospace · fontSize: 96px · fontWeight: 700 · lineHeight: 104px · letterSpacing: -0.04em
- headline-lg
- fontFamily: Mona Sans, MonaSansFallback, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Helvetica Neue, Arial, sans-serif · fontSize: 40px · fontWeight: 600 · lineHeight: 48px · letterSpacing: -0.02em
- headline-md
- fontFamily: Mona Sans, MonaSansFallback, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Helvetica Neue, Arial, sans-serif · fontSize: 28px · fontWeight: 600 · lineHeight: 36px · letterSpacing: -0.01em
- title-lg
- fontFamily: Mona Sans, MonaSansFallback, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Helvetica Neue, Arial, sans-serif · fontSize: 20px · fontWeight: 600 · lineHeight: 28px · letterSpacing: 0em
- body-lg
- fontFamily: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Helvetica Neue, Arial, sans-serif · fontSize: 18px · fontWeight: 400 · lineHeight: 28px · letterSpacing: 0em
- body-md
- fontFamily: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Helvetica Neue, Arial, sans-serif · fontSize: 16px · fontWeight: 400 · lineHeight: 24px · letterSpacing: 0em
- label-md
- fontFamily: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Helvetica Neue, Arial, sans-serif · fontSize: 14px · fontWeight: 600 · lineHeight: 20px · letterSpacing: 0.01em
- label-sm
- fontFamily: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Helvetica Neue, Arial, sans-serif · fontSize: 12px · fontWeight: 500 · lineHeight: 16px · letterSpacing: 0.05em
Design guidance
Overview
Monaspace is a technical font superfamily designed for developers and code editors, embodying a philosophy of "Precision Minimalism" — where every curve, weight, and spacing decision serves clarity and performance. The brand aesthetic merges the austere geometry of monospace typography with the sophistication of variable font technology, creating an interface that feels both utilitarian and refined. The visual identity evokes a terminal-inspired aesthetic: a dark, near-black canvas (#0d1117) with bright, high-contrast accents (pure white #ffffff for primary actions, vibrant purples #d2a8ff and blues #79c0ff for syntax highlighting and secondary elements). The emotional response is one of technical confidence — the UI communicates mastery, precision, and developer-first thinking.
The brand voice is direct, unadorned, and expert-level. Monaspace speaks to developers with respect for their time and intelligence, avoiding marketing flourish in favor of concrete specifications and technical depth. Vocabulary emphasizes innovation, superfamily, variable axes, and optimization. Example sentence in brand voice: "Five fonts, three variable axes, infinite possibilities — optimize your terminal dimensions with precision."
Colors
The color system is rooted in high-contrast, dark-mode-first design optimized for extended screen time and code readability. Primary (#ffffff) is pure white, reserved exclusively for call-to-action buttons and critical interactive elements — it commands attention through luminosity, not saturation. The surface stack anchors the interface in deep, near-black tones: surface (#0d1117) and surface-dim (#010409) create a recessed, focused environment, while surface-container (#21262d) and surface-container-high (#30363d) provide subtle elevation for cards and panels without breaking the dark aesthetic. On-surface (#ffffff) and on-surface-variant (#c9d1d9) ensure text legibility with WCAG AAA contrast ratios (19:1 and 13:1 respectively).
Secondary and tertiary colors are drawn from syntax-highl
Typography
The type system pairs two distinct font families to create a visual hierarchy that mirrors code structure. Display and headline levels use __monaspaceNeon (a custom variable monospace font at 96px, 700 weight, -0.04em letter-spacing) for hero messaging and section titles, evoking the precision of code while maintaining readability at scale. Body and label levels use Mona Sans (a humanist sans-serif at 16–18px, 400 weight) for prose, UI labels, and interactive text, providing warmth and accessibility. Code blocks and technical content use ui-monospace at 14px, 400 weight, 1.6 line-height, with syntax colors applied via CSS classes (.ͼ4r for green #7ee787, .ͼ4t for purple #d2a8ff, .ͼ4u for blue #79c0ff). On dark backgrounds with small text (labels under 14px), apply text-shadow: 0 1px 2px rg
Layout
The page grid is a fluid 12-column layout with a max-width of 1280px, centered on the viewport. Horizontal spacing uses the semantic gutter token (24px) for section separation and container padding, ensuring consistent breathing room. Vertical rhythm is established through lg spacing (40px) between major sections (hero, feature blocks, footer) and md spacing (24px) between subsections and card groups. The hero section occupies full viewport height with centered content, using xl spacing (64px) for the gap between the headline and CTA buttons. Cards and panels use md padding (24px) internally, with sm spacing (12px) between nested elements. The layout philosophy prioritizes focus: generous whitespace and clear containment prevent cognitive overload, critical for a developer-facing product.
Elevation & Depth
Depth is conveyed through a restrained shadow system and subtle background color shifts rather than dramatic drop shadows. Level 1 (Base): the surface (#0d1117) with no shadow, serving as the recessed canvas. Level 2 (Standard Cards/Panels): surface-container (#21262d) with a 1px solid border at outline-variant (#444748) and box-shadow: 0 3px 8px rgba(0, 0, 0, 0.15), creating a soft lift. Level 3 (Interactive Elements/Buttons): primary buttons use the same shadow (0 3px 8px rgba(0, 0, 0, 0.15)) to signal clickability; on hover, the shadow remains constant but the background shifts to primary-f
Shapes
The shape language is "Technical Softness" — rounded corners are applied judiciously to humanize the monospace aesthetic without sacrificing precision. Buttons use lg radius (1rem / 16px) for a friendly, approachable feel that contrasts with the austere typeface. Cards and panels use lg radius (1rem) for consistency. Input fields and smaller interactive elements use DEFAULT radius (0.5rem / 8px) to maintain visual distinction from larger containers. Code blocks use md radius (0.75rem / 12px) to signal they are distinct content types. Badges use full radius (9999px) for a pill-shaped appearance
Components
Action Elements Buttons are the primary interaction mechanism. The button-primary component uses pure white (#ffffff) background with dark text (#010409), 20px vertical and 32px horizontal padding, lg radius (1rem), and a 48px height for touch-friendly sizing. On hover, the background shifts to primary-fixed-dim (#e9edf1) with a 150ms cubic-bezier(0.4, 0, 0.2, 1) transition, signaling interactivity without jarring color shifts. The button-secondary variant uses a transparent background with a 1px outline-variant border (#444748) and white text, allowing secondary actions to coexist without visual dominance. Both variants include the interactive shadow (0 3px 8px rgba(0, 0, 0, 0.15)) to lift from the dark canvas.
Containers & Surfaces Cards use surface-container (#21262d) backgroun
Do's and Don'ts
**Do**
- Do use pure white (#ffffff) exclusively for primary CTAs — it is the brand's most recognizable signal and must never be diluted.
- Do maintain the dark surface (#0d1117) as the default background; it reduces eye strain and reinforces the terminal-inspired aesthetic.
- Do apply the interactive shadow (0 3px 8px rgba(0, 0, 0, 0.15)) to all clickable elements to create consistent tactile feedback.
- Do use secondary (#d2a8ff) and tertiary (#79c0ff) colors for syntax highlighting and accent text, never for primary actions.
- Do pair monospace display fonts with humanist sans-serif body text to balance technical precision with accessibility.
- Do use lg radius (1rem) on buttons and cards to soften the austere monospace aesthetic and improve approachability.
**Don't**
- Don't use near-white or light gray backgrounds; the dark theme is non-negotiable and core to the brand identity.
- Don't apply multiple shadows or blur effects; the single interactive shadow (0 3px 8px rgba(0, 0, 0, 0.15)) is sufficient and prevents visual noise.
- Don't use secondary or tertiary colors for primary CTAs or main navigation — reserve them for syntax, badges, and supporting elements.
- Don't exceed 1280px container width; the layout is optimized for focused, centered content that respects developer screen real estate.
- Don't apply letter-spacing greater than -0.02em on headlines or less than -0.04em on display text; precision in typography is non-negotiable.
- Don't use system fonts for display or headline text; always load the custom Monaspace variable fonts to maintain brand distinctiveness.
Edit, then copy or download.