Overview
Lichess looks like a serious, uncluttered tool for people who play chess a lot. The website is dark by default with a warm brown-gray tint, the board and pieces are the visual centerpiece, and a clear blue marks interactive elements. The mobile app is a Material app that borrows the site's blue, green and orange and adds standard Material list and card layouts. [Measured]
Three decisions define the look:
- A hue-driven dark theme. Every background on the site is computed from one hue (37 degrees) at different lightness steps: page
7 to 10 percent, boxes14 percent, popups22 percent. Changing the site hue re-themes the whole site. [Measured] - Three roles, three hues. Blue is primary (
#3692e7on the web), green is secondary (#629924), and orange (#d64f00) is the accent. Each has a Material-style ramp from 50 to 900 in the app. [Measured] - Utility first. Type is simple and bold, spacing is a plain 16 pixel unit, and corners are small: 12 for cards and 5 for the board and thumbnails. [Measured]
Source for this file: the public app source and lichess.org, read on 2026-10-06. No on-device capture was done. See Known Gaps.
Core
Colors
| Role | Value | Where |
|---|---|---|
| Primary | #3692e7 | Website |
| Primary (app seed) | #1b78d0 (ramp #e4eff9 to #0848b3) | Mobile app |
| Secondary | #629924 (ramp #ecf3e5 to #346b0d) | Both |
| Accent | #d64f00 (ramp #faeae0 to #bc2600) | Mobile app |
| Red | #cc3333 (ramp #f9e7e7 to #ad1414) | Mobile app |
| Brag | #bf811d | Mobile app |
| Fancy | #b72fc6 | Both |
| Future and classes | #a068ca, #581c87 | Website |
| Page background | hue 37, 7 to 10 percent lightness | Website dark |
| Box background | hue 37, 7 percent saturation, 14 percent lightness | Website dark |
| Popup background | hue 37, 7 percent, 22 percent | Website dark |
| Zebra rows | hue 37, 5 percent, 19 and 24 percent | Website dark |
| Border | #404040, page #383838, light #666666 | Website dark |
| Chat highlight | #4e7a1d at 40 percent | Website |
All [Measured]. Hover and focus colors on the site are computed by mixing the primary with black or white (for example 25 percent white for link hover and 15 percent black for dim states).
Typography
- App: title 20 bold, callout 18 semibold, section title 18 bold, main list title 18 medium, subtitle 16 medium, board preview title 16 bold and form description 12. Subtitles use 70 percent opacity. Time controls use
1.2letter spacing. [Measured] - Website: Noto Sans-based stack with a variable font family token. [Inferred from the font tokens] Chess clocks use a monospace face. [Inferred]
Shape and spacing
- Radii: cards
12, board5, thumbnails5. [Measured] - Spacing: a plain
16unit for body, section and form padding, in both directions. [Measured]
Iconography and motion
Custom chess icon fonts (Lichess icons, puzzle icons and social icons) are included. [Measured] The site uses SVG chess pieces from hashed asset URLs. [Measured] Motion values were not extracted. [Inferred]
Themes
The site has dark and light themes plus a board and piece theme chooser. The app has a custom theme extension with light and dark variants, plus a chart color. [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.
The app uses adaptive Material and Cupertino components, so the back swipe is expected. Back button style was not verified. [Inferred]
Primary navigation
Expected on iOS: bottom tab bar, about five items.
A bottom navigation with home, puzzles, tools, watch and settings. The tab list is inferred from product knowledge. [Inferred]
Main action
Expected on iOS: nav bar or bottom bar button.
Large "Play" buttons on the home screen. [Inferred]
Sheets, dialogs and messages
Expected on iOS: action sheets, alerts, modals.
Adaptive dialogs and bottom sheets. [Inferred]
Controls
Expected on iOS: Cupertino switches, pickers, segmented controls.
Adaptive controls. Cupertino variants are used on iOS where the app chooses them. [Inferred]
Text sizing
Expected on iOS: Dynamic Type.
Follows the system text scale. [Inferred]
Touch and pointer targets
Expected on iOS: 44pt minimum.
Not verified. [Inferred]
Insets and system bars
Expected on iOS: safe areas, status bar.
Handled by the platform. [Inferred]
Icons
Expected on iOS: SF Symbols or custom.
Custom Lichess icon fonts. [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.
Sign-in is with a Lichess account (OAuth to the Lichess site), not a third-party social login. Account deletion is available through Lichess settings. [Inferred] Checked: 2026-10-06 against source only.
Platform conformance
Expected on iOS: system components and Dynamic Type.
Medium fidelity. A Material look with adaptive pieces where they matter. [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 with Material app bars. [Inferred]
Primary navigation
Expected on Android: navigation bar, rail on tablets.
A Material navigation bar, with a rail on larger screens. [Inferred]
Main action
Expected on Android: floating action button.
Large play buttons rather than a floating action button. [Inferred]
Sheets, dialogs and messages
Expected on Android: bottom sheets, dialogs, snackbars.
Material dialogs, bottom sheets and snackbars. [Inferred]
Controls
Expected on Android: Material switches, pickers, chips.
Material 3 controls themed with the Lichess ramps. [Inferred]
Text sizing
Expected on Android: font scale.
Follows the system font scale. [Inferred]
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.
Custom Lichess icon fonts. [Measured]
Account and sign-in rules
Expected on Android: account deletion and data safety requirements. Note the date checked.
Lichess account. Deletion and data safety were not checked. [Inferred] Checked: 2026-10-06 against source only.
Platform conformance
Expected on Android: Material 3 components and roles.
High fidelity. Uses Material components and a Material color ramp structure (50 to 900) for each role. [Measured]
Platform: Web
The lichess.org site, with a hue-driven theme system.
Back and up navigation
Expected on Web: browser back, breadcrumbs.
Browser back. Game and study pages keep their own navigation. [Inferred]
Primary navigation
Expected on Web: top nav or sidebar.
A top header with dropdown menus (--c-bg-header-dropdown token). [Measured for the token]
Main action
Expected on Web: page-level button.
A large Play button in the primary blue. [Inferred]
Sheets, dialogs and messages
Expected on Web: modals, toasts.
Popups on a 22 percent lightness surface, and a page mask of #0009. [Measured]
Controls
Expected on Web: native or custom.
Custom inputs with a lower-lightness background than the page. [Measured]
Text sizing
Expected on Web: browser zoom.
Not verified. [Inferred]
Touch and pointer targets
Expected on Web: pointer and keyboard.
Not verified. [Inferred]
Insets and system bars
Expected on Web: viewport, scrollbars.
Responsive, with a board that scales to the viewport. [Inferred]
Icons
Expected on Web: any.
An icon font plus SVG pieces. [Measured]
Account and sign-in rules
Expected on Web: not applicable unless the product has accounts.
Account-based, free, with no ads. [Inferred]
Platform conformance
Expected on Web: web norms for links and forms.
Follows web norms with a themeable palette. [Measured]
Cross-platform consistency
The three-hue palette (blue, green, orange) and the plain utility feel hold across site and app. The site's primary blue (#3692e7) is lighter than the app's (#1b78d0), and the site is dark-first while the app offers both. [Measured]
Do's and Don'ts
Do
- Build every dark background from one hue at stepped lightness values.
- Use blue for interaction, green for success and orange for emphasis.
- Keep cards at 12 and boards and thumbnails at 5.
- Compute hover and dim states by mixing with black or white.
- Use a plain 16 pixel spacing unit.
Don't
- Don't add ads or decorative backgrounds behind the board.
- Don't hard-code gray backgrounds. Derive them from the site hue.
- Don't use the app's darker blue on the dark site.
Known Gaps
- No on-device capture was done. All app statements come from reading source, so layouts and behavior are not confirmed.
- The font families and the website type scale were not fully read.
- Navigation structure in the app is inferred from product knowledge.
- The app's dark-mode surface values were not extracted.
- Account deletion and store policy rules were not verified.
- Contrast: white text on the web primary
#3692e7measures about 3.3 to 1, below the 4.5 to 1 target for normal text.