Documentation
Feedback
Guides
Storefront Development

Storefront Development
Storefront development

Typography

A standard scale and basic definitions for your text: font family, weight, and sizes.

A standard scale and basic definitions for your text: font family, weight, and sizes.

Font Family

Global TokenValue
--fs-text-face-body-apple-system, system-ui, BlinkMacSystemFont, sans-serif
--fs-text-face-titlevar(--fs-text-face-body)

Weights

Global TokenValue
--fs-text-weight-light300
--fs-text-weight-regular400
--fs-text-weight-medium500
--fs-text-weight-semibold600
--fs-text-weight-bold700
--fs-text-weight-black900

Typography Scale

FastStore uses a linear scale that adds a fixed step value to each size level — --fs-text-scale-mobile (2px) for mobile and --fs-text-scale-desktop (4px) for desktop. You can use Typescale as inspiration when designing a custom scale for your store.

Mobile Scale

  • 12

    Lorem ipsum dolor sit amet, consectetur adipiscing elit.

  • 14

    Lorem ipsum dolor sit amet, consectetur adipiscing elit.

  • 16

    Lorem ipsum dolor sit amet, consectetur adipiscing elit.

  • 18

    Lorem ipsum dolor sit amet, consectetur adipiscing elit.

  • 20

    Lorem ipsum dolor sit amet, consectetur adipiscing elit.

  • 22

    Lorem ipsum dolor sit amet, consectetur adipiscing elit.

  • 24

    Lorem ipsum dolor sit amet, consectetur adipiscing elit.

  • 28

    Lorem ipsum dolor sit amet, consectetur adipiscing elit.

  • 32

    Lorem ipsum dolor sit amet, consectetur adipiscing elit.

  • 36

    Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Desktop Scale

  • 12

    Lorem ipsum dolor sit amet, consectetur adipiscing elit.

  • 14

    Lorem ipsum dolor sit amet, consectetur adipiscing elit.

  • 16

    Lorem ipsum dolor sit amet, consectetur adipiscing elit.

  • 20

    Lorem ipsum dolor sit amet, consectetur adipiscing elit.

  • 24

    Lorem ipsum dolor sit amet, consectetur adipiscing elit.

  • 28

    Lorem ipsum dolor sit amet, consectetur adipiscing elit.

  • 32

    Lorem ipsum dolor sit amet, consectetur adipiscing elit.

  • 40

    Lorem ipsum dolor sit amet, consectetur adipiscing elit.

  • 48

    Lorem ipsum dolor sit amet, consectetur adipiscing elit.

  • 56

    Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Global TokenValue
--fs-text-size-base16px
--fs-text-scale-desktop4px
--fs-text-scale-mobile2px
--fs-text-size-012px
--fs-text-size-114px
--fs-text-size-2var(--fs-text-size-base) → 16px
--fs-text-size-3calc(var(--fs-text-size-2) + var(--fs-scale)) → 18px / 20px
--fs-text-size-4calc(var(--fs-text-size-3) + var(--fs-scale)) → 20px / 24px
--fs-text-size-5calc(var(--fs-text-size-4) + var(--fs-scale)) → 22px / 28px
--fs-text-size-6calc(var(--fs-text-size-5) + var(--fs-scale)) → 24px / 32px
--fs-text-size-7calc(var(--fs-text-size-6) + (var(--fs-scale) * 2)) → 28px / 40px
--fs-text-size-8calc(var(--fs-text-size-7) + (var(--fs-scale) * 2)) → 32px / 48px
--fs-text-size-9calc(var(--fs-text-size-8) + (var(--fs-scale) * 2)) → 36px / 56px

Semantic tokens

Sizes

Global TokenValue
--fs-text-size-title-hugevar(--fs-text-size-8)
--fs-text-size-title-pagevar(--fs-text-size-7)
--fs-text-size-title-productvar(--fs-text-size-4)
--fs-text-size-title-sectionvar(--fs-text-size-4)
--fs-text-size-title-subsectionvar(--fs-text-size-4)
--fs-text-size-title-minivar(--fs-text-size-4)
--fs-text-size-leadvar(--fs-text-size-3)
--fs-text-size-menuvar(--fs-text-size-base)
--fs-text-size-bodyvar(--fs-text-size-base)
--fs-text-size-legendvar(--fs-text-size-1)
--fs-text-size-tinyvar(--fs-text-size-0)

Max Lines

Global TokenValue
--fs-text-max-lines2

Adding a custom font

Using a custom font helps to keep a cohesive brand across your store. To maintain readability in your store, choose a legible font, appropriate colors, and a suitable text size.
  1. Go to the src folder and create the fonts folder.
  2. Inside the src/fonts folder, create a new WebFonts.tsx file and add a <link> tag for your font-family of choice as in the example below.

_15
/* eslint-disable @next/next/no-page-custom-font */
_15
_15
function WebFonts() {
_15
return (
_15
<>
_15
{/* Add a <link> tag for your font-family of choice */}
_15
<link
_15
rel="stylesheet"
_15
href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;900&display=swap"
_15
/>
_15
</>
_15
);
_15
}
_15
_15
export default WebFonts;

  1. In your custom theme file, usually src/themes/custom-theme.scss, use the --fs-text-face-body token with the font-family you chose.
We recommend using fallback fonts as system fonts to ensure quick rendering, consistent and readable content.

_10
@layer theme {
_10
.theme {
_10
// --------------------------------------------------------
_10
// Typography (Branding Core)
_10
// --------------------------------------------------------
_10
--fs-text-face-body: 'Inter', -apple-system, system-ui, BlinkMacSystemFont, sans-serif;
_10
}
_10
}

  1. Run yarn dev and check the browser to see the new font-family applied.
Contributors
1
Photo of the contributor
Was this helpful?
Yes
No
Suggest Edits (GitHub)
Contributors
1
Photo of the contributor
Was this helpful?
Suggest edits (GitHub)
On this page