General
Customization
Fonts
Learn how to change fonts using Google Fonts or custom fonts.
You can change the font in app/layout.tsx. The starter kit currently uses:
app/layout.tsx
import { Literata } from 'next/font/google';
import { GeistSans } from 'geist/font/sans';
const literata = Literata({
subsets: ['latin'],
variable: '--font-literata'
});
export default function RootLayout({ children }) {
return (
<html
lang="en"
className={`${GeistSans.variable} ${literata.variable}`}
>
{/* ... */}
</html>
);
}To change to a different Google Font, for example Inter:
app/layout.tsx
import { Inter } from 'next/font/google';
import { GeistSans } from 'geist/font/sans';
const inter = Inter({
subsets: ['latin'],
variable: '--font-inter'
});
export default function RootLayout({ children }) {
return (
<html
lang="en"
className={`${GeistSans.variable} ${inter.variable}`}
>
{/* ... */}
</html>
);
}Or use a custom font:
app/layout.tsx
import localFont from 'next/font/local';
const customFont = localFont({
src: './fonts/custom-font.woff2',
display: 'swap'
});Font Variables
Font variables are automatically available via the variable prop. You can use them in your CSS:
app/globals.css
:root {
--font-sans: var(--font-geist-sans);
--font-literata: var(--font-literata);
}Then use them in your components:
components/example.tsx
<div className="font-sans">This uses Geist Sans</div>
<div className="font-[family-name:var(--font-literata)]">This uses Literata</div>