W3C Design Tokens
3 filesCross-tool design-token spec (DTCG/W3C). Light + dark mode siblings.
Postman is the API platform — request builder, collection runner, workspace collaboration, and API governance. The brand voice is developer-direct, warm, and tooling-confident: a saturated orange (#FF6C37) anchors the identity, a clean light canvas carries the marketing surface, and a deep "Postman Plum" inverts the product chrome for hero modules. Typography on the marketing site is the proprietary "degular" display sans paired with IBM Plex Mono for code; the brand is light-first.
Use the [email protected] brand from brand-atoms.com.
Fetch https://brand-atoms.com/dist/brands/postman/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/postman/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.
Postman is the API platform — request builder, collection runner, workspace collaboration, and API governance. The brand voice is developer-direct, warm, and tooling-confident: a saturated orange (#FF6C37) anchors the identity, a clean light canvas carries the marketing surface, and a deep "Postman Plum" inverts the product chrome for hero modules. Typography on the marketing site is the proprietary "degular" display sans paired with IBM Plex Mono for code; the brand is light-first.
Tags: postman, api, developer-tools, orange, light-first
Postman · [email protected] · Proprietary — All Rights Reserved
Postman's brand palette, captured from the live postman.com stylesheet where the design system exposes a fully named token set on :root (--demo-brand, --demo-content-, --demo-bg-, --demo-border-*). The brand reads as a single saturated orange primary (#FF6C37) against a clean light canvas, with secondary surface tints (a near-white #F9F9F9 and a step warmer #F2F2F2) and a dark "Postman Plum" #140B1E used as the product chrome inversion. Postman's brand is light-first on the marketing surface, dark-first on the product canvas.
| Role | Font | License | Classification |
|---|---|---|---|
heading |
Plus Jakarta Sans ([email protected]) |
OFL-1.1 | sans-serif |
body |
Plus Jakarta Sans ([email protected]) |
OFL-1.1 | sans-serif |
mono |
IBM Plex Mono ([email protected]) |
OFL-1.1 | monospace |
| ID | Name | Value |
|---|---|---|
postman-orange |
Postman Orange | #FF6C37 |
postman-orange-pressed |
Postman Orange Pressed | #E0531F |
postman-orange-deep |
Postman Orange Deep | #D23F0E |
postman-orange-tint |
Postman Orange Tint | #FFF1EB |
postman-canvas |
Postman Canvas | #FFFFFF |
postman-surface |
Postman Surface | #F9F9F9 |
postman-surface-elevated |
Postman Surface Elevated | #F2F2F2 |
postman-border-subdued |
Postman Border Subdued | #F2F2F2 |
postman-border |
Postman Border | #EDEDED |
postman-border-strong |
Postman Border Strong | #E6E6E6 |
postman-ink |
Postman Ink | #212121 |
postman-ink-secondary |
Postman Ink Secondary | #6B6B6B |
postman-ink-tertiary |
Postman Ink Tertiary | #A6A6A6 |
postman-plum |
Postman Plum | #140B1E |
postman-success |
Postman Success | #007F31 |
postman-success-active |
Postman Success Active | #0CBB52 |
postman-warning |
Postman Warning | #AD7A03 |
postman-error |
Postman Error | #8E1A10 |
postman-purple |
Postman Purple | #4C207D |
| Role | Swatch | Hex |
|---|---|---|
background |
postman-canvas |
#FFFFFF |
surface |
postman-surface |
#F9F9F9 |
surface-elevated |
postman-surface-elevated |
#F2F2F2 |
text-primary |
postman-ink |
#212121 |
text-secondary |
postman-ink-secondary |
#6B6B6B |
text-tertiary |
postman-ink-tertiary |
#A6A6A6 |
primary |
postman-orange |
#FF6C37 |
primary-hover |
postman-orange-pressed |
#E0531F |
accent |
postman-orange |
#FF6C37 |
accent-hover |
postman-orange-pressed |
#E0531F |
success |
postman-success |
#007F31 |
warning |
postman-warning |
#AD7A03 |
error |
postman-error |
#8E1A10 |
border |
postman-border |
#EDEDED |
| Role | Swatch | Hex |
|---|---|---|
background |
postman-plum |
#140B1E |
surface |
postman-ink |
#212121 |
surface-elevated |
postman-ink-secondary |
#6B6B6B |
text-primary |
postman-canvas |
#FFFFFF |
text-secondary |
postman-surface-elevated |
#F2F2F2 |
text-tertiary |
postman-ink-tertiary |
#A6A6A6 |
primary |
postman-orange |
#FF6C37 |
primary-hover |
postman-orange-pressed |
#E0531F |
accent |
postman-orange |
#FF6C37 |
accent-hover |
postman-orange-pressed |
#E0531F |
success |
postman-success-active |
#0CBB52 |
warning |
postman-warning |
#AD7A03 |
error |
postman-error |
#8E1A10 |
border |
postman-ink-secondary |
#6B6B6B |
| Role | Swatch | Hex |
|---|---|---|
identity |
postman-orange |
#FF6C37 |
on-identity |
postman-canvas |
#FFFFFF |
primary |
postman-orange |
#FF6C37 |
primary-hover |
postman-orange-pressed |
#E0531F |
accent |
postman-orange |
#FF6C37 |
accent-hover |
postman-orange-pressed |
#E0531F |
mark |
postman-orange |
#FF6C37 |
success |
postman-success |
#007F31 |
warning |
postman-warning |
#AD7A03 |
error |
postman-error |
#8E1A10 |
text-primary-light |
postman-ink |
#212121 |
text-primary-dark |
postman-canvas |
#FFFFFF |
background-light |
postman-canvas |
#FFFFFF |
background-dark |
postman-plum |
#140B1E |
surface-light |
postman-surface |
#F9F9F9 |
surface-dark |
postman-ink |
#212121 |
text-secondary-light |
postman-ink-secondary |
#6B6B6B |
text-tertiary-light |
postman-ink-tertiary |
#A6A6A6 |
border-light |
postman-border |
#EDEDED |
| Role | Font role key |
|---|---|
display |
heading |
prose |
body |
code |
mono |
colorChoice → roles.colors.primaryPostman Orange (#FF6C37) is the brand's single signature primary — exposed on the live site as --demo-brand and reinforced through every CTA, mark fill, and brand surface. The purple is a category accent; the greens / reds are state semantics; the ink is text. None of those may stand in for the brand primary.
colorChoice → roles.colors.markThe Postman wordmark and the satellite-mark render in the signature Postman Orange on light surfaces, in Postman Ink monochrome on light surfaces, or in Postman Canvas (white) monochrome on dark surfaces. Pressed orange is a state, not a mark fill.
forbiddenTreatment → logoPostman's mark is a calibrated wordmark + satellite glyph. Stretching, rotating, gradient-filling, or recoloring breaks the developer-direct, tooling-confident voice the live brand surface establishes.
contrastRatio → text-primarybackground4.5WCAG-AAPostman Ink (#212121) on Postman Canvas (#FFFFFF) reads at ~16:1 — well above WCAG AA. The brand's documentation-heavy surface depends on holding that floor cleanly.
contextRestriction → roles.colors.warningPostman Warning (#AD7A03) is the amber caution tone — it must not stand in for the error red or the brand orange primary. Reusing the warning amber for destructive actions conflicts with the established state semantics on the live product UI.
accessibilityRequirement → *WCAG-AA1.4.3WCAG 2.1 Success Criterion 1.4.3 (Contrast Minimum) — Level AA. Postman's canvas / ink combination starts well above AA; consumers must hold that floor when adapting the palette.
enumMembership → typography.heading.fontWeightThe live postman.com surface renders display headings at the 400–700 weight band on the proprietary degular face. The substitute Plus Jakarta Sans family carries the same range; heavier weights are not part of the published display set.
compositionConstraint → roles.colors.primaryPostman Orange reads cleanest on the bright canvas, against deep ink text, on the plum dark canvas, or against its own pale tint. Pairing it adjacent to the warning amber, error red, or category purple introduces a chromatic conflict that breaks the calibrated one-accent voice of the brand.
fontPairing → typography.codeprose0.875Postman pairs degular display with IBM Plex Mono on the live marketing site (--demo-font + --demo-font-code). The mono reads cleanest at ~0.875× of the body size, preserving the developer-direct rhythm of inline-code-in-prose blocks.
Proprietary — All Rights Reserved2026-05-19Generated 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.
→ postman-orange #FF6C37 → postman-orange-pressed #E0531F → postman-plum #140B1E → postman-canvas #FFFFFF → postman-border #EDEDED → postman-error #8E1A10 → postman-orange #FF6C37 → postman-orange #FF6C37 → postman-canvas #FFFFFF → postman-orange #FF6C37 → postman-orange-pressed #E0531F → postman-success #007F31 → postman-ink #212121 → postman-surface #F9F9F9 → postman-canvas #FFFFFF → postman-ink #212121 → postman-ink-secondary #6B6B6B → postman-ink-tertiary #A6A6A6 → postman-warning #AD7A03 → mono IBM Plex Mono → heading Plus Jakarta Sans → body Plus Jakarta Sans → postman-orange → postman-orange-pressed → postman-canvas → postman-border → postman-error → postman-orange → postman-orange-pressed → postman-success → postman-surface → postman-surface-elevated → postman-ink → postman-ink-secondary → postman-ink-tertiary → postman-warning → postman-orange → postman-orange-pressed → postman-plum → postman-ink-secondary → postman-error → postman-orange → postman-orange-pressed → postman-success-active → postman-ink → postman-ink-secondary → postman-canvas → postman-surface-elevated → postman-ink-tertiary → postman-warning colorChoice roles.colors.primary allowed postman-orange, postman-orange-pressed, postman-orange-deep forbidden postman-purple, postman-success, postman-error, postman-ink Postman Orange (#FF6C37) is the brand's single signature primary — exposed on the live site as --demo-brand and reinforced through every CTA, mark fill, and brand surface. The purple is a category accent; the greens / reds are state semantics; the ink is text. None of those may stand in for the brand primary.
colorChoice roles.colors.mark allowed postman-orange, postman-ink, postman-canvas forbidden postman-orange-pressed, postman-purple, postman-success, postman-error The Postman wordmark and the satellite-mark render in the signature Postman Orange on light surfaces, in Postman Ink monochrome on light surfaces, or in Postman Canvas (white) monochrome on dark surfaces. Pressed orange is a state, not a mark fill.
forbiddenTreatment logo treatments stretched, rotated, recolored, drop-shadow, gradient-fill, on-busy-photo Postman's mark is a calibrated wordmark + satellite glyph. Stretching, rotating, gradient-filling, or recoloring breaks the developer-direct, tooling-confident voice the live brand surface establishes.
contrastRatio text-primary against background minRatio 4.5 standard WCAG-AA Postman Ink (#212121) on Postman Canvas (#FFFFFF) reads at ~16:1 — well above WCAG AA. The brand's documentation-heavy surface depends on holding that floor cleanly.
contextRestriction roles.colors.warning forbiddenContexts error-state, destructive-action, call-to-action allowedContexts caution, rate-limit-warning, draft-state Postman Warning (#AD7A03) is the amber caution tone — it must not stand in for the error red or the brand orange primary. Reusing the warning amber for destructive actions conflicts with the established state semantics on the live product UI.
accessibilityRequirement * standard WCAG-AA criterion 1.4.3 WCAG 2.1 Success Criterion 1.4.3 (Contrast Minimum) — Level AA. Postman's canvas / ink combination starts well above AA; consumers must hold that floor when adapting the palette.
enumMembership typography.heading.fontWeight allowed 400, 500, 600, 700 The live postman.com surface renders display headings at the 400–700 weight band on the proprietary degular face. The substitute Plus Jakarta Sans family carries the same range; heavier weights are not part of the published display set.
compositionConstraint roles.colors.primary pairsWith postman-canvas, postman-ink, postman-plum, postman-orange-tint doesNotPairWith postman-error, postman-warning, postman-purple Postman Orange reads cleanest on the bright canvas, against deep ink text, on the plum dark canvas, or against its own pale tint. Pairing it adjacent to the warning amber, error red, or category purple introduces a chromatic conflict that breaks the calibrated one-accent voice of the brand.
fontPairing typography.code requires prose minSizeRatio 0.875 Postman pairs degular display with IBM Plex Mono on the live marketing site (--demo-font + --demo-font-code). The mono reads cleanest at ~0.875× of the body size, preserving the developer-direct rhythm of inline-code-in-prose blocks.
Proprietary — All Rights Reserved2026-05-19