W3C Design Tokens
3 filesCross-tool design-token spec (DTCG/W3C). Light + dark mode siblings.
DigitalOcean, LLC is the developer-cloud company providing Droplets (VMs), App Platform (PaaS), Spaces (object storage), managed databases, Kubernetes, and an opinionated developer- forward cloud experience aimed at individual builders, startups, and small teams. The brand identity is anchored on DigitalOcean Blue (#0080FF) — the fill of the waving-ocean mark — paired with a deeper Navy used in dark-mode marketing. The voice is developer-direct and tutorial-forward: the DigitalOcean Community tutorials carry a substantial portion of the brand's voice, and the marketing surfaces match — short sentences, runnable commands, and concrete pricing.
Use the [email protected] brand from brand-atoms.com.
Fetch https://brand-atoms.com/dist/brands/digitalocean/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/digitalocean/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.
DigitalOcean, LLC is the developer-cloud company providing Droplets (VMs), App Platform (PaaS), Spaces (object storage), managed databases, Kubernetes, and an opinionated developer- forward cloud experience aimed at individual builders, startups, and small teams. The brand identity is anchored on DigitalOcean Blue (#0080FF) — the fill of the waving-ocean mark — paired with a deeper Navy used in dark-mode marketing. The voice is developer-direct and tutorial-forward: the DigitalOcean Community tutorials carry a substantial portion of the brand's voice, and the marketing surfaces match — short sentences, runnable commands, and concrete pricing.
Tags: tech, cloud, digitalocean, developer-cloud, infrastructure
DigitalOcean · [email protected] · Proprietary — All Rights Reserved
DigitalOcean brand palette anchored on DigitalOcean Blue (#0080FF) — the signature blue of the waving-ocean mark and the principal accent across digitalocean.com and the DigitalOcean control panel. The palette pairs DigitalOcean Blue with a deeper Navy used on dark-mode marketing surfaces and a neutral ramp for body copy and UI surfaces.
| 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 |
|---|---|---|
do-blue |
DigitalOcean Blue | #0080FF |
do-blue-dark |
DigitalOcean Blue Dark | #0061C2 |
do-blue-light |
DigitalOcean Blue Light | #3FA1FF |
do-navy |
DigitalOcean Navy | #031B4E |
do-navy-deep |
DigitalOcean Navy Deep | #020E2A |
do-ink |
DigitalOcean Ink | #031B4E |
do-gray |
DigitalOcean Gray | #646F87 |
do-gray-light |
DigitalOcean Gray Light | #8B95A8 |
do-surface |
DigitalOcean Surface | #F4F6F8 |
do-border |
DigitalOcean Border | #DDE3EB |
do-white |
DigitalOcean White | #FFFFFF |
do-success |
DigitalOcean Success | #1E944A |
do-warning |
DigitalOcean Warning | #F2A33A |
do-error |
DigitalOcean Error | #D9534F |
| Role | Swatch | Hex |
|---|---|---|
background |
do-white |
#FFFFFF |
surface |
do-surface |
#F4F6F8 |
surface-elevated |
do-white |
#FFFFFF |
text-primary |
do-ink |
#031B4E |
text-secondary |
do-gray |
#646F87 |
text-tertiary |
do-gray-light |
#8B95A8 |
primary |
do-blue |
#0080FF |
primary-hover |
do-blue-dark |
#0061C2 |
accent |
do-blue-light |
#3FA1FF |
accent-hover |
do-blue |
#0080FF |
warning |
do-warning |
#F2A33A |
warning-hover |
do-error |
#D9534F |
error |
do-error |
#D9534F |
success |
do-success |
#1E944A |
border |
do-border |
#DDE3EB |
| Role | Swatch | Hex |
|---|---|---|
background |
do-navy-deep |
#020E2A |
surface |
do-navy |
#031B4E |
surface-elevated |
do-blue-dark |
#0061C2 |
text-primary |
do-white |
#FFFFFF |
text-secondary |
do-surface |
#F4F6F8 |
text-tertiary |
do-gray-light |
#8B95A8 |
primary |
do-blue-light |
#3FA1FF |
primary-hover |
do-blue |
#0080FF |
accent |
do-blue |
#0080FF |
accent-hover |
do-blue-light |
#3FA1FF |
warning |
do-warning |
#F2A33A |
warning-hover |
do-error |
#D9534F |
error |
do-error |
#D9534F |
success |
do-success |
#1E944A |
border |
do-blue-dark |
#0061C2 |
| Role | Swatch | Hex |
|---|---|---|
identity |
do-blue |
#0080FF |
on-identity |
do-white |
#FFFFFF |
primary |
do-blue |
#0080FF |
primary-hover |
do-blue-dark |
#0061C2 |
accent |
do-blue-light |
#3FA1FF |
accent-hover |
do-blue |
#0080FF |
background |
do-white |
#FFFFFF |
surface |
do-surface |
#F4F6F8 |
surface-elevated |
do-white |
#FFFFFF |
text-primary |
do-ink |
#031B4E |
text-secondary |
do-gray |
#646F87 |
text-tertiary |
do-gray-light |
#8B95A8 |
chrome |
do-navy |
#031B4E |
chrome-deep |
do-navy-deep |
#020E2A |
mark |
do-blue |
#0080FF |
| Role | Font role key |
|---|---|
display |
heading |
prose |
body |
code |
mono |
colorChoice → logo.wave.fillThe DigitalOcean waving-ocean mark renders in DigitalOcean Blue (#0080FF) or reversed white. The pressed-state dark blue, the illustration light blue, and the chrome navy are interactive-state and canvas tokens — none are valid mark fills.
forbiddenTreatment → logoDigitalOcean's brand guidelines explicitly prohibit altering the proportions, color, or orientation of the waving-ocean mark. The wave must not be detached from the DigitalOcean wordmark on shared lockups, and gradient fills are not part of the published brand system.
contrastRatio → text-primarybackground4.5WCAG-AADigitalOcean Ink (#031B4E) on DigitalOcean White gives ~15:1 — well above WCAG 2.1 Level AA. The rule encodes the floor for any new foreground/background pairing on digitalocean.com.
contrastRatio → roles.colors.primarybackground3WCAG-AA-largeDigitalOcean Blue (#0080FF) on DigitalOcean White sits around 4.3:1 — it clears AA for large interactive text and approaches AA for body. The rule enforces the AA-large floor for CTA legibility on the marketing site and the control panel.
accessibilityRequirement → *WCAG-AA1.4.3WCAG 2.1 Success Criterion 1.4.3 (Contrast Minimum) — Level AA. The DigitalOcean Community tutorials and the control-panel chrome both target AA as the floor for developer-documentation legibility.
compositionConstraint → roles.colors.primaryDigitalOcean Blue pairs cleanly against the white canvas and the navy chrome. Pairing the brand blue directly with the warning amber or error red on the same surface creates a status-color conflict that competes with the brand voice.
fontPairing → typography.headingbody1.5DigitalOcean's marketing surfaces use Inter for both heading and body. Keep headings at least 1.5× body to preserve hierarchy when one family does both jobs.
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 |
[email protected][email protected][email protected][email protected]Brand-level role overrides on top of palette-default mappings. Each role resolves to a concrete swatch or font reference.
→ do-blue-light #3FA1FF → do-blue #0080FF → do-white #FFFFFF → do-navy #031B4E → do-navy-deep #020E2A → do-blue #0080FF → do-blue #0080FF → do-white #FFFFFF → do-blue #0080FF → do-blue-dark #0061C2 → do-surface #F4F6F8 → do-white #FFFFFF → do-ink #031B4E → do-gray #646F87 → do-gray-light #8B95A8 → mono JetBrainsMono Nerd Font → heading Inter → body Inter → do-blue-light → do-blue → do-white → do-border → do-error → do-blue → do-blue-dark → do-success → do-surface → do-white → do-ink → do-gray → do-gray-light → do-warning → do-error → do-blue → do-blue-light → do-navy-deep → do-blue-dark → do-error → do-blue-light → do-blue → do-success → do-navy → do-blue-dark → do-white → do-surface → do-gray-light → do-warning → do-error colorChoice logo.wave.fill allowed do-blue, do-white forbidden do-blue-dark, do-blue-light, do-navy The DigitalOcean waving-ocean mark renders in DigitalOcean Blue (#0080FF) or reversed white. The pressed-state dark blue, the illustration light blue, and the chrome navy are interactive-state and canvas tokens — none are valid mark fills.
forbiddenTreatment logo treatments stretched, rotated, recolored, drop-shadow, on-busy-photo, wave-detached-from-wordmark, gradient-fill DigitalOcean's brand guidelines explicitly prohibit altering the proportions, color, or orientation of the waving-ocean mark. The wave must not be detached from the DigitalOcean wordmark on shared lockups, and gradient fills are not part of the published brand system.
contrastRatio text-primary against background minRatio 4.5 standard WCAG-AA DigitalOcean Ink (#031B4E) on DigitalOcean White gives ~15:1 — well above WCAG 2.1 Level AA. The rule encodes the floor for any new foreground/background pairing on digitalocean.com.
contrastRatio roles.colors.primary against background minRatio 3 standard WCAG-AA-large DigitalOcean Blue (#0080FF) on DigitalOcean White sits around 4.3:1 — it clears AA for large interactive text and approaches AA for body. The rule enforces the AA-large floor for CTA legibility on the marketing site and the control panel.
accessibilityRequirement * standard WCAG-AA criterion 1.4.3 WCAG 2.1 Success Criterion 1.4.3 (Contrast Minimum) — Level AA. The DigitalOcean Community tutorials and the control-panel chrome both target AA as the floor for developer-documentation legibility.
compositionConstraint roles.colors.primary pairsWith do-white, do-navy, do-surface doesNotPairWith do-warning, do-error DigitalOcean Blue pairs cleanly against the white canvas and the navy chrome. Pairing the brand blue directly with the warning amber or error red on the same surface creates a status-color conflict that competes with the brand voice.
fontPairing typography.heading requires body minSizeRatio 1.5 DigitalOcean's marketing surfaces use Inter for both heading and body. Keep headings at least 1.5× body to preserve hierarchy when one family does both jobs.
Proprietary — All Rights Reserved2026-05-18