frontend-google-fonts

petbrains's avatarfrom petbrains

Typography setup with Google Fonts for Next.js + Tailwind projects. Use when choosing fonts, need font pairing recommendations (SaaS, editorial, corporate presets), or setting up optimized font loading. Includes ready-to-use configurations and performance best practices.

⭐4stars🔀0forks📁View on GitHub🕐Updated Dec 22, 2025

When & Why to Use This Skill

This Claude skill automates the typography setup process for Next.js and Tailwind CSS projects. It provides ready-to-use Google Fonts configurations, professional font pairing recommendations (SaaS, Corporate, Editorial), and performance-optimized code snippets to ensure fast loading and high-quality visual design.

Use Cases

  • Rapidly initializing a Next.js project with optimized Google Fonts configuration and Tailwind CSS integration.
  • Selecting and implementing professional font pairings tailored to specific brand identities like Modern SaaS, Corporate, or Tech startups.
  • Optimizing web performance and Core Web Vitals by applying best practices such as font subsetting, variable fonts, and 'display: swap' strategies.
  • Generating a consistent and scalable typography system within a Tailwind CSS configuration file to maintain design integrity.
namefrontend-google-fonts
descriptionTypography setup with Google Fonts for Next.js + Tailwind projects. Use when choosing fonts, need font pairing recommendations (SaaS, editorial, corporate presets), or setting up optimized font loading. Includes ready-to-use configurations and performance best practices.
allowed-toolsRead, Edit, Write, Bash (*)

Google Fonts

Typography setup for web projects. Font pairings + performance optimization.

When to Use

  • Setting up project fonts
  • Need font pairing recommendations
  • Optimizing font loading

Process

SELECT → CONFIGURE → APPLY

  1. Choose fonts for project type
  2. Configure in Next.js
  3. Add to Tailwind

Quick Start (Next.js)

// lib/fonts.ts
import { Inter, Plus_Jakarta_Sans } from 'next/font/google'

export const inter = Inter({
  subsets: ['latin'],
  display: 'swap',
  variable: '--font-inter',
})

export const jakarta = Plus_Jakarta_Sans({
  subsets: ['latin'],
  display: 'swap',
  variable: '--font-jakarta',
})

// app/layout.tsx
<html className={`${inter.variable} ${jakarta.variable}`}>

// tailwind.config.ts
fontFamily: {
  sans: ['var(--font-inter)'],
  display: ['var(--font-jakarta)'],
}

Font Pairing Presets

Modern SaaS:
  Heading: Plus Jakarta Sans
  Body: Inter

Corporate:
  Heading: Source Sans 3
  Body: Source Serif 4

Editorial:
  Heading: Playfair Display
  Body: Lora

Tech/Dev:
  Heading: Geist
  Body: Inter
  Code: Geist Mono

Startup/Friendly:
  Heading: Outfit
  Body: Nunito

Top Font Choices

Font Category Best For
Inter Sans Universal default
Plus Jakarta Sans Sans Modern SaaS
DM Sans Sans Clean startups
Geist Sans Dev tools
Playfair Display Serif Elegant headlines
Lora Serif Long-form reading
JetBrains Mono Mono Code blocks

Performance Tips

Variable fonts:     Use Inter, not Roboto with weight array
Subset:             Only 'latin' unless multilingual
Display swap:       Always set display: 'swap'
Self-host:          next/font auto self-hosts (no external requests)

Typography Scale

text-xs:   12px
text-sm:   14px
text-base: 16px
text-lg:   18px
text-xl:   20px
text-2xl:  24px
text-3xl:  30px
text-4xl:  36px

Decision by Project Type

Type Heading Body
SaaS Dashboard Inter Inter
Marketing Site Plus Jakarta Inter
Blog Playfair Display Lora
Dev Docs Geist Inter
Enterprise Source Sans Source Serif

Resources: