geist

v1.3.1
Geist is a new font family for Vercel, created by Vercel in collaboration with Basement Studio.
geist geist mono geist sans vercel font

Geist Sans & Geist Mono

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.

Installation

npm install geist

Using with Next.js

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.

App Router

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>
  )
}

Pages Router

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

With Tailwind CSS

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)'],
      },
    },
  },
}

License

The Geist font family is free and open sourced under the SIL Open Font License.

Inspiration

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.

npm i geist

Metadata

Downloads