Notion's website embodies the philosophy of the tool itself: a blank canvas that gets out of your way. The design system is built on warm neutrals rather than cold grays, creating a distinctly approachable minimalism that feels like quality paper rather than sterile glass. The page canvas is pure white (#ffffff) but the text isn't pure black -- it's a warm near-black (rgba(0,0,0,0.95)) that softens the reading experience imperceptibly. The warm gray scale (#f6f5f4, #31302e, #615d59, #a39e98) carries subtle yellow-brown undertones, giving the interface a tactile, almost analog warmth.
The custom NotionInter font (a modified Inter) is the backbone of the system. At display sizes (64px), it uses aggressive negative letter-spacing (-2.125px), creating headlines that feel compressed and precise. The weight range is broader than typical systems: 400 for body, 500 for UI elements, 600 for semi-bold labels, and 700 for display headings. OpenType features "lnum" (lining numerals) and "locl" (localized forms) are enabled on larger text, adding typographic sophistication that rewards close reading.
What makes Notion's visual language distinctive is its border philosophy. Rather than heavy borders or shadows, Notion uses ultra-thin 1px solid rgba(0,0,0,0.1) borders -- borders that exist as whispers, barely perceptible division lines that create structure without weight. The shadow system is equally restrained: multi-layer stacks with cumulative opacity never exceeding 0.05, creating depth that's felt rather than seen.
Key Characteristics:
#f6f5f4 warm white, #31302e warm dark)rgba(0,0,0,0.95) -- not pure black, creating micro-warmth1px solid rgba(0,0,0,0.1) throughout -- whisper-weight division#0075de) as the singular accent color for CTAs and interactive elementsrgba(0,0,0,0.95) — pure #000000 reads as cold and clinical against Notion's warm canvas.#9ca3af, #6b7280) — they break the warm yellow-brown undertone that defines Notion's analog feel.1px solid rgba(0,0,0,0.1) borders as the dominant separation pattern — they exist as whispers.#0075de for CTAs and interactive elements only — it's the singular accent."lnum" and "locl" features on larger text — they reward close reading.rgba(0,0,0,0.95) / #000000f2): Primary text, headings, body copy. The 95% opacity softens pure black without sacrificing readability.#ffffff): Page background, card surfaces, button text on blue.#0075de): Primary CTA, link color, interactive accent -- the only saturated color in the core UI chrome.#213183): Secondary brand color, used sparingly for emphasis and dark feature sections.#005bab): Button active/pressed state -- darker variant of Notion Blue.#f6f5f4): Background surface tint, section alternation, subtle card fill. The yellow undertone is key.#31302e): Dark surface background, dark section text. Warmer than standard grays.#615d59): Secondary text, descriptions, muted labels.#a39e98): Placeholder text, disabled states, caption text.#2a9d99): Success states, positive indicators.#1aae39): Confirmation, completion badges.#dd5b00): Warning states, attention indicators.#ff64c8): Decorative accent, feature highlights.#391c57): Premium features, deep accents.#523410): Earthy accent, warm feature sections.#0075de): Primary link color with underline-on-hover.#62aef0): Lighter link variant for dark backgrounds.#097fe8): Focus ring on interactive elements.#f2f9ff): Pill badge background, tinted blue surface.#097fe8): Pill badge text, darker blue for readability.rgba(0,0,0,0.04) 0px 4px 18px, rgba(0,0,0,0.027) 0px 2.025px 7.84688px, rgba(0,0,0,0.02) 0px 0.8px 2.925px, rgba(0,0,0,0.01) 0px 0.175px 1.04062px): Multi-layer card elevation.rgba(0,0,0,0.01) 0px 1px 3px, rgba(0,0,0,0.02) 0px 3px 7px, rgba(0,0,0,0.02) 0px 7px 15px, rgba(0,0,0,0.04) 0px 14px 28px, rgba(0,0,0,0.05) 0px 23px 52px): Five-layer deep elevation for modals and featured content.1px solid rgba(0,0,0,0.1)): Standard division border -- cards, dividers, sections.NotionInter, with fallbacks: Inter, -apple-system, system-ui, Segoe UI, Helvetica, Apple Color Emoji, Arial, Segoe UI Emoji, Segoe UI Symbol"lnum" (lining numerals) and "locl" (localized forms) enabled on display and heading text.| Role | Font | Size | Weight | Line Height | Letter Spacing | Notes |
|---|---|---|---|---|---|---|
| Display Hero | NotionInter | 64px (4.00rem) | 700 | 1.00 (tight) | -2.125px | Maximum compression, billboard headlines |
| Display Secondary | NotionInter | 54px (3.38rem) | 700 | 1.04 (tight) | -1.875px | Secondary hero, feature headlines |
| Section Heading | NotionInter | 48px (3.00rem) | 700 | 1.00 (tight) | -1.5px | Feature section titles, with "lnum" |
| Sub-heading Large | NotionInter | 40px (2.50rem) | 700 | 1.50 | normal | Card headings, feature sub-sections |
| Sub-heading | NotionInter | 26px (1.63rem) | 700 | 1.23 (tight) | -0.625px | Section sub-titles, content headers |
| Card Title | NotionInter | 22px (1.38rem) | 700 | 1.27 (tight) | -0.25px | Feature cards, list titles |
| Body Large | NotionInter | 20px (1.25rem) | 600 | 1.40 | -0.125px | Introductions, feature descriptions |
| Body | NotionInter | 16px (1.00rem) | 400 | 1.50 | normal | Standard reading text |
| Body Medium | NotionInter | 16px (1.00rem) | 500 | 1.50 | normal | Navigation, emphasized UI text |
| Body Semibold | NotionInter | 16px (1.00rem) | 600 | 1.50 | normal | Strong labels, active states |
| Body Bold | NotionInter | 16px (1.00rem) | 700 | 1.50 | normal | Headlines at body size |
| Nav / Button | NotionInter | 15px (0.94rem) | 600 | 1.33 | normal | Navigation links, button text |
| Caption | NotionInter | 14px (0.88rem) | 500 | 1.43 | normal | Metadata, secondary labels |
| Caption Light | NotionInter | 14px (0.88rem) | 400 | 1.43 | normal | Body captions, descriptions |
| Badge | NotionInter | 12px (0.75rem) | 600 | 1.33 | 0.125px | Pill badges, tags, status labels |
| Micro Label | NotionInter | 12px (0.75rem) | 400 | 1.33 | 0.125px | Small metadata, timestamps |
Primary Blue
#0075de (Notion Blue)#ffffff1px solid transparent#005bab2px solid focus outline, var(--shadow-level-200) shadowSecondary / Tertiary
rgba(0,0,0,0.05) (translucent warm gray)#000000 (near-black)Ghost / Link Button
rgba(0,0,0,0.95)Pill Badge Button
#f2f9ff (tinted blue)#097fe8#ffffff1px solid rgba(0,0,0,0.1) (whisper border)rgba(0,0,0,0.04) 0px 4px 18px, rgba(0,0,0,0.027) 0px 2.025px 7.84688px, rgba(0,0,0,0.02) 0px 0.8px 2.925px, rgba(0,0,0,0.01) 0px 0.175px 1.04062px#ffffffrgba(0,0,0,0.9)1px solid #dddddd#a39e98var(--color-link-primary-text-hover)1px solid rgba(0,0,0,0.1) border12px 12px 0px 0px radiusFeature Cards with Illustrations
#f6f5f4) background variant for alternating sectionsTrust Bar / Logo Grid
Metric Cards
#f6f5f4) section backgrounds for alternation#f6f5f4) sections, creating gentle visual rhythm without harsh color breaks.| Level | Treatment | Use |
|---|---|---|
| Flat (Level 0) | No shadow, no border | Page background, text blocks |
| Whisper (Level 1) | 1px solid rgba(0,0,0,0.1) | Standard borders, card outlines, dividers |
| Soft Card (Level 2) | 4-layer shadow stack (max opacity 0.04) | Content cards, feature blocks |
| Deep Card (Level 3) | 5-layer shadow stack (max opacity 0.05, 52px blur) | Modals, featured panels, hero elements |
| Focus (Accessibility) | 2px solid var(--focus-color) outline | Keyboard focus on all interactive elements |
Shadow Philosophy: Notion's shadow system uses multiple layers with extremely low individual opacity (0.01 to 0.05) that accumulate into soft, natural-looking elevation. The 4-layer card shadow spans from 1.04px to 18px blur, creating a gradient of depth rather than a single hard shadow. The 5-layer deep shadow extends to 52px blur at 0.05 opacity, producing ambient occlusion that feels like natural light rather than computer-generated depth. This layered approach makes elements feel embedded in the page rather than floating above it.
#f6f5f4) background shifts| Name | Width | Key Changes |
|---|---|---|
| Mobile Small | <400px | Tight single column, minimal padding |
| Mobile | 400-600px | Standard mobile, stacked layout |
| Tablet Small | 600-768px | 2-column grids begin |
| Tablet | 768-1080px | Full card grids, expanded padding |
| Desktop Small | 1080-1200px | Standard desktop layout |
| Desktop | 1200-1440px | Full layout, maximum content width |
| Large Desktop | >1440px | Centered, generous margins |
2px solid with focus color + shadow level 200#a39e98) text, reduced opacity#0075de)#ffffff)#f6f5f4)rgba(0,0,0,0.95))rgba(0,0,0,0.95))#615d59)#a39e98)1px solid rgba(0,0,0,0.1)#0075de)#097fe8)Notion's voice operates on two registers. Current marketing copy — "The AI workspace that works for you.", "Meet the night shift.", "More productivity. Fewer tools." — is terse, imperative, and confidently practical. But when Notion writes about itself at length (careers, about, long-form blog), the voice shifts to lineage: Alan Kay quotes, references to "early computing pioneers", and the now-famous LEGO metaphor "a set of Legos (if Legos were designed by The New York Times)". The dual register is the signature — pragmatic at the surface, intellectual at the foundation.
| Context | Tone |
|---|---|
| Hero headlines | Short, confident, promise-driven. "The AI workspace that works for you." |
| Product feature copy | Consolidation-framed. "More productivity. Fewer tools." Not feature-listy. |
| CTAs | Imperative verb + noun. "Get Notion free", "Contact sales", "Request a demo". |
| Empty states | Encouraging without being perky. Guide the first action, never congratulatory. |
| Docs / help | Neutral, thorough, respects reader's time. Screenshots are high-fidelity and unnarrated. |
| Careers / about | Lineage voice. References pioneers, craft, the LEGO-by-NYT metaphor. |
| Changelog / Release notes | Ship-proud but understated. Past tense, specific, unglamorous. |
| Blog / long-form | Essayistic. Ideas-first; screenshots illustrating ideas, not decorating them. |
Forbidden phrases. "Revolutionary", "game-changer", "unleash", "next-generation", "10x". Toast strings like "You're amazing! 🎉". Corporate verbs like "leverage", "synergize", "optimize" as self-descriptors. Emoji at the start of product-surface strings — Notion treats emoji as first-class block icons for users; the product's own voice is not emoji-spammy. Adjective stacks on capabilities ("powerful, flexible, intuitive").
Notion was founded in San Francisco by Ivan Zhao and Simon Last in the mid-2010s. The founding thesis — still centered in Notion's careers and about pages — inherits from the "tools for thought" lineage of Douglas Engelbart and Alan Kay: software as a medium that, in Notion's own phrasing, "amplify[s] our imagination, extend[s] our intellect, and help[s] us model information in ways never before seen." Alan Kay is quoted directly on Notion's about page: "The best way to predict the future is to invent it." Notion frames itself explicitly as a continuation of that intellectual project.
The product metaphor is building blocks — what Notion's own careers page calls "a set of Legos (if Legos were designed by The New York Times)." That sentence captures the whole aesthetic in one line: modularity like Lego, but composed with the taste of a high editorial design desk. Every block (text, page, database, embed, toggle) is treated as a small typographic object with the care a New York Times story would get, not a spreadsheet cell.
What Notion refuses: the rigid schemas of traditional productivity software (Jira-style workflows, SharePoint-style wikis), the cold-glass aesthetic of enterprise SaaS (blue-gray palettes, generic illustrations of laptops), and playful-at-the-expense-of-serious design (cartoon mascots, decorative emoji applied by the product itself). What it embraces: warm neutrals with yellow-brown undertones, NotionInter as a modified but restrained Inter, whisper-thin 1px solid rgba(0,0,0,0.1) borders, and the user's own emoji choices as the primary source of color and personality on any given page.
#f6f5f4, #31302e, #615d59) are the warmth. Illustrations and stickers are user-supplied; the product's own chrome provides warmth through color temperature alone.#0075de anchors CTAs and primary interactive moments. Everything else lives in the warm-neutral scale. Rainbow-accent design would betray the block-as-canvas philosophy.Personas below are fictional archetypes informed by publicly observable Notion user segments (knowledge workers, startup operators, writers, researchers, small-team leaders), not individual people.
Sophie Tremblay, 29, Montreal. Operations manager at a 40-person B2B startup. Notion is her single workspace — company wiki, project tracker, personal second brain. Has ~60 pages arranged in a nested hierarchy she has built over three years. Notices immediately when a Notion release subtly shifts the line-height of body text because she reads in Notion for 5 hours a day. Would be horrified by any "redesign" that removed the warm neutral palette.
Hiroshi Tanaka, 37, Osaka. Independent researcher and academic writer. Uses Notion for literature review, manuscript drafting, and citation management. Values the block-level typography because his notes include Japanese, English, and occasional LaTeX — NotionInter's "lnum" and "locl" features matter to him directly. Reads long-form essays on the Notion blog for their ideas-first voice; ignores promotional posts.
Amaka Obi, 25, Lagos. Solo founder building a creator-economy SaaS. Uses Notion as internal docs, a public customer FAQ (via publishing), and a public customer-facing changelog. Uses emoji as page icons extensively — the page icons are effectively her brand's color scheme. Notices immediately when a SaaS competitor uses a Notion-clone layout without the "LEGO-by-NYT" taste, and writes them off.
Priscilla Mendes, 42, Lisbon. Chief of Staff at a Series-C SaaS company. Runs her CEO's weekly meeting off a Notion database, an embedded calendar, and a toggled prep doc. Does not use Notion AI by default — prefers the empty canvas because it forces her to write the agenda, not delegate it. Would not use Notion if the product copy sounded like it was selling her productivity.
| State | Treatment |
|---|---|
| Empty (new page) | White canvas. Single placeholder string in warm gray (#a39e98) at body size: "Press space for AI, / for commands…". Blinking cursor in warm near-black. No illustration, no onboarding tour. The blank page is the welcome. |
| Empty (database, no rows) | Warm gray (#615d59) caption: "No items yet." One link ("Add a row") in Notion Blue. Database schema visible above, so the user can see what to add to. |
| Empty (search, no results) | Warm gray caption: "No results for <query>." Nothing else — Notion trusts users to rephrase or move on without illustration. |
| Loading (page first paint) | Warm neutral (#f6f5f4) skeleton blocks matching the block-level structure of the page. Ultra-thin border maintained on skeleton blocks. 1.5s shimmer in a lighter warm tone. |
| Loading (block rendering, real-time) | Individual block renders with a 180ms opacity fade from 0.6 → 1.0. Cursor position preserved. Never a spinner on an individual block. |
| Error (sync failed) | Top-right inline indicator — small warm-gray dot that transitions to a muted red when sync fails. Tooltip on hover: specific failure reason + retry action. Never a modal; Notion does not block the document. |
| Error (form validation, database property) | Field-level. 13px caption below the property in muted red (not bright). States what is invalid and what would be valid. |
| Error (AI response failure) | Inline under the AI action. One line of warm-gray text: "Couldn't complete that. Try again." + reason if known. Blameless, concise. |
| Success (comment added) | Comment appears inline with a 300ms fade. No toast, no celebratory emoji. The comment's presence is the confirmation. |
| Success (page published to web) | Toast at bottom-left with warm-gray background and near-black text: "Published to web." Link + copy-URL action inline. 5s auto-dismiss. |
| Skeleton | Warm neutral #f6f5f4 blocks at exact block dimensions. Ultra-thin border preserved. Shimmer uses a lighter warm tone, never cool blue. |
| Disabled | Opacity on text and ultra-thin border together. Primary Notion Blue actions become rgba(0,117,222,0.3). |
| AI thinking (Notion AI) | A small waveform / "thinking" indicator inline at the AI invocation point. Stays within the block flow — never floats over the document. |
Durations:
| Token | Value | Use |
|---|---|---|
motion-instant | 0ms | Selection, toggle commit, keyboard shortcut confirm |
motion-fast | 150ms | Hover, focus, block drag-handle reveal |
motion-standard | 220ms | Sheet, popover, database view switch |
motion-slow | 360ms | Page transitions on marketing surfaces, rare hero reveals |
Easings:
| Token | Curve | Use |
|---|---|---|
ease-enter | cubic-bezier(0.2, 0.6, 0.25, 1) | Arriving — popovers, sheets, toggle expand |
ease-exit | cubic-bezier(0.4, 0.0, 1, 1) | Dismissals |
ease-standard | cubic-bezier(0.25, 0.1, 0.25, 1) | Two-way transitions |
ease-gentle | cubic-bezier(0.2, 0.4, 0.2, 1) | Block opacity fades, toggle-content reveals — slightly softer entry for in-document changes |
Explicitly forbidden. No spring, no bounce, no overshoot. Blocks never "pop" into view. A bouncing callout block would undermine the "document as medium" feeling that underwrites the whole product.
Signature motions.
⋮⋮ six-dot icon) fades in at motion-fast with ease-gentle. This is Notion's single most recognizable motion — the "handle that appears when you look at it" is the tactile proof that everything is a block.motion-standard with ease-gentle, height animating from 0 to natural. No scale, no fade — just height. The toggle's content feels physical, not theatrical./ command menu appears at motion-fast with ease-enter. Keyboard-driven, so speed matters; 150ms is deliberately close to instant.prefers-reduced-motion: reduce, all motion-* tokens collapse to motion-instant. Toggle expansions become instantaneous. Drag handles appear immediately on hover. The document remains fully functional.Notion's website embodies the philosophy of the tool itself: a blank canvas that gets out of your way. The design system is built on warm neutrals rather than cold grays, creating a distinctly approachable minimalism that feels like quality paper rather than sterile glass. The page canvas is pure white (`#ffffff`) but the text isn't pure black -- it's a warm
Top 17 hex values found in §2 of DESIGN.md, ranked by usage frequency.
A wider example card showing how content sits inside the radius and shadow combination defined by this brand. Card radius is capped at 16px even on pill systems (LINE/Wise/Spotify) so large surfaces stay readable.
Shadow recipes parsed from §6 of DESIGN.md, or default 5-tier scale if none found.