Using Google Fonts in Next.js 10.2+
To use Google Fonts in a Next.js application you would typically either create a custom
Document file or create a custom
Head component where you would use a regular HTML link tag to download the font:
<link href="https://fonts.googleapis.com/css2family=Lato&display=swap" rel="stylesheet" />
This approach worked perfectly fine, however it had one disadvantage — for every font that needed to be downloaded the browser had to make an extra round trip to fetch the font declarations at run time. There were several plugins trying to solve this issue, next-google-fonts being a popular one.
Depending on the scale and type of your project it was most likely only a very minor performance issue, but since Next.js 10.2 this is no longer the case. This version comes with Automatic Webfont Optimization support when using web fonts (limited to Google Fonts and Typekit for now), which automatically inlines font CSS at build time, eliminating the round trip and thus improving performance.
The optimization comes out of the box and requires no further configuration. Below you can see an example of adding a Google Web Font by creating a custom
In case you do not want Next.js to automatically optimize your fonts, you can opt-out in the