Using fonts
Here are some ways how you can use custom fonts in Remotion.
Google Fonts using @remotion/google-fonts
available from v3.2.40
@remotion/google-fonts is a type-safe way to load Google fonts without having to create CSS files.
import { loadFont } from "@remotion/google-fonts/TitanOne";
const { fontFamily } = loadFont();
const GoogleFontsComp: React.FC = () => {
return <div style={{ fontFamily }}>Hello, Google Fonts</div>;
};Google Fonts using CSS
Import the CSS that Google Fonts gives you.
note
From version 2.2 on, Remotion will automatically wait until the fonts are loaded.
@import url("https://fonts.googleapis.com/css2?family=Bangers");import "./font.css";
const MyComp : React .FC = () => {
return <div style ={{ fontFamily : "Bangers" }}>Hello</div >;
};Local fonts using @remotion/fonts
available from v4.0.164
Put the font into your public/ folder.
Put the loadFont() call somewhere in your app where it gets executed:
import { loadFont } from "@remotion/fonts";
import { staticFile } from "remotion";
const fontFamily = "Inter";
loadFont ({
family : fontFamily ,
url : staticFile ("Inter-Regular.woff2"),
weight : "500",
}).then (() => {
console .log ("Font loaded!");
});The font is now available for use:
<div style ={{ fontFamily : fontFamily }}>Some text</div >;Local fonts (manually)
You may load fonts by using the web-native FontFace API.
import { continueRender , delayRender , staticFile } from "remotion";
const waitForFont = delayRender ();
const font = new FontFace (
`Bangers`,
`url('${staticFile ("bangers.woff2")}') format('woff2')`,
);
font
.load ()
.then (() => {
document .fonts .add (font );
continueRender (waitForFont );
})
.catch ((err ) => console .log ("Error loading font", err ));note
If your Typescript types give errors, install the newest version of the @types/web package.