Overview
Deutsche Bahn is Germany's national railway, and bahn.de is its booking site. The look is clear and engineered: a pale gray page, dark slate text, signal red for the main action and square-ish 4px controls. [Observed]
What defines the look:
- A pale gray page.
#f0f3f5with white panels and#d7dce1dividers. [Measured] - Dark slate ink. Text is
#282d37, secondary#3c414band muted#646973. [Measured] - Signal red for action.
#ec0016fills the main buttons, 56 high with white bold text. [Measured] - Black-weight titles. DB Screen Head at 900 for 32, 24 and 18, and DB Screen Sans at 400 and 700 for text. [Measured]
- Engineered corners. 4px on controls, with 7.5 and 12 on panels. [Measured]
Source for this file: the bahn.de English home page measured in a browser at 1440 and 390 wide, read on 2026-10-06. The DB design system site was not read. Signed-in screens were not measured. No app captures were used. See Known Gaps.
Core
Colors
| Role | Value | Where |
|---|---|---|
| Signal red | #ec0016 | Primary buttons |
| Text | #282d37, #3c414b, #646973 | Titles, body, meta |
| Black | #16181b | Outline button text and edge |
| Page | #f0f3f5 | Main surface |
| Panel | #ffffff | Cards and forms |
| Divider | #d7dce1 | Rules |
| Link blue | #0c3992 | Links |
| Warning orange | #d96000 | Notices |
| Scrim | #000000 at 70 percent | Overlays |
Typography
DB Screen Head at weight 900 sets titles: 32 on 40, 24 on 32 and 18 on 24. DB Screen Sans sets text at 16 on 24 with 700 for buttons and 12 on 18 at 700 for small labels. [Measured]
Shape and spacing
Controls use a 4px corner. Panels use 7.5 and 12. Primary buttons are 56 high and secondary buttons 40, and the layout uses 16 and 20 spacing. [Measured]
Iconography and motion
Icons are loaded as sets for sizes 16 to 64 in outline and filled styles. [Measured]
Themes
Light on the page measured. [Observed]
Platform: iOS
The Deutsche Bahn iOS app was not captured. The notes below follow from the web design and platform conventions.
Back and up navigation
Expected on iOS: Chevron plus previous title, swipe from the left edge.
Chevron plus previous title and the edge swipe, as the platform expects. Not confirmed on a device. [Inferred]
Primary navigation
Expected on iOS: Bottom tab bar, about five items.
A bottom tab bar for search, tickets and account in the navigator app. [Inferred]
Main action
Expected on iOS: Nav bar or bottom bar button.
A red search button. [Inferred]
Sheets, dialogs and messages
Expected on iOS: Action sheets, alerts, modals.
Not measured. [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-06 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 apps are expected to share the red, the slate and the 4px corners with the web. [Inferred]
Platform: Android
The Deutsche Bahn Android app was not captured. The notes below follow from the web design and platform conventions.
Back and up navigation
Expected on Android: System back and gesture, up arrow in the top bar.
System back and gesture, with an up arrow in the top bar, as the platform expects. Not confirmed on a device. [Inferred]
Primary navigation
Expected on Android: Navigation bar, rail on tablets.
A bottom navigation bar for search, tickets and account in the navigator app. [Inferred]
Main action
Expected on Android: Floating action button.
A red search button. [Inferred]
Sheets, dialogs and messages
Expected on Android: Bottom sheets, dialogs, snackbars.
Not measured. [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-06 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 apps are expected to share the red, the slate and the 4px corners with the web. [Inferred]
Platform: Web
The bahn.de English home page, 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 a language switch, skip links and a connection search at the top of the page. [Observed]
Main action
Expected on Web: Page-level button.
A red button with white bold text, 56 high with a 4px corner. [Measured]
Sheets, dialogs and messages
Expected on Web: Modals, toasts.
Not measured. [Inferred]
Controls
Expected on Web: Native or custom.
Select fields and buttons 40 high with a 1px dark edge. [Measured]
Text sizing
Expected on Web: Browser zoom.
Sizes are fixed pixel values at each breakpoint. [Measured]
Touch and pointer targets
Expected on Web: Pointer and keyboard.
The main button is 56 high and secondary controls 40. [Measured]
Insets and system bars
Expected on Web: Viewport, scrollbars.
Not measured. [Inferred]
Icons
Expected on Web: Any.
A large icon set at sizes 16 to 64 in outline and filled styles. [Measured]
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.
The responsive page keeps type and color and changes layout. [Measured]
Cross-platform consistency
Consistent across platforms: the red, the slate ink and the small corners. [Measured for web, Inferred for the apps]
Intentionally different: not measured. [Inferred]
Do's and Don'ts
Do
- Use red only for the main action.
- Keep titles in the black-weight face.
- Keep corners at 4px.
- Put white panels on the pale gray page.
Don't
- Don't use red for decoration.
- Don't round buttons into pills.
- Don't use light title weights.
Known Gaps
- The booking flow, tickets and the signed-in account were not measured.
- The iOS and Android apps were not captured. Their sections are inferred from the web design and platform conventions.
- Icons, motion and exact breakpoints were not measured.
- Account deletion and store policy rules were not verified.
- The Head and Sans alternative are the same family, a judgement call because the real Head face is heavier and narrower.
- The DB design system site was not read, so role names are not given.