Getting Started

Upgrade Guide

Breaking changes and migration steps when upgrading to the latest version of @nuxt/fonts.

Upgrading to v0.14

Breaking Changes

Default font format is now woff2 only

Previously, font providers could return multiple formats (e.g., woff2, woff, truetype). The default behavior now only resolves woff2 format fonts, which is universally supported in all modern browsers.

This means your rendered @font-face declarations will typically have fewer src entries, reducing overall CSS size. In most cases this is a transparent improvement and requires no action.

If you need to support legacy browsers that require other formats, you can configure this in your nuxt.config.ts:

export default defineNuxtConfig({
  fonts: {
    defaults: {
      formats: ['woff2', 'woff', 'ttf'],
    },
  },
})

The available format values are: 'woff2', 'woff', 'ttf', 'otf', 'eot'.

New Features

Font format resolution

You can now control which font formats are resolved via the new defaults.formats option. This defaults to ['woff2'].

export default defineNuxtConfig({
  fonts: {
    defaults: {
      formats: ['woff2'],
    },
  },
})

Provider-specific font family options

You can now pass provider-specific options when configuring individual font families using the new providerOptions property:

export default defineNuxtConfig({
  fonts: {
    families: [
      {
        name: 'My Font',
        provider: 'google',
        providerOptions: {
          google: {
            experimental: {
              variableAxis: {
                wdth: [['75', '100']],
              },
            },
          },
        },
      },
    ],
  },
})

throwOnError option

You can now configure whether font resolution errors should throw or just warn:

export default defineNuxtConfig({
  fonts: {
    throwOnError: true, // default: false
  },
})
Copyright © 2026