Visual language

Typography

Our typefaces, the type scale and when to use which.

Typefaces

We use three typefaces, each with one job.

Poppins speaks. It is geometric, round and friendly, close in shape to our wordmark, and it gives headlines their character. We use it for display text, headlines, titles and button labels.

Figtree explains. It is open and friendly, close to Poppins in spirit but quieter, and very readable at small sizes, with clear figures for amounts and times. We use it for body text, labels, captions, tables and forms. It replaced Inter, which read cold next to the round Poppins.

JetBrains Mono spells out. Every character has the same width and none can be mistaken for another: the zero has a dot, and 1, l and I each look different. We use it only for codes someone has to copy or compare.

All three are free under the SIL Open Font License, on Google Fonts.

WeightsUse
Poppins500 Medium, 600 SemiboldDisplay, headlines, titles, buttons
Figtree400 Regular, 500 Medium, 600 SemiboldBody, small labels, captions, numbers
JetBrains Mono400 Regular, 500 MediumCodes

We don't use Poppins below 14px, and we don't use Figtree for headlines.

When a typeface can't be loaded, as in email, fall back to the system font: -apple-system, 'Segoe UI', Roboto, sans-serif, and for codes ui-monospace, 'SF Mono', Menlo, monospace.

Type scale

Eighteen styles, named the way Material 3 and the app name them: the fifteen the app and the website share, and three that only the website uses. Poppins sets everything that speaks: display, headlines, titles and button labels. Figtree sets everything you read: body text, small labels and numbers. Samples above 36px are shown smaller; the size column has the real size.

SampleTokenTypefaceSize / lineUse
08:12heroNumberPoppins 600144 / 144Website only. The one big number a section is built around, like the time in A day in the city.
Parking, but simple.displayXlPoppins 60072 / 76Website only. The home page title and the big number in the proof band.
Parked.displayLgPoppins 60057 / 64Hero numbers and one-word statements on the website.
€ 7.04displayMdPoppins 60045 / 52Website hero headlines.
1 h 30 mindisplaySmPoppins 60036 / 44Section openers on the website.
Your parkingheadlineLgPoppins 60028 / 40Screen titles in the app, page headlines.
Your parkingheadlineMdPoppins 60024 / 32Headlines in sheets and dialogs.
Your parking actionheadlineSmPoppins 60022 / 28Smaller headlines and card titles on the website.
KeizersgrachttitleLgPoppins 50018 / 26Card titles and list headers.
Zone 12100, KeizersgrachttitleMdPoppins 50016 / 24List item titles.
Zone 12100, KeizersgrachttitleSmPoppins 50014 / 20Small titles and section labels.
We stop at 17:30.bodyXlFigtree 40018 / 28Website only. Body text on the website: the paragraph under a title and the prose of a reading page.
We stop at 17:30.bodyLgFigtree 40016 / 24Body text on the website and in long app texts.
We stop your parking action at 17:30.bodyMdFigtree 40014 / 22The default body text in the app.
Example rates. The app shows the exact rate.bodySmFigtree 40012 / 18Captions, footnotes and helper text.
Start parkinglabelLgPoppins 50016 / 16Large buttons.
View invoicelabelMdPoppins 50014 / 14Buttons, tabs and segmented controls.
Ends soonlabelSmFigtree 50012 / 12Tags, chips and small labels. Figtree, because Poppins stays at 14px and up.

Sizes are in px, pt in the app. Letter spacing is 0 for every style. Headlines are set in navy, never in light gray. Keep headlines short enough to fit on two lines on a phone.

On smaller screens

The app has one screen size; the website does not. On the website the large styles step down the scale on smaller screens, so a headline still fits on two lines on a phone. Everything from headlineLg down stays the same size everywhere.

StyleTablet (up to 1024px)Phone (up to 768px)
heroNumberdisplayXldisplayLg
displayXldisplayLgdisplaySm
displayLgdisplayMddisplaySm
displayMddisplaySmheadlineLg
displaySmdisplaySmheadlineLg

The step is always to another style on the scale, never to a size in between.

On the website

A website is read from further away than a phone, so body and title text on the website sit one step up the scale from where the app has them. The headlines, display styles and labels stay as they are.

TextIn the appOn the website
Body text, the paragraph under a titlebodyLgbodyXl
Text in a card or a rowbodyMdbodyLg
Captions, footnotes, helper textbodySmbodyMd
Small titles and section labelstitleSmtitleMd
List item titlestitleMdtitleLg
Card titlestitleLgheadlineSm

Numbers and codes

Amounts, times and durations are the most important text we show.

  • Set them in Figtree with tabular figures (font-variant-numeric: tabular-nums), so a running timer or a column of amounts doesn't jump.
  • Write them the way the writing rules say: € 0.29 · 17:30 · 2 hours.
  • A large number, like the time left on a parking action, may use Poppins Semibold.
  • Codes are set in JetBrains Mono: invite codes, payment references, invoice numbers, and colors and tokens in our own documentation. Use it at the same size as the text around it, or one step smaller.
  • Amounts, times, dates and zone codes are not codes in this sense. They stay in Figtree. If it is something people read rather than type, it isn't mono.
  • License plates are shown in the license plate component, not typed out in a typeface that imitates a plate.