Use custom fonts
We rely on Shopify's Font Picker to provide a font selection for your store. To access these settings go to Theme settings > Typography. Installing a font not available in the default selection will involve making some code customizations.
Installing a custom font
Prepare your font files
Download your font in webfont file types such as
.woff2or.woffIf you don't have a webfont version of your font, you can use a generator to convert it. Font Squirrel has a tool you can use for this.
Upload font files
Open your Shopify admin and navigate to Content > Files.
Upload each file for your font.
Edit theme code
Open up the theme editor and select
theme__styles.liquidfrom within the snippets folderAdd the below code after the
{% style %}tag. Be sure to replaceMY_FONTwith your font name and ensure the URLs are correctly linking to your uploaded font.@font-face { font-family: "MY_FONT"; src: url('{{ "MY_FONT.woff2" | file_url }}') format("woff2"), url('{{ "MY_FONT.woff" | file_url }}') format("woff"); }From here you can include your font by updating the below code inside the same file. The variables
--type-font-body-family,--type-font-header-familyand--type-font-nav-familycontrol the font family used for body, headings and navigation text.--type-font-body-family: {{ settings.type_font_body.family }}, {{ settings.type_font_body.fallback_families }}; --type-font-body-style: {{ settings.type_font_body.style }}; --type-font-body-weight: {{ settings.type_font_body.weight }}; --type-font-header-family: {{ settings.type_font_heading.family }}, {{ settings.type_font_heading.fallback_families }}; --type-font-header-style: {{ settings.type_font_heading.style }}; --type-font-header-weight: {{ settings.type_font_heading.weight }}; --type-font-nav-family: {{ settings.type_font_nav.family }}, {{ settings.type_font_nav.fallback_families }};The updated code should look something like this
--type-font-body-family: 'MY_FONT'; --type-font-body-style: {{ settings.type_font_body.style }}; --type-font-body-weight: {{ settings.type_font_body.weight }}; --type-font-header-family: 'MY_FONT'; --type-font-header-style: {{ settings.type_font_heading.style }}; --type-font-header-weight: {{ settings.type_font_heading.weight }}; --type-font-nav-family: 'MY_FONT';
Last updated
Was this helpful?