Skip to main content
Back to Examples

Revolut

Add this design system to use its color palette, typography, spacing & other tokens while creating your own designs.

Digital banking. High-contrast black and white, pill buttons, bold type over cinematic lifestyle photography.

27
core colors
2
typefaces
49
tokens
Now playing — motion preview
01

Palette

primary
#1F1F1F
on-primary
#FFFFFF
accent
#234FA6
action-blue
#376CD5
surface
#FFFFFF
surface-grouped
#F7F7F7
surface-secondary
#F4F5F6
hero-gradient
LINEAR-GRADIENT(#4C8ACC 0%, #3991D8 100%)
on-surface
#1F1F1F
on-surface-secondary
RGBA(31,31,31,0.65)
on-surface-tertiary
RGBA(31,31,31,0.8)
hairline
#E2E2E7
hairline-soft
#EBEBF0
success
#005F48
error
#A90B1A
warning
#774915
blue
#4275DB
cold-blue
#0666EB
green
#09BE67
deep-purple
#7952F6
indigo
#6262D3
pink
#E950A4
cyan
#099EA7
orange
#D97400
red
#F54C3E
teal
#00A17A
premium-gradient
LINEAR-GRADIENT(180DEG, #99A2B3 -6.25%, #2C3C61 100%)
02

Typography

marketing-display1The quick brown fox jumps"Aeonik Pro", "Inter", -apple-system, "Segoe UI", Roboto, sans-serif
56px
marketing-display2The quick brown fox jumps"Aeonik Pro", "Inter", -apple-system, "Segoe UI", Roboto, sans-serif
40px
headingThe quick brown fox jumps"Inter", -apple-system, "Segoe UI", Roboto, sans-serif
24px
subheaderThe quick brown fox jumps"Inter", -apple-system, "Segoe UI", Roboto, sans-serif
18px
body1The quick brown fox jumps"Inter", -apple-system, "Segoe UI", Roboto, sans-serif
16px
body2The quick brown fox jumps"Inter", -apple-system, "Segoe UI", Roboto, sans-serif
14px
captionThe quick brown fox jumps"Inter", -apple-system, "Segoe UI", Roboto, sans-serif
12px
03

Spacing & Shape

TokenValuePreview
sp1004px
sp2008px
sp30012px
sp40016px
sp50020px
sp60024px
sp80032px
sp100040px
04

Border Radius

TokenValuePreview
r44px
r88px
r1212px
r1616px
r2424px
r3232px
full9999px
05

design.md

design.mdreadable by AI agents
tokens (raw)
name: revolut-design
version: alpha
description: >
  Revolut runs a mature in-house design system ("RUI") with a white app canvas, a
  near-black ink (#1f1f1f), and a deep accent blue (#234fa6) — but its marketing hero
  is a confident mid-blue gradient panel. The signature voltage is black: the primary
  CTA is a solid near-black pill ("Download the app", "Move your salary"). Type is the
  marketing display face Aeonik Pro (Inter as the product/system fallback), set big and
  tight; UI runs Inter at heavy weights (800 headings). Shapes use a generous radius
  ladder (2–32px) plus full pills. Signature moves: the blue hero gradient, fully-tokenized
  semantic colors, a broad fintech color spectrum, and large award/social-proof grids.
colors:
  # Brand
  primary: '#1f1f1f'          # foreground / near-black — primary pill buttons & ink
  on-primary: '#ffffff'
  accent: '#234fa6'           # rui-color-accent — deep blue (focus, links)
  action-blue: '#376cd5'      # action background blue
  # Surface
  surface: '#ffffff'          # page / app background
  surface-grouped: '#f7f7f7'  # grouped background (grey-2)
  surface-secondary: '#f4f5f6'# grey-5
  hero-gradient: 'linear-gradient(#4c8acc 0%, #3991d8 100%)' # blue marketing hero panel
  # Text
  on-surface: '#1f1f1f'       # primary text
  on-surface-secondary: 'rgba(31,31,31,0.65)' # grey-tone-20
  on-surface-tertiary: 'rgba(31,31,31,0.8)'
  # Hairlines
  hairline: '#e2e2e7'         # grey-10
  hairline-soft: '#ebebf0'    # grey-8
  # Semantic
  success: '#005f48'          # positive
  error: '#a90b1a'            # danger / negative
  warning: '#774915'
  # Spectrum (fintech category / product accents)
  blue: '#4275db'
  cold-blue: '#0666eb'
  green: '#09be67'
  deep-purple: '#7952f6'
  indigo: '#6262d3'
  pink: '#e950a4'
  cyan: '#099ea7'
  orange: '#d97400'
  red: '#f54c3e'
  teal: '#00a17a'
  # Plan metals
  premium-gradient: 'linear-gradient(180deg, #99a2b3 -6.25%, #2c3c61 100%)'
typography:
  marketing-display1:
    fontFamily: '"Aeonik Pro", "Inter", -apple-system, "Segoe UI", Roboto, sans-serif'
    fontSize: 56px            # 3.5rem (renders larger on hero, ~83px)
    fontWeight: 500
    lineHeight: 1.0
    letterSpacing: -2px       # negative, scales with size
  marketing-display2:
    fontFamily: '{typography.marketing-display1.fontFamily}'
    fontSize: 40px
    fontWeight: 500
    lineHeight: 1.0
    letterSpacing: -0.6px
  heading:                    # product UI heading (Inter)
    fontFamily: '"Inter", -apple-system, "Segoe UI", Roboto, sans-serif'
    fontSize: 24px            # heading2 1.5rem
    fontWeight: 800
    lineHeight: 1.25
  subheader:
    fontFamily: '{typography.heading.fontFamily}'
    fontSize: 18px
    fontWeight: 700
    lineHeight: 1.33
  body1:
    fontFamily: '{typography.heading.fontFamily}'
    fontSize: 16px
    fontWeight: 500
    lineHeight: 1.375
  body2:
    fontFamily: '{typography.heading.fontFamily}'
    fontSize: 14px
    fontWeight: 500
    lineHeight: 1.43
  caption:
    fontFamily: '{typography.heading.fontFamily}'
    fontSize: 12px
    fontWeight: 400
    lineHeight: 1.5
    letterSpacing: 0.18px
rounded:
  r4: 4px      # rui-radius-r4
  r8: 8px
  r12: 12px    # default control radius
  r16: 16px    # widget / card radius
  r24: 24px
  r32: 32px    # popup
  full: 9999px # pill buttons
spacing:        # rem-based (rui-space), base 4px
  sp100: 4px
  sp200: 8px
  sp300: 12px
  sp400: 16px
  sp500: 20px
  sp600: 24px
  sp800: 32px
  sp1000: 40px
components:
  button-primary:              # "Download the app" / "Move your salary"
    backgroundColor: '{colors.primary}'
    textColor: '{colors.on-primary}'
    typography: '{typography.body1}'
    rounded: '{rounded.full}'
    height: '52px'             # rui-size-button-md 3.25rem
    padding: '0 24px'
  button-secondary:            # "Reject non-essential cookies"
    backgroundColor: 'transparent'
    textColor: '{colors.on-surface}'
    borderColor: '{colors.primary}'
    borderWidth: '1.5px'
    rounded: '{rounded.full}'
  card:
    backgroundColor: '{colors.surface-grouped}'
    rounded: '{rounded.r16}'
    textColor: '{colors.on-surface}'
    boxShadow: '{shadows.level2}'
  plan-card:                   # "Standard / Plus / Premium / Metal"
    backgroundColor: '{colors.surface}'
    rounded: '{rounded.r16}'
    arrow: 'bottom-right → glyph'
  sales-banner: 'linear-gradient(to right, #1227fd, #6fa0ff)'
shadows:
  level1: '0 2px 3px rgba(0,0,0,0.05)'
  level2: '0 3px 8px rgba(0,0,0,0.1)'
  level3: '0 3px 30px rgba(0,0,0,0.08)'
  level4: '0 16px 64px rgba(0,0,0,0.12)'
motion:
  easing-default: 'cubic-bezier(0.15, 0.5, 0.5, 1)'
  easing-toast: 'cubic-bezier(0.175, 0.885, 0.21, 1.65)' # springy
  duration-sm: 200ms
  duration-md: 300ms
  duration-lg: 450ms
icons:
  style: outline
  sizes: { sm: 16px, md: 20px, lg: 24px }
  color: '{colors.on-surface}'

Revolut

revolut-design · alpha

Overview

Revolut ships a fully tokenized in-house system ("RUI"). The product/app canvas is white with near-black ink (#1f1f1f) and a deep brand blue (accent #234fa6), but the marketing hero is a confident mid-blue gradient panel (#4c8acc → #3991d8) with quiet low-contrast headline text. The dominant action color is black: the primary CTA is a solid near-black pill ("Download the app", "Move your salary"). Type splits in two — the marketing display face is Aeonik Pro (set big, weight 500, tight negative tracking), while the product UI runs Inter at heavy weights (800 headings). The system carries a broad fintech color spectrum (blue/green/purple/pink/cyan/orange/teal/red…) for category and product accents, plus metallic plan gradients (Premium/Metal/Ultra). Shapes use a wide radius ladder (2–32px) topped by full pills, soft multi-level shadows, and a springy toast easing curve. The tone is premium, global, and trustworthy.

Colors

Brand — everyday primary is near-black #1f1f1f (CTA pills + ink). The blue accent #234fa6 drives focus/links, with action-blue #376cd5 for interactive fills. The hero uses the blue gradient; a separate sales banner runs #1227fd → #6fa0ff.

Surface — white canvas; surface-grouped #f7f7f7 and surface-secondary #f4f5f6 for grouped/elevated areas. Dark sections (e.g. "Choose your plan") invert to near-black with white plan cards.

Texton-surface #1f1f1f; secondary/tertiary via alpha (rgba(31,31,31,0.65 / 0.8)).

Hairlineshairline #e2e2e7 / hairline-soft #ebebf0.

Semanticsuccess #005f48, error #a90b1a, warning #774915.

Spectrum — a large named fintech palette (blue, cold-blue, green, deep-purple, indigo, pink, cyan, orange, teal, red) used for product/category accents — never as broad page fills. Plan tiers get metallic gradients (Premium/Metal/Ultra).

Typography

Two families: Aeonik Pro for marketing display (fallback Inter), and Inter for the product UI and body. Closest open-source substitutes: Inter throughout, or a geometric grotesque for the Aeonik display role. Marketing display is weight 500 with strong negative tracking; product headings are heavy 800; body is 500.

TokenSizeWeightLine-heightTrackingUsage
marketing-display156px+5001.0−2pxHero ("Banking & Beyond")
marketing-display240px5001.0−0.6pxSection heads ("Your salary, reimagined")
heading24px8001.250Product UI headings
subheader18px7001.330Sub-heads
body116px5001.3750Body / buttons
body214px5001.430Secondary copy
caption12px4001.5+0.18pxLegal / fine print

Layout

Spacing is rem-based on a 4px unit (sp100…sp1000). A constrained content width (~1000px) with a 72px nav. The homepage alternates blue/white/black full-width bands; a 3-up carousel of phone mockups, an award grid ("World's Best Digital Bank"), and a dark "Choose your plan" stack of white plan cards each with a bottom-right glyph. Generous whitespace.

Elevation & Depth

A 4-level soft shadow ladder (level1 → level4, 5–12% black) lifts cards and popovers. The brand leans on gradients (hero blue, sales banner, metallic plans) plus subtle shadow; nothing harsh. Modals use a 40% black scrim.

Shapes

Radius ladder 2 / 4 / 8 / 12 / 16 / 24 / 32px plus full pills. Controls default to ~12px, widgets/cards to 16px, popups to 24–32px, and buttons to full pill. The vocabulary is soft and premium.

Components

  • button-primary — solid near-black pill, white text, ~52px tall (md).
  • button-secondary — transparent pill with 1.5px black outline ("Reject non-essential cookies").
  • cardsurface-grouped fill, 16px radius, soft level-2 shadow.
  • plan-card — white rounded card with title, price, blurb, and a bottom-right arrow glyph.
  • award/proof grid — multi-column centered text grid of accolades.

Motion

Durations 200 / 300 / 450 / 900ms on cubic-bezier(0.15,0.5,0.5,1). Toasts use a springy cubic-bezier(0.175,0.885,0.21,1.65) for a subtle bounce. A 1500ms skeleton shimmer covers loading. Motion is smooth and premium; the spring is reserved for small notification moments.

Iconography

Outline icons at 16/20/24px in on-surface. The Revolut wordmark is the brand mark; plan tiers and product categories carry their own accent colors. Fine print and disclaimers are extensive (financial product).

Do's and Don'ts

  • Do use near-black pill CTAs as the primary action; reserve the blue gradient for hero/brand bands.
  • Do set marketing headlines in Aeonik Pro (weight 500, tight tracking) and UI headings in Inter 800.
  • Do use the radius ladder — ~12px controls, 16px cards, full-pill buttons.
  • Do use the fintech spectrum only for category/product accents and metallic plan tiers.
  • Don't flood pages with saturated spectrum colors; the chrome stays black/white/grey.
  • Don't over-shadow; prefer the soft level ladder + gradients.
  • Don't drop the heavy 800 weight on product headings — it's the UI voice.

Known Gaps

  • Revolut exposes a comprehensive RUI token set (captured above). Hero display size renders larger than the base 3.5rem token via responsive scaling. "Aeonik Pro" is licensed — substitute a geometric grotesque or Inter.