Add fonts to your Makeswift & Next.js project.
font-weight: 432;
or smoothly animate between weights, instead of being limited to predefined steps like 400 and 700. This gives you more granular control over typography.
.woff2
file might be slightly smaller to load. But for most projects that use multiple weights or styles, variable fonts are more efficient and flexible.
next/font
next/font
module. This keeps font files in your app (no external requests), optimizes loading, and
helps reduce layout shifts.
Depending on the source of your fonts, you have two options:
next/font/google
for Google Fontsnext/font/local
for custom or licensed fonts (non-Google)next/font
helps (but is optional):
next/font
module’s automatic handling of @font-face
generation, preloading, and fallbacks.
next/font
reference
docs for more
options like fallbacks, subsets, and variable fonts.next/font
. If you prefer, you can manually define
@font-face
in CSS and still register those fonts with Makeswift (see
alternative below).next/font
vs. @font-face
next/font/google
when the font you want is available in the Google Fonts library. This is the simplest option since no font files need to live in your project.next/font/local
when you have custom brand fonts, licensed fonts, or any web font files you want to serve directly from your app. This ensures fonts are self-hosted and fully under your control.@font-face
in CSS if you need complete control over font loading behavior or prefer not to rely on the next/font
module. This works fine, but you will not get the automatic optimizations that next/font
provides.next/font/google
module.
/public/fonts/
directorynext/font
@font-face
in CSSnext/font
module?next/font
for convenience and
performance, or use plain @font-face
in CSS. Both work as long as the font files
are available and you register them using the API handler.
.woff2
) are supported.
You can load them locally and register them with Makeswift so editors can
select them in the builder.