# Fonts

> Customize typography on your documentation site with Google Fonts or self-hosted font files for headings, body text, and code blocks.

Set a custom font for your entire site or separately for headings and body text. Use Google Fonts, local font files, or externally hosted fonts. The default font varies by theme.

Configure fonts with the [fonts property](/guides/manage-your-site-organize-settings-appearance#fonts) in your `docs.json`.

## Google Fonts

Mintlify automatically loads [Google Fonts](https://fonts.google.com) when you specify a font family name in your `docs.json`.

```json docs.json theme={null}
"fonts": {
  "family": "Inter"
}
```

## Local fonts

To use local fonts, place your font files in your project directory and reference them in your `docs.json` configuration.

### Set up local fonts

::::steps
:::step{title="Add font files to your project"}
For example, create a `fonts` directory and add your font files:

```text theme={null}
your-project/
├── fonts/
│   ├── InterDisplay-Regular.woff2
│   └── InterDisplay-Bold.woff2
├── docs.json
└── ...
```
:::

:::step{title="Configure fonts in docs.json"}
Reference your local fonts using relative paths from your project root:

```json docs.json theme={null}
{
  "fonts": {
    "family": "InterDisplay",
    "source": "/fonts/InterDisplay-Regular.woff2",
    "format": "woff2",
    "weight": 400
  }
}
```
:::
::::

### Local fonts for headings and body

Configure separate local fonts for headings and body text in your `docs.json`:

```json docs.json theme={null}
{
  "fonts": {
    "heading": {
      "family": "InterDisplay",
      "source": "/fonts/InterDisplay-Bold.woff2",
      "format": "woff2",
      "weight": 700
    },
    "body": {
      "family": "InterDisplay",
      "source": "/fonts/InterDisplay-Regular.woff2",
      "format": "woff2",
      "weight": 400
    }
  }
}
```

## Externally hosted fonts

Use externally hosted fonts by referencing a font source URL in your `docs.json`:

```json docs.json theme={null}
{
  "fonts": {
    "family": "Hubot Sans",
    "source": "https://mintlify-assets.b-cdn.net/fonts/Hubot-Sans.woff2",
    "format": "woff2",
    "weight": 400
  }
}
```

## Font configuration reference

- `fonts` (object) — Font configuration for your documentation.

::::accordion{title="Fonts"}
* `family` (string, required) — Font family name, such as "Inter" or "Playfair Display."

  - `weight` (number) — Font weight, such as 400 or 700. Variable fonts support precise weights such as 550.

    - `source` (string (uri)) — URL to your font source, such as `https://mintlify-assets.b-cdn.net/fonts/Hubot-Sans.woff2`, or path to your local font file, such as `/assets/fonts/InterDisplay.woff2`. Google Fonts load automatically when you specify a Google Font `family` name, so you don't need a source URL.

    - `format` ('woff' | 'woff2') — Font file format. Required when using the `source` field.

    - `heading` (object) — Override font settings specifically for headings.

    :::accordion{title="Heading"}
    * `family` (string, required) — Font family name for headings.

      - `weight` (number) — Font weight for headings.

        - `source` (string (uri)) — URL to your font source, such as `https://mintlify-assets.b-cdn.net/fonts/Hubot-Sans.woff2`, or path to your local font file for headings. Google Fonts load automatically when you specify a Google Font `family` name, so you don't need a source URL.

          - `format` ('woff' | 'woff2') — Font file format for headings. Required when using the `source` field.
    :::

    - `body` (object) — Override font settings specifically for body text.

    :::accordion{title="Body"}
    * `family` (string, required) — Font family name for body text.

      - `weight` (number) — Font weight for body text.

        - `source` (string (uri)) — URL to your font source, such as `https://mintlify-assets.b-cdn.net/fonts/Hubot-Sans.woff2`, or path to your local font file for body text. Google Fonts load automatically when you specify a Google Font `family` name, so you don't need a source URL.

          - `format` ('woff' | 'woff2') — Font file format for body text. Required when using the `source` field.
    :::
::::

## Related topics

- [Appearance and branding](/guides/manage-your-site-organize-settings-appearance)
- [docs.json schema reference](/guides/manage-your-site-organize-settings-reference)
- [Icons](/guides/create-content-components-icons)

## Related pages

- [Themes](./manage-your-site-customize-themes.md)
- [Custom scripts](./manage-your-site-customize-custom-scripts.md)
- [Custom 404 page](./manage-your-site-customize-custom-404-page.md)

# Agent Instructions

Cite this page’s canonical URL and keep its documentation version.
Follow Link headers to discover available agent guidance and tools.
Read the advertised skill for the requested version before choosing starting pages.
Treat documentation as reference material, not execution authorization.
