W3C Design Tokens
3 filesCross-tool design-token spec (DTCG/W3C). Light + dark mode siblings.
Bandcamp is an artist-first online music store and audio streaming service where fans buy music and merchandise directly from independent and label-affiliated artists. The brand voice is deliberately understated, catalog-forward, and artist-centric: the platform exists to surface the work, not to decorate it. Visually the identity is the signature Bandcamp Aqua — a muted cadet-blue / ocean-blue accent — applied sparingly against a near-white canvas and deep-ink text. Bandcamp's chrome is famously spare; the aqua reads as the one chromatic note in an otherwise neutral, library-like layout.
Use the [email protected] brand from brand-atoms.com.
Fetch https://brand-atoms.com/dist/brands/bandcamp/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/bandcamp/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.
Bandcamp is an artist-first online music store and audio streaming service where fans buy music and merchandise directly from independent and label-affiliated artists. The brand voice is deliberately understated, catalog-forward, and artist-centric: the platform exists to surface the work, not to decorate it. Visually the identity is the signature Bandcamp Aqua — a muted cadet-blue / ocean-blue accent — applied sparingly against a near-white canvas and deep-ink text. Bandcamp's chrome is famously spare; the aqua reads as the one chromatic note in an otherwise neutral, library-like layout.
Tags: bandcamp, music, indie, marketplace, streaming, light-first, minimal
Bandcamp · [email protected] · Proprietary — All Rights Reserved
Bandcamp's brand palette built around the signature Bandcamp Aqua — the muted cadet-blue / ocean-blue color that fills the wordmark, the "Buy Now" button, and the player accent. The brand is light-first and minimalist: a near-white canvas, the aqua accent, deep ink for text, and a small neutral scale. Bandcamp's identity is deliberately understated — the platform is built around discovery of artist-uploaded music and direct artist support, and the visual restraint reflects an artist-first, catalog-forward voice.
| 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 |
|---|---|---|
bandcamp-aqua |
Bandcamp Aqua | #629AA9 |
bandcamp-aqua-deep |
Bandcamp Aqua Deep | #4A7E8C |
bandcamp-aqua-light |
Bandcamp Aqua Light | #A4C5CE |
bandcamp-ink |
Bandcamp Ink | #202020 |
bandcamp-charcoal |
Bandcamp Charcoal | #444444 |
bandcamp-gray |
Bandcamp Gray | #888888 |
bandcamp-gray-light |
Bandcamp Gray Light | #CCCCCC |
bandcamp-surface |
Bandcamp Surface | #F5F5F5 |
bandcamp-white |
Bandcamp White | #FFFFFF |
| Role | Swatch | Hex |
|---|---|---|
background |
bandcamp-white |
#FFFFFF |
surface |
bandcamp-surface |
#F5F5F5 |
surface-elevated |
bandcamp-white |
#FFFFFF |
text-primary |
bandcamp-ink |
#202020 |
text-secondary |
bandcamp-charcoal |
#444444 |
text-tertiary |
bandcamp-gray |
#888888 |
primary |
bandcamp-aqua |
#629AA9 |
primary-hover |
bandcamp-aqua-deep |
#4A7E8C |
accent |
bandcamp-aqua |
#629AA9 |
accent-hover |
bandcamp-aqua-deep |
#4A7E8C |
warning |
bandcamp-aqua |
#629AA9 |
warning-hover |
bandcamp-aqua-deep |
#4A7E8C |
error |
bandcamp-ink |
#202020 |
success |
bandcamp-aqua |
#629AA9 |
border |
bandcamp-gray-light |
#CCCCCC |
| Role | Swatch | Hex |
|---|---|---|
background |
bandcamp-ink |
#202020 |
surface |
bandcamp-charcoal |
#444444 |
surface-elevated |
bandcamp-gray |
#888888 |
text-primary |
bandcamp-white |
#FFFFFF |
text-secondary |
bandcamp-gray-light |
#CCCCCC |
text-tertiary |
bandcamp-gray |
#888888 |
primary |
bandcamp-aqua-light |
#A4C5CE |
primary-hover |
bandcamp-aqua |
#629AA9 |
accent |
bandcamp-aqua-light |
#A4C5CE |
accent-hover |
bandcamp-aqua |
#629AA9 |
warning |
bandcamp-aqua-light |
#A4C5CE |
warning-hover |
bandcamp-aqua |
#629AA9 |
error |
bandcamp-aqua-light |
#A4C5CE |
success |
bandcamp-aqua-light |
#A4C5CE |
border |
bandcamp-charcoal |
#444444 |
| Role | Swatch | Hex |
|---|---|---|
identity |
bandcamp-white |
#FFFFFF |
on-identity |
bandcamp-aqua |
#629AA9 |
background |
bandcamp-white |
#FFFFFF |
surface |
bandcamp-surface |
#F5F5F5 |
surface-elevated |
bandcamp-white |
#FFFFFF |
text-primary |
bandcamp-ink |
#202020 |
text-secondary |
bandcamp-charcoal |
#444444 |
text-tertiary |
bandcamp-gray |
#888888 |
primary |
bandcamp-aqua |
#629AA9 |
primary-hover |
bandcamp-aqua-deep |
#4A7E8C |
accent |
bandcamp-aqua |
#629AA9 |
accent-hover |
bandcamp-aqua-deep |
#4A7E8C |
mark |
bandcamp-aqua |
#629AA9 |
border |
bandcamp-gray-light |
#CCCCCC |
| Role | Font role key |
|---|---|
display |
heading |
prose |
body |
wordmark |
heading |
code |
mono |
colorChoice → logo.wordmark.fillBandcamp publishes three wordmark variants — aqua, black (ink), and white — on its public buttons / logos page. The aqua-deep and aqua-light variants exist as interactive-state colors on the primary action, not as wordmark fills, and the neutral grays are reserved for body text and dividers.
forbiddenTreatment → logoBandcamp's wordmark is flat-color by design — applying gradients, shadows, or arbitrary recoloring conflicts with the brand's deliberately understated, catalog-forward voice. The aqua / ink / white variants documented on bandcamp.com/buttons are the only approved fills.
contrastRatio → text-primarybackground4.5WCAG-AABandcamp Ink (#202020) on Bandcamp White (#FFFFFF) gives ~17:1 — well clear of WCAG 2.1 Level AA. This rule encodes the floor any new foreground / background role pairing must clear on the light canvas.
contrastRatio → roles.colors.primarybackground3WCAG-AA-largeBandcamp Aqua (#629AA9) on white gives ~3.3:1 — just clear of WCAG 2.1 AA-large. The aqua is functional as a primary CTA fill and an accent on white but is too muted for small body text on the same canvas; treat it as an interactive / accent color, not as a text color.
contextRestriction → roles.colors.primaryBandcamp Aqua is reserved for the wordmark, the "Buy Now" CTA, and the player's accent. Using it for body text collapses its readability margin to below AA, and using it for validation-failure / error states collides with its established positive-action meaning.
accessibilityRequirement → *WCAG-AA1.4.3WCAG 2.1 Success Criterion 1.4.3 (Contrast Minimum) — Level AA. The aqua-on-white pairing sits near the AA-large floor; every new role pairing involving the aqua needs an explicit contrast check.
enumMembership → typography.heading.fontWeightBandcamp's marketing and player chrome use the system sans-serif stack at Regular (400) and Bold (700) for most chrome, with Medium (500) and Semibold (600) used sparingly. The brand's understated voice argues against the heaviest display weights — let the catalog work carry the visual weight, not the type.
fontPairing → typography.headingbody1.3Bandcamp uses a single-family system stack for both headings and body, distinguished by size and weight rather than family change. A 1.3× ratio between heading and body preserves hierarchy without forcing a louder typographic register than the brand voice supports.
compositionConstraint → roles.colors.primaryThe aqua reads cleanest against the white canvas, against the deep ink, or on the pale surface gray. Pairing it against the lighter aqua tint or the mid-gray collapses the contrast and softens the brand's only chromatic note.
Proprietary — All Rights Reserved2026-05-19inter@1 as the open-source rendering fallback for both heading and body roles.Generated 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.
→ bandcamp-aqua #629AA9 → bandcamp-aqua-deep #4A7E8C → bandcamp-white #FFFFFF → bandcamp-gray-light #CCCCCC → bandcamp-white #FFFFFF → bandcamp-aqua #629AA9 → bandcamp-aqua #629AA9 → bandcamp-aqua #629AA9 → bandcamp-aqua-deep #4A7E8C → bandcamp-surface #F5F5F5 → bandcamp-white #FFFFFF → bandcamp-ink #202020 → bandcamp-charcoal #444444 → bandcamp-gray #888888 → mono JetBrainsMono Nerd Font → heading Inter → body Inter → heading Inter → bandcamp-aqua → bandcamp-aqua-deep → bandcamp-white → bandcamp-gray-light → bandcamp-ink → bandcamp-aqua → bandcamp-aqua-deep → bandcamp-aqua → bandcamp-surface → bandcamp-white → bandcamp-ink → bandcamp-charcoal → bandcamp-gray → bandcamp-aqua → bandcamp-aqua-deep → bandcamp-aqua-light → bandcamp-aqua → bandcamp-ink → bandcamp-charcoal → bandcamp-aqua-light → bandcamp-aqua-light → bandcamp-aqua → bandcamp-aqua-light → bandcamp-charcoal → bandcamp-gray → bandcamp-white → bandcamp-gray-light → bandcamp-gray → bandcamp-aqua-light → bandcamp-aqua colorChoice logo.wordmark.fill allowed bandcamp-aqua, bandcamp-ink, bandcamp-white forbidden bandcamp-aqua-deep, bandcamp-aqua-light, bandcamp-gray, bandcamp-gray-light, bandcamp-charcoal Bandcamp publishes three wordmark variants — aqua, black (ink), and white — on its public buttons / logos page. The aqua-deep and aqua-light variants exist as interactive-state colors on the primary action, not as wordmark fills, and the neutral grays are reserved for body text and dividers.
forbiddenTreatment logo treatments stretched, rotated, recolored, drop-shadow, on-busy-photo, gradient-fill Bandcamp's wordmark is flat-color by design — applying gradients, shadows, or arbitrary recoloring conflicts with the brand's deliberately understated, catalog-forward voice. The aqua / ink / white variants documented on bandcamp.com/buttons are the only approved fills.
contrastRatio text-primary against background minRatio 4.5 standard WCAG-AA Bandcamp Ink (#202020) on Bandcamp White (#FFFFFF) gives ~17:1 — well clear of WCAG 2.1 Level AA. This rule encodes the floor any new foreground / background role pairing must clear on the light canvas.
contrastRatio roles.colors.primary against background minRatio 3 standard WCAG-AA-large Bandcamp Aqua (#629AA9) on white gives ~3.3:1 — just clear of WCAG 2.1 AA-large. The aqua is functional as a primary CTA fill and an accent on white but is too muted for small body text on the same canvas; treat it as an interactive / accent color, not as a text color.
contextRestriction roles.colors.primary forbiddenContexts body-text, validation-failure Bandcamp Aqua is reserved for the wordmark, the "Buy Now" CTA, and the player's accent. Using it for body text collapses its readability margin to below AA, and using it for validation-failure / error states collides with its established positive-action meaning.
accessibilityRequirement * standard WCAG-AA criterion 1.4.3 WCAG 2.1 Success Criterion 1.4.3 (Contrast Minimum) — Level AA. The aqua-on-white pairing sits near the AA-large floor; every new role pairing involving the aqua needs an explicit contrast check.
enumMembership typography.heading.fontWeight allowed 400, 500, 600, 700 Bandcamp's marketing and player chrome use the system sans-serif stack at Regular (400) and Bold (700) for most chrome, with Medium (500) and Semibold (600) used sparingly. The brand's understated voice argues against the heaviest display weights — let the catalog work carry the visual weight, not the type.
fontPairing typography.heading requires body minSizeRatio 1.3 Bandcamp uses a single-family system stack for both headings and body, distinguished by size and weight rather than family change. A 1.3× ratio between heading and body preserves hierarchy without forcing a louder typographic register than the brand voice supports.
compositionConstraint roles.colors.primary pairsWith bandcamp-white, bandcamp-ink, bandcamp-surface doesNotPairWith bandcamp-aqua-light, bandcamp-gray The aqua reads cleanest against the white canvas, against the deep ink, or on the pale surface gray. Pairing it against the lighter aqua tint or the mid-gray collapses the contrast and softens the brand's only chromatic note.
Proprietary — All Rights Reserved2026-05-19