Overview
Element X is the rebuilt Matrix messenger from Element, built on its Compound design system. The interface is calm and neutral: white or near-black canvases, solid actions in near-black (inverted to near-white in dark mode), and a single deep green used for accents, selection and positive states. Inter is the only typeface. The tokens are shared across Android, iOS and web, so the same names exist on all three. [Observed]
What defines the look:
- Neutral solid action, green accent. The main button is
#1b1d22on light (#ebeef2on dark), and green#007a61(#129a78dark) marks accents and positive states. [Measured] - Pill buttons, circle avatars. Buttons use a fully rounded shape and avatars are circles. [Measured]
- One typeface, tight tracking. Inter, with slightly negative letter spacing that grows with size. [Measured]
- Four themes from one source. Light, dark, and high contrast versions of each. [Measured]
Source for this file: the public Compound design tokens, the Element X Android and iOS sources and the Compound icon set, read on 2026-10-06. No on-device capture was done. See Known Gaps.
Core
Colors
| Role | Light | Dark | Where |
|---|---|---|---|
Canvas (bg-canvas-default) | #ffffff | #101317 | Compound tokens |
Subtle surface (bg-subtle-secondary) | #f0f2f5 | #1d1f24 | |
Stronger surface (bg-subtle-primary) | #e1e6ec | #26282d | |
Text (text-primary) | #1b1d22 | #ebeef2 | |
| Secondary text | #656d77 | #808994 | |
| Primary action fill | #1b1d22 | #ebeef2 | |
| Text on solid | #ffffff | #101317 | |
Accent (bg-accent-rest) | #007a61 | #129a78 | |
| Accent pressed | #005c45 | #1fc090 | |
| Critical | #d51928 | #fd3e3c | |
| Interactive border | #818a95 | #656c76 | |
| Soft border | #bdc4cc | #3c3f44 | |
| Disabled border | #cdd3da | #323539 | |
| Success subtle fill | #f1fbf6 | #001f0e | |
| Critical subtle fill | #fff7f6 | #3e0000 |
All values are [Measured] from the Compound token files. They resolve through a base scale (gray, green, red and more) with a numbered ladder from 100 to 1400, plus alpha variants.
Typography
Inter everywhere, with a long fallback list on web (Helvetica Neue, Segoe UI, Roboto, Ubuntu, Fira Sans, Noto Sans, Arial) and a mono face (Inconsolata) for code. [Measured] The web token scale is body 11, 13, 15 and 17px, headings 20, 24, 28 and 32px, weights 400, 500 and 600, and line heights 1, 1.25 and 1.5. Letter spacing is slightly negative and grows with size, for example -0.0088em at 15px and -0.0216em at 32px. [Measured] The Android tokens use 12, 14 and 16sp with regular and medium weights. [Measured]
Shape and spacing
A 4px space scale (2px, 4px, 6px, 8px, 12px, 16px, 24px, 40px, 44px, 48px and larger). [Measured] Buttons and several controls use a fully rounded shape (50 percent), and avatars are circles. [Measured] Other corner radii were not captured as tokens. Shadows were not measured.
Iconography and motion
A custom Compound icon set with outline and solid variants (chat, check, chevrons, attachment, calendar and more). [Measured] Motion values were not measured.
Themes
Light, dark, light high contrast and dark high contrast, defined as separate token files. [Measured]
Platform: iOS
How the iOS app looks and behaves. Items come from public source files.
Back and up navigation
Expected on iOS: Chevron plus previous title, swipe from the left edge.
Standard navigation stack with a back chevron. [Inferred]
Primary navigation
Expected on iOS: Bottom tab bar, about five items.
The home screen is the chat list. The exact tab and space structure was not confirmed from source. [Inferred]
Main action
Expected on iOS: Nav bar or bottom bar button.
Starting a chat is a compose action from the home screen. Its exact placement was not confirmed. [Inferred]
Sheets, dialogs and messages
Expected on iOS: Action sheets, alerts, modals.
System sheets and alerts styled with Compound colors. [Inferred]
Controls
Expected on iOS: Cupertino switches, pickers, segmented controls.
Controls styled through Compound colors and fonts. [Inferred]
Text sizing
Expected on iOS: Dynamic Type.
The Compound iOS package exposes a font size scale. Dynamic Type behavior was not checked. [Measured for the scale, Inferred for Dynamic Type]
Touch and pointer targets
Expected on iOS: 44pt minimum.
Not verified. [Inferred]
Insets and system bars
Expected on iOS: Safe areas, status bar.
Not verified. [Inferred]
Icons
Expected on iOS: SF Symbols or custom.
The custom Compound icon set rather than SF Symbols. [Measured]
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.
Matrix accounts and single sign-on through the homeserver. Guideline 4.8 and account deletion were not checked. [Inferred] Checked: 2026-10-06 against source only.
Platform conformance
Expected on iOS: For each important component: what iOS expects, what this app does, and why it deviates.
A custom token-driven look. It keeps iOS navigation conventions and replaces system colors and type with Compound. [Inferred]
Platform: Android
How the Android app looks and behaves. Items come from public source files.
Back and up navigation
Expected on Android: System back and gesture, up arrow in the top bar.
System back and a back arrow in the top bar. [Inferred]
Primary navigation
Expected on Android: Navigation bar, rail on tablets.
The chat list is home, with no bottom navigation bar confirmed in the source read. [Inferred]
Main action
Expected on Android: Floating action button.
A floating action button component exists in the design system module. Whether the home screen uses it was not confirmed. [Measured for the component, Inferred for use]
Sheets, dialogs and messages
Expected on Android: Bottom sheets, dialogs, snackbars.
Bottom sheet scaffold and drag handle components exist, with a 4dp-high handle. [Measured]
Controls
Expected on Android: Material switches, pickers, chips.
Material components restyled with Compound color roles. Buttons use a fully rounded shape. [Measured]
Text sizing
Expected on Android: Font scale.
Typography tokens are in sp, so they follow the system font scale. [Measured]
Touch and pointer targets
Expected on Android: 48dp minimum.
Not verified. [Inferred]
Insets and system bars
Expected on Android: Edge to edge, system bars.
Not verified. [Inferred]
Icons
Expected on Android: Material Symbols or custom.
Compound vector drawables, named ic_compound_*. [Measured]
Account and sign-in rules
Expected on Android: Account deletion and data safety requirements. Note the date checked.
Matrix sign-in through a homeserver. Account deletion and the data safety form were not checked. [Inferred] Checked: 2026-10-06 against source only.
Platform conformance
Expected on Android: For each important component: what Android expects, what this app does, and why it deviates.
Material 3 components with the color scheme and typography replaced by Compound tokens. Buttons are pills where stock Material buttons are also fully rounded. [Inferred]
Platform: Web
Compound tokens exist as CSS custom properties (--cpd-color-*, --cpd-font-*, --cpd-space-*) for web. The Element Web client and the element.io site were not measured.
Back and up navigation
Expected on Web: Browser back, breadcrumbs.
Not measured. [Inferred]
Primary navigation
Expected on Web: Top nav or sidebar.
Not measured. [Inferred]
Main action
Expected on Web: Page-level button.
Not measured. [Inferred]
Sheets, dialogs and messages
Expected on Web: Modals, toasts.
Not measured. [Inferred]
Controls
Expected on Web: Native or custom.
Not measured. The tokens define border and fill roles for interactive states. [Inferred]
Text sizing
Expected on Web: Browser zoom.
Font sizes are tokens in rem, so they follow the browser root size. [Measured]
Touch and pointer targets
Expected on Web: Pointer and keyboard.
Not verified. [Inferred]
Insets and system bars
Expected on Web: Viewport, scrollbars.
Not measured. [Inferred]
Icons
Expected on Web: Any.
SVG icons from the same Compound set. [Measured]
Account and sign-in rules
Expected on Web: Not applicable unless the product has accounts.
Not applicable to the tokens package. [Inferred]
Platform conformance
Expected on Web: For each important component: what the web norm is, what this app does, and why it deviates.
Light and dark themes are applied by a .cpd-theme-light or .cpd-theme-dark class, and a media-query variant exists. [Measured]
Cross-platform consistency
Consistent across platforms: token names, Inter, the near-black action color, the green accent, and four themes. [Measured]
Intentionally different: sizes are in sp on Android and rem on web, and navigation follows each platform. [Inferred]
Do's and Don'ts
Do
- Use the semantic token names and let the theme resolve the value.
- Keep the primary action neutral and reserve green for accents and success.
- Use pill buttons and circular avatars.
- Provide the high contrast themes.
Don't
- Don't hard-code hex values, since dark and high contrast themes depend on tokens.
- Don't use green for large fills of body text. The light accent is
#007a61. - Don't mix another typeface with Inter.
Known Gaps
- No on-device capture was done. All statements come from reading token files and source.
- The Element Web client and the element.io marketing site were not measured, so the Web section is thin.
- iOS and Android navigation structure, main action placement and corner radii other than pills were not confirmed.
- Shadows and motion values were not measured.
- Contrast was not recomputed for every token pair. Primary button pairs pass.
- Account deletion and store policy rules were not verified for either app.