Overview
Revolut is a financial app for spending, sending, exchanging and investing money across many countries. Its public site opens on a black stage with huge white headlines, then moves to white product sections with light gray cards. Headlines are Aeonik Pro at 500, set solid with a line height of 1, and text is Inter. A token set that ships with the live site names its radii and surfaces after app parts: widgets, cells, nested cells and popups. [Measured]
What defines the look:
- Black stage, white product. Heroes sit on
#000000and#191c1fwith white type. Product sections are white with#f7f7f7cards. [Measured] - Solid headlines. Aeonik Pro at weight 500 with a line height equal to the size (87.57 on 87.57 at 1440) and slight negative tracking. [Measured]
- Near-black pills. Buttons are full pills in
#1f1f1fwith white text, 40 to 42 high, and white pills with dark text on the black stage. [Measured] - Gray by opacity. Text and chips use one near-black at different strengths: 80 percent for small print and 8 percent for chip fills. [Measured]
- Named radii. Widgets and cells 16, nested parts 12, popups 24, and pills round. [Measured]
Source for this file: the United Kingdom home page, the plans page and the currency converter, measured in a browser at 1440 and 390 wide on 2026-10-15, with a dark color scheme pass, plus the tokens the live site declares on its root element (color channels, type sizes and weights, radii, space, durations and easing). Revolut's design system documentation is not public. The app itself sits behind an account. No app captures were used. See Known Gaps.
Core
Colors
| Role | Value | Where or token name |
|---|---|---|
| Primary button | #1f1f1f with white text | Send, Download the app [Measured] |
| Text | #1f1f1f, small print at 80 percent | foreground, color channel black [Measured] |
| Muted text | #717173 | grey 50 [Measured] |
| Grays | #c9c9cd, #e2e2e7, #ebebf0, #f4f5f6, #f7f7f7 | grey 20, 10, 8, 5, 2 [Measured] |
| Canvas | #ffffff, grouped #f3f4f5 | background, grouped background [Measured] |
| Stage | #000000, #191c1f | Hero and plan sections [Measured] |
| Accent | #bd0049 | accent [Measured] |
| Action blue | #0666eb | action blue [Measured] |
| Status | green #09be67, red #f54c3e, error wash #fde5e3 | green, red, input error [Measured] |
| Overlay | black at 40 percent | modal overlay [Measured] |
The token set also names about twenty hue channels for categories and charts (blue, cyan, teal, lime, orange, terracotta, pink, purple, indigo and more). [Measured]
Typography
| Role | 1440 wide | 390 wide | Face and weight |
|---|---|---|---|
| Display | 87.57 on 87.57, -2.08px | 48 on 48 | Aeonik Pro 500 [Measured] |
| Page title | 58.1 on 58.1, -1.2px | 40 on 40 | Aeonik Pro 500 [Measured] |
| Section headline | 51.79 on 51.79, -0.6px | 36 on 36 | Aeonik Pro 500 [Measured] |
| Rate | 40 on 48, -0.4px | not measured | Aeonik Pro 500 [Measured] |
| Card title | 24 on 28, -0.24px | 22 on 26 | Aeonik Pro 500 [Measured] |
| Button and nav | 16 on 22 | same | Aeonik Pro 500 [Measured] |
| Body | 16 on 24, -0.16px | same | Inter 400 [Measured] |
| Small print | 12 on 18, 0.18px | same | Inter 400 [Measured] |
The token set names a product scale beside the marketing one: display 56 and 44 at 700, headings 24 and 20 at 700, emphasis 16 to 11 at 500 and 600, body 16, 14 and 12 at 400. Those product styles were not seen on the public pages. [Measured]
Shape and spacing
Radius tokens are 2, 4, 6, 8, 12, 16, 24 and 32 plus round, with named uses: widget and cell 16, nested widget and nested cell 12, popup 24 and status popup 44. [Measured] Space tokens run 2, 4, 6, 8, 12, 16, 20, 24, 32 and 40. [Measured]
Iconography and motion
Durations are named 100, 200, 300, 450 and 900ms, with 1500ms for skeleton loading. The default easing is cubic-bezier(0.15, 0.5, 0.5, 1) and toasts overshoot with cubic-bezier(0.175, 0.885, 0.21, 1.65). [Measured] Icons were not measured. [Inferred]
Themes
The web follows its fixed black and white sections. The dark color scheme pass changed nothing. [Measured]
Platform: iOS
How the Revolut iOS app looks and behaves was not captured. The token set on the web names app parts (cells, nested widgets, segmented controls, status popups), but its documentation is not public, so it cannot be shown that the apps use it. Every item below is inferred. No device capture was done.
Back and up navigation
Expected on iOS: Chevron plus previous title, swipe from the left edge.
Not measured. [Inferred]
Primary navigation
Expected on iOS: Bottom tab bar, about five items.
A bottom tab bar for home, investing, payments, crypto and lifestyle is expected. [Inferred]
Main action
Expected on iOS: Nav bar or bottom bar button.
Round action buttons for adding money, moving it and exchanging it. [Inferred]
Sheets, dialogs and messages
Expected on iOS: Action sheets, alerts, modals.
Popups with 24px corners, per the shipped radius names. Whether the app uses them was not seen. [Inferred]
Controls
Expected on iOS: Cupertino switches, pickers, segmented controls.
Not measured. [Inferred]
Text sizing
Expected on iOS: Dynamic Type.
Not measured. [Inferred]
Touch and pointer targets
Expected on iOS: 44pt minimum.
Not measured. [Inferred]
Insets and system bars
Expected on iOS: Safe areas, status bar.
Not measured. [Inferred]
Icons
Expected on iOS: SF Symbols or custom.
Not measured. [Inferred]
Account and sign-in rules
Expected on iOS: Equivalent login option when third-party sign-in exists (Guideline 4.8) and in-app account deletion. Note the date checked.
Not verified. Sign-in rules and account deletion were not checked. [Inferred] Checked: 2026-10-15 against the public web only.
Platform conformance
Expected on iOS: For each important component: what iOS expects, what this app does, and why it deviates.
The app is expected to share the near-black pills, the gray cards and the 16 and 12 radii with the web. [Inferred]
Platform: Android
How the Revolut Android app looks and behaves was not captured. The token set on the web names app parts (cells, nested widgets, segmented controls, status popups), but its documentation is not public, so it cannot be shown that the apps use it. Every item below is inferred. No device capture was done.
Back and up navigation
Expected on Android: System back and gesture, up arrow in the top bar.
Not measured. [Inferred]
Primary navigation
Expected on Android: Navigation bar, rail on tablets.
A bottom navigation bar for home, investing, payments, crypto and lifestyle is expected. [Inferred]
Main action
Expected on Android: Floating action button.
Round action buttons for adding money, moving it and exchanging it. [Inferred]
Sheets, dialogs and messages
Expected on Android: Bottom sheets, dialogs, snackbars.
Popups with 24px corners, per the shipped radius names. Whether the app uses them was not seen. [Inferred]
Controls
Expected on Android: Material switches, pickers, chips.
Not measured. [Inferred]
Text sizing
Expected on Android: Font scale.
Not measured. [Inferred]
Touch and pointer targets
Expected on Android: 48dp minimum.
Not measured. [Inferred]
Insets and system bars
Expected on Android: Edge to edge, system bars.
Not measured. [Inferred]
Icons
Expected on Android: Material Symbols or custom.
Not measured. [Inferred]
Account and sign-in rules
Expected on Android: Account deletion and data safety requirements. Note the date checked.
Not verified. Sign-in rules and account deletion were not checked. [Inferred] Checked: 2026-10-15 against the public web only.
Platform conformance
Expected on Android: For each important component: what Android expects, what this app does, and why it deviates.
The app is expected to share the near-black pills, the gray cards and the 16 and 12 radii with the web. [Inferred]
Platform: Web
The home page, plans page and currency converter, measured at 1440 and 390 wide.
Back and up navigation
Expected on Web: Browser back, breadcrumbs.
Browser back. [Observed]
Primary navigation
Expected on Web: Top nav or sidebar.
A top bar with Personal and Business as 38 high pill links (16 on 22 at 500) over the black stage, product menus, and a region chooser chip at 8 percent near-black with a 12px corner. [Measured]
Main action
Expected on Web: Page-level button.
A #1f1f1f pill with white Aeonik Pro 16px medium text, 40 to 42 high with 10 by 24 padding. On the black stage, a white pill with dark text. [Measured]
Sheets, dialogs and messages
Expected on Web: Modals, toasts.
The region notice is a dismissible bar with a 12px corner. Modals sit over black at 40 percent, per the tokens. [Measured]
Controls
Expected on Web: Native or custom.
The converter shows amounts as large Aeonik Pro 24px inputs without a visible box, with currency choosers as 34 high buttons with an 8px corner. The plans page uses 24px checkboxes with a 6px corner. [Measured]
Text sizing
Expected on Web: Browser zoom.
Type and space tokens are in rem, so they follow the browser root size. Marketing sizes are fractional at 1440 and round at 390. [Measured]
Touch and pointer targets
Expected on Web: Pointer and keyboard.
Buttons are 38 to 42 high, currency choosers 34. [Measured]
Insets and system bars
Expected on Web: Viewport, scrollbars.
Not measured. [Inferred]
Icons
Expected on Web: Any.
Not measured. [Inferred]
Account and sign-in rules
Expected on Web: Not applicable unless the product has accounts.
Not applicable to the public pages measured. [Observed]
Platform conformance
Expected on Web: For each important component: what the web norm is, what this app does, and why it deviates.
A responsive marketing site that keeps the solid headline style at every width and stacks cards on mobile. [Measured]
Cross-platform consistency
Consistent across platforms: near-black pills, gray cards, Aeonik Pro headlines and Inter text. [Measured for web, Inferred for the apps]
Intentionally different: not measured. [Inferred]
Do's and Don'ts
Do
- Open with a black stage and huge white headlines, then switch to white for detail.
- Set headlines solid, with a line height equal to the size.
- Use near-black pills for actions and white pills on dark.
- Pick corners by part: 16 for widgets and cells, 12 nested, 24 for popups.
Don't
- Don't use the accent or hue channels for buttons. Actions are near-black.
- Don't open up headline leading.
- Don't use square buttons.
Known Gaps
- The app sits behind an account, and no signed-in screens were measured.
- The iOS and Android apps were not captured. The shipped tokens name app parts, but their documentation is not public, so every mobile topic stays inferred.
- The product type scale and many hue channels are named in the tokens but were not seen in use.
- Icons were not measured.
- Aeonik Pro is private. Host Grotesk was chosen by comparing the same headline side by side: within 1 percent of the width with similar round bowls. IBM Plex Sans and Archivo were close seconds.
- Account deletion and store policy rules were not verified.