# Remotion Rule: Fonts > Remotion skill rule: Loading Google Fonts and local fonts in Remotion. Part of the official Remotion Agent Skill for programmatic video in React. ## Install Save the content below to `.claude/skills/` or append to your `CLAUDE.md`: ## Quick Use ```bash npx skills add remotion-dev/skills ``` This rule activates automatically when working with fonts in a Remotion project. --- ## Intro Loading Google Fonts and local fonts in Remotion. Part of the [Remotion AI Skill](https://tokrepo.com/en/workflows/57997ead-c8fa-409c-916f-28bbc0adc8d9) — the official Agent Skill for programmatic video creation in React. **Best for**: Developers using Remotion for fonts **Works with**: Claude Code, OpenAI Codex, Cursor --- ## Rule Content # Using fonts in Remotion ## Google Fonts with @remotion/google-fonts The recommended way to use Google Fonts. It's type-safe and automatically blocks rendering until the font is ready. ### Prerequisites First, the @remotion/google-fonts package needs to be installed. If it is not installed, use the following command: ```bash npx remotion add @remotion/google-fonts # If project uses npm bunx remotion add @remotion/google-fonts # If project uses bun yarn remotion add @remotion/google-fonts # If project uses yarn pnpm exec remotion add @remotion/google-fonts # If project uses pnpm ``` ```tsx import { loadFont } from "@remotion/google-fonts/Lobster"; const { fontFamily } = loadFont(); export const MyComposition = () => { return
Hello World
; }; ``` Preferrably, specify only needed weights and subsets to reduce file size: ```tsx import { loadFont } from "@remotion/google-fonts/Roboto"; const { fontFamily } = loadFont("normal", { weights: ["400", "700"], subsets: ["latin"], }); ``` ### Waiting for font to load Use `waitUntilDone()` if you need to know when the font is ready: ```tsx import { loadFont } from "@remotion/google-fonts/Lobster"; const { fontFamily, waitUntilDone } = loadFont(); await waitUntilDone(); ``` ## Local fonts with @remotion/fonts For local font files, use the `@remotion/fonts` package. ### Prerequisites First, install @remotion/fonts: ```bash npx remotion add @remotion/fonts # If project uses npm bunx remotion add @remotion/fonts # If project uses bun yarn remotion add @remotion/fonts # If project uses yarn pnpm exec remotion add @remotion/fonts # If project uses pnpm ``` ### Loading a local font Place your font file in the `public/` folder and use `loadFont()`: ```tsx import { loadFont } from "@remotion/fonts"; import { staticFile } from "remotion"; await loadFont({ family: "MyFont", url: staticFile("MyFont-Regular.woff2"), }); export const MyComposition = () => { return
Hello World
; }; ``` ### Loading multiple weights Load each weight separately with the same family name: ```tsx import { loadFont } from "@remotion/fonts"; import { staticFile } from "remotion"; await Promise.all([ loadFont({ family: "Inter", url: staticFile("Inter-Regular.woff2"), weight: "400", }), loadFont({ family: "Inter", url: staticFile("Inter-Bold.woff2"), weight: "700", }), ]); ``` ### Available options ```tsx loadFont({ family: "MyFont", // Required: name to use in CSS url: staticFile("font.woff2"), // Required: font file URL format: "woff2", // Optional: auto-detected from extension weight: "400", // Optional: font weight style: "normal", // Optional: normal or italic display: "block", // Optional: font-display behavior }); ``` ## Using in components Call `loadFont()` at the top level of your component or in a separate file that's imported early: ```tsx import { loadFont } from "@remotion/google-fonts/Montserrat"; const { fontFamily } = loadFont("normal", { weights: ["400", "700"], subsets: ["latin"], }); export const Title: React.FC<{ text: string }> = ({ text }) => { return (

{text}

); }; ``` --- ## Source & Thanks > Created by [Remotion](https://github.com/remotion-dev). Licensed under MIT. > [remotion-dev/skills](https://github.com/remotion-dev/skills) — Rule: `fonts` Part of the [Remotion AI Skill](https://tokrepo.com/en/workflows/57997ead-c8fa-409c-916f-28bbc0adc8d9) collection on TokRepo. --- Source: https://tokrepo.com/en/workflows/a6c7b3ba-187a-4aed-a914-b443db058295 Author: Skill Factory