Skip to content
Fontsource Logo
Documentation

SvelteKit

To include Fontsource into your Svelte / SvelteKit project and apply it to your application’s typography, follow the steps below.

Installation

First, install your chosen font package:

npm install @fontsource-variable/inter
sh

1. Layout Import

Import fonts in your root layout for application-wide availability:

<!-- src/routes/+layout.svelte -->
<script>
  import '@fontsource-variable/inter/wght.css';
</script>

<main>
  <slot />
</main>

<style>
  :global(body) {
    font-family: 'Inter Variable', sans-serif;
    margin: 0;
  }

  :global(h1, h2, h3, h4, h5, h6) {
    font-family: 'Inter Variable', sans-serif;
    font-weight: 600;
  }
</style>
html

2. CSS File Import

Create a global CSS file and import it in your layout:

/* src/styles/global.css */
@import '@fontsource-variable/inter/wght.css';

body {
  font-family: 'Inter Variable', sans-serif;
  margin: 0;
  line-height: 1.6;
}

h1, h2, h3, h4, h5, h6 {
  font-family: 'Inter Variable', sans-serif;
  font-weight: 600;
}
css
<!-- src/routes/+layout.svelte -->
<script>
  import '../styles/global.css';
</script>

<main>
  <slot />
</main>
html

3. Component-Level Import

For better code splitting, import fonts in specific components or routes:

<!-- src/routes/blog/+layout.svelte -->
<script>
  import '@fontsource/playfair-display/700.css';
  import '@fontsource-variable/inter/wght.css';
</script>

<article>
  <slot />
</article>

<style>
  article :global(h1) {
    font-family: 'Playfair Display', serif;
    font-weight: 700;
  }

  article :global(p) {
    font-family: 'Inter Variable', sans-serif;
    font-weight: 400;
  }
</style>
html