Geist is a new font family created by Vercel in collaboration with Basement Studio.
Geist Sans is a sans-serif typeface designed for legibility and simplicity. It is modern, geometric, and based on the principles of classic Swiss typography. It is designed to be used in body copy, headlines, logos, posters, and other large display sizes.
Geist Mono is a monospaced typeface, crafted to be the perfect partner to Geist Sans. It is designed to be used in code editors, diagrams, terminals, and other text-based interfaces where code is rendered.
npm install geist
GeistSans
is exported from geist/font/sans
, and GeistMono
can be found in geist/font/mono
. Both are NextFontWithVariable
instances. You can learn more by reading the next/font
docs.
In app/layout.js
:
import { GeistSans } from "geist/font/sans";
export default function RootLayout({
children,
}) {
return (
<html lang="en" className={GeistSans.className}>
<body>{children}</body>
</html>
)
}
In pages/_app.js
:
import { GeistSans } from "geist/font/sans";
export default function MyApp({ Component, pageProps }) {
return (
<main className={GeistSans.className}>
<Component {...pageProps} />
</main>
)
}
If you're using a version of Next.js that's older than 15, then in next.config.js
or next.config.mjs
add:
/** @type {import('next').NextConfig} */
const nextConfig = {
reactStrictMode: true,
+ transpilePackages: ["geist"],
};
export default nextConfig;
This is required to fix errors like:
TypeError: next_font_local__WEBPACK_IMPORTED_MODULE_0___default(...) is not a function
SyntaxError: Cannot use import statement outside a module
GeistSans
and GeistMono
can be used through a CSS variable.
-
GeistSans
:--font-geist-sans
-
GeistMono
:--font-geist-mono
In app/layout.js
:
import { GeistSans } from 'geist/font/sans'
import { GeistMono } from 'geist/font/mono'
export default function RootLayout({
children,
}) {
return (
<html lang="en" className={`${GeistSans.variable} ${GeistMono.variable}`}>
<body>{children}</body>
</html>
)
}
Then in tailwind.config.js
:
module.exports = {
theme: {
extend: {
fontFamily: {
sans: ['var(--font-geist-sans)'],
mono: ['var(--font-geist-mono)'],
},
},
},
}
The Geist font family is free and open sourced under the SIL Open Font License.
Geist has been influenced and inspired by the following typefaces: Inter, Univers, SF Mono, SF Pro, Suisse International, ABC Diatype Mono, and ABC Diatype. We thank the creators of these typefaces for their craft.