W3C Design Tokens
3 filesCross-tool design-token spec (DTCG/W3C). Light + dark mode siblings.
Asana is a work-management platform built around tasks, projects, goals, and portfolios — "where teams do their best work together." The brand voice is calm, organized, and human. Visually, the identity is carried by the three-dot Asana Coral mark (#F06A6A) on a clean white canvas with near-black body text and generous whitespace. Where competing work-management brands lean on blues and greens, Asana commits to a warm, distinctive coral.
Use the [email protected] brand from brand-atoms.com.
Fetch https://brand-atoms.com/dist/brands/asana/1.0.0/json/brand.json
and apply its role mappings (primary, accent, identity, etc.),
reference the fonts in references.fonts, and honor every rule where
severity is "error". Surface any deviation you choose to make.
All converter outputs for [email protected]. Served from
/dist/brands/asana/1.0.0/.
Cross-tool design-token spec (DTCG/W3C). Light + dark mode siblings.
Plain JSON mirror of the resolved brand — palette, fonts, roles, rules.
CSS custom properties on :root with prefers-color-scheme dark.
SCSS variables + Sass maps for swatches, roles, and fonts.
Tailwind v3 theme.extend.colors + fontFamily.
Figma Tokens plugin JSON (Tokens Studio compatible).
Swift enums for SwiftUI / UIKit color + font tokens.
Kotlin objects for Jetpack Compose color + typography tokens.
Human-readable brand guide. Same source as the on-page Brand Guide.
Inline rendering of the Markdown brand guide. Same source as the
markdown/brand-guide.md download.
Asana is a work-management platform built around tasks, projects, goals, and portfolios — "where teams do their best work together." The brand voice is calm, organized, and human. Visually, the identity is carried by the three-dot Asana Coral mark (#F06A6A) on a clean white canvas with near-black body text and generous whitespace. Where competing work-management brands lean on blues and greens, Asana commits to a warm, distinctive coral.
Tags: saas, productivity, asana, work-management
Asana · [email protected] · Proprietary — All Rights Reserved
Asana's brand palette, anchored on the three-dot coral mark — a warm Asana Coral (#F06A6A) carrying the institutional voice on a clean white canvas with near-black body text. Asana's product also uses a documented purple supporting accent, but its exact published brand hex is not catalogued here to avoid fabrication; consumers needing the supporting purple should pull it from Asana's in-product brand documentation at consumption time.
| Role | Font | License | Classification |
|---|---|---|---|
heading |
Inter ([email protected]) |
OFL-1.1 | sans-serif |
body |
Inter ([email protected]) |
OFL-1.1 | sans-serif |
mono |
JetBrainsMono Nerd Font ([email protected]) |
OFL-1.1 | monospace |
| ID | Name | Value |
|---|---|---|
asana-coral |
Asana Coral | #F06A6A |
asana-white |
Asana White | #FFFFFF |
asana-black |
Asana Black | #1E1F21 |
asana-canvas-dark |
Asana Canvas Dark | #1E1F21 |
asana-surface-light |
Asana Surface Light | #F6F4F2 |
asana-surface-dark |
Asana Surface Dark | #2D2E30 |
asana-text-secondary |
Asana Text Secondary | #6D6E6F |
asana-text-tertiary |
Asana Text Tertiary | #9CA6AF |
asana-coral-hover |
Asana Coral Hover | #F58A8A |
| Role | Swatch | Hex |
|---|---|---|
background |
asana-white |
#FFFFFF |
surface |
asana-surface-light |
#F6F4F2 |
surface-elevated |
asana-white |
#FFFFFF |
text-primary |
asana-black |
#1E1F21 |
text-secondary |
asana-text-secondary |
#6D6E6F |
text-tertiary |
asana-text-tertiary |
#9CA6AF |
primary |
asana-coral |
#F06A6A |
primary-hover |
asana-coral-hover |
#F58A8A |
accent |
asana-coral |
#F06A6A |
accent-hover |
asana-coral-hover |
#F58A8A |
warning |
asana-coral |
#F06A6A |
warning-hover |
asana-coral-hover |
#F58A8A |
error |
asana-coral |
#F06A6A |
success |
asana-coral |
#F06A6A |
| Role | Swatch | Hex |
|---|---|---|
background |
asana-canvas-dark |
#1E1F21 |
surface |
asana-surface-dark |
#2D2E30 |
surface-elevated |
asana-surface-dark |
#2D2E30 |
text-primary |
asana-white |
#FFFFFF |
text-secondary |
asana-text-tertiary |
#9CA6AF |
text-tertiary |
asana-text-secondary |
#6D6E6F |
primary |
asana-coral |
#F06A6A |
primary-hover |
asana-coral-hover |
#F58A8A |
accent |
asana-coral |
#F06A6A |
accent-hover |
asana-coral-hover |
#F58A8A |
warning |
asana-coral |
#F06A6A |
warning-hover |
asana-coral-hover |
#F58A8A |
error |
asana-coral |
#F06A6A |
success |
asana-coral |
#F06A6A |
| Role | Swatch | Hex |
|---|---|---|
identity |
asana-coral |
#F06A6A |
on-identity |
asana-white |
#FFFFFF |
primary |
asana-coral |
#F06A6A |
primary-hover |
asana-coral-hover |
#F58A8A |
accent |
asana-coral |
#F06A6A |
accent-hover |
asana-coral-hover |
#F58A8A |
success |
asana-coral |
#F06A6A |
warning |
asana-coral |
#F06A6A |
error |
asana-coral |
#F06A6A |
background-light |
asana-white |
#FFFFFF |
background-dark |
asana-canvas-dark |
#1E1F21 |
surface-light |
asana-surface-light |
#F6F4F2 |
surface-dark |
asana-surface-dark |
#2D2E30 |
text-primary-light |
asana-black |
#1E1F21 |
text-primary-dark |
asana-white |
#FFFFFF |
| Role | Font role key |
|---|---|
display |
heading |
prose |
body |
code |
mono |
colorChoice → logo.markThe Asana three-dot mark is rendered in Asana Coral on light surfaces and in white on dark surfaces. Recoloring the mark into off-brand hues violates Asana's brand-use guidance.
forbiddenTreatment → logoAsana's brand resources prohibit stretching, rotating, recoloring, or applying decorative effects to the three-dot mark. The geometry and color of the mark are fixed.
contrastRatio → text-primarybackground4.5WCAG-AAWCAG 2.1 Level AA contrast minimum for body text. Asana Black (#1E1F21) on Asana White (#FFFFFF) clears AA comfortably.
variantSelection → logologo-lightbackgroundColorScheme="dark"On dark surfaces, use the light-fill three-dot variant; do not place the coral mark on a busy or dark canvas where the three dots fail contrast.
contextRestriction → roles.colors.identityAsana's trademark guidance forbids use of the Asana name and mark in third-party company names, domains, and uses that imply affiliation or endorsement.
accessibilityRequirement → *WCAG-AA1.4.3WCAG 2.1 Success Criterion 1.4.3 (Contrast Minimum) — Level AA. Asana-skinned surfaces must clear AA on body text.
enumMembership → typography.heading.fontWeightAsana's marketing surfaces render headings in the 500–700 band; lighter weights undermine the confident, organized voice of the brand.
compositionConstraint → roles.colors.identityAsana Coral is calibrated to read on white, on warm off-white, and on near-black. Pairing it with another saturated hue at the same weight breaks the calm typographic voice of the brand surface.
numericRatio → typography.body.lineHeight1.41.65Asana's product surface reads with disciplined line-height in the 1.4–1.65 band. Tighter values feel cramped; looser values break the calm, organized rhythm.
Proprietary — All Rights Reserved2026-05-18Generated by the brand-atoms converter. Source: [email protected] from the encyclopedia.
Every block below renders from the resolved palette + font references on this brand. Swap the brand and the same template re-themes — no per-brand component code required.
Body copy renders in the brand's prose font on the brand's background.
Inline links and highlighted phrases pick up
the brand's primary and highlight roles. Code spans like brand.references.palette
fall back to the monospace face.
A blockquote uses the brand's accent color as its rule. Useful for pulling tagline copy out of running prose.
Neutral status — provides supplemental context without urgency. Uses the brand's primary as the rule.
Confirms a completed action — palette role success determines the rule color.
Calls out something that needs attention but isn't an error — palette role warning.
Surfaces a failure that blocks progress — palette role error. Use sparingly.
| Role | Resolves to | Mode |
|---|---|---|
| primary | brand color #1 | light + dark |
| accent | brand color #2 | light + dark |
| warning | brand warning | light + dark |
| error | brand error | light + dark |
Brand-level role overrides on top of palette-default mappings. Each role resolves to a concrete swatch or font reference.
→ asana-coral #F06A6A → asana-coral-hover #F58A8A → asana-canvas-dark #1E1F21 → asana-white #FFFFFF → asana-coral #F06A6A → asana-coral #F06A6A → asana-white #FFFFFF → asana-coral #F06A6A → asana-coral-hover #F58A8A → asana-coral #F06A6A → asana-surface-dark #2D2E30 → asana-surface-light #F6F4F2 → asana-white #FFFFFF → asana-black #1E1F21 → asana-coral #F06A6A → mono JetBrainsMono Nerd Font → heading Inter → body Inter → asana-coral → asana-coral-hover → asana-white → asana-coral → asana-coral → asana-coral-hover → asana-coral → asana-surface-light → asana-white → asana-black → asana-text-secondary → asana-text-tertiary → asana-coral → asana-coral-hover → asana-coral → asana-coral-hover → asana-canvas-dark → asana-coral → asana-coral → asana-coral-hover → asana-coral → asana-surface-dark → asana-surface-dark → asana-white → asana-text-tertiary → asana-text-secondary → asana-coral → asana-coral-hover colorChoice logo.mark allowed asana-coral, asana-white, asana-black forbidden any-non-brand-color The Asana three-dot mark is rendered in Asana Coral on light surfaces and in white on dark surfaces. Recoloring the mark into off-brand hues violates Asana's brand-use guidance.
forbiddenTreatment logo treatments stretched, rotated, recolored, drop-shadow, on-busy-photo, gradient-fill Asana's brand resources prohibit stretching, rotating, recoloring, or applying decorative effects to the three-dot mark. The geometry and color of the mark are fixed.
contrastRatio text-primary against background minRatio 4.5 standard WCAG-AA WCAG 2.1 Level AA contrast minimum for body text. Asana Black (#1E1F21) on Asana White (#FFFFFF) clears AA comfortably.
variantSelection logo use logo-light when backgroundColorScheme="dark" On dark surfaces, use the light-fill three-dot variant; do not place the coral mark on a busy or dark canvas where the three dots fail contrast.
contextRestriction roles.colors.identity forbiddenContexts product-of-competitor, merchandise, endorsement-implication, company-name-or-domain Asana's trademark guidance forbids use of the Asana name and mark in third-party company names, domains, and uses that imply affiliation or endorsement.
accessibilityRequirement * standard WCAG-AA criterion 1.4.3 WCAG 2.1 Success Criterion 1.4.3 (Contrast Minimum) — Level AA. Asana-skinned surfaces must clear AA on body text.
enumMembership typography.heading.fontWeight allowed 500, 600, 700 Asana's marketing surfaces render headings in the 500–700 band; lighter weights undermine the confident, organized voice of the brand.
compositionConstraint roles.colors.identity pairsWith asana-white, asana-black, asana-surface-light Asana Coral is calibrated to read on white, on warm off-white, and on near-black. Pairing it with another saturated hue at the same weight breaks the calm typographic voice of the brand surface.
numericRatio typography.body.lineHeight min 1.4 max 1.65 Asana's product surface reads with disciplined line-height in the 1.4–1.65 band. Tighter values feel cramped; looser values break the calm, organized rhythm.
Proprietary — All Rights Reserved2026-05-18