Fonts
You can add fonts to your theme in the following ways:
- Use fonts from Shopify’s font library
- Use custom fonts
Shopify font library
Anchor link to section titled "Shopify font library"Shopify's font library is a collection of fonts that includes system fonts, a selection of Google fonts, and licensed fonts from Monotype. These fonts are free to use on all Shopify online stores, and are provided in both WOFF and WOFF2 formats.
The files for each font include the following Unicode ranges, if the ranges are available for the font:
A limited number number of fonts also include the CJK Unicode ranges used in Japanese writing (e.g. CJK Unified Ideographs).
This selection of fonts covers a broad range of use cases. However, due to licensing restrictions, there are some fonts that Shopify can't include. If you need to use a broader range of characters, then you can use system fonts, Typekit, and other solutions.
To learn more about using Shopify’s font library, refer to Add Shopify fonts to your theme.
System fonts
Anchor link to section titled "System fonts"System fonts are fonts that are already installed on a user’s computer. This removes the need for browsers to download the font before rendering text and makes the theme more performant. System fonts are listed with the available fonts, noted with a system badge, and will show under the System fonts category in the theme editor font picker.
If you choose to use system fonts, then the font that’s used to render text will depend on the user’s operating system. There are three generic system font types. The following are examples of fonts within those types:
mono
- Menlo, Consolas, Monaco, Liberation Mono, and Lucida Consolesans-serif
- BlinkMacSystemFont, Segoe UI, Roboto, Ubuntu, and Helvetica Neueserif
- Iowan Old Style, Apple Garamond, Baskerville, Times New Roman, Droid Serif, Times, and Source Serif Pro
Custom fonts
Anchor link to section titled "Custom fonts"If you want to use a font that's not included in Shopify's font library, then you can use fonts from third party solutions like Typekit.
With most third party font solutions, you have the following options for including the font in your theme:
If you include custom fonts in your theme and want to provide merchants with the ability to choose the font, then you need to create a setting for the selection, such as a select setting. You can then reference the setting value in your CSS when defining which font to use for the associated elements.
Third party hosted fonts
Anchor link to section titled "Third party hosted fonts"If a font is hosted with the third party, then they'll usually provide a <link>
tag to include the font in your theme:
Host fonts in your theme
Anchor link to section titled "Host fonts in your theme"If you have your own font files, then follow these steps to include the font in your theme:
If you're planning on pushing your theme to a store using Shopify CLI, uploading a theme ZIP file, using the Shopify GitHub integration, or distributing the font with a theme through the Shopify Theme Store, then you should store the font in the assets folder of the theme. These steps should be performed in a local code editor, not the admin code editor.
- Add the font files to the assets directory.
Create a
@font-face
CSS rule so that you can reference the font. Use theasset_url
filter to output the URL for the font file:
Shopify admin
Anchor link to section titled "Shopify admin"If you want to add a font to an existing theme through the Shopify admin, then you should store your font in the Files section of the Shopify admin. This is because uploading some types of fonts to the assets
directory through the admin code editor might lead to file corruption.
- Upload the font files to the Content > Files section of the Shopify admin.
Create a
@font-face
CSS rule so that you can reference the font. Use thefile_url
filter to output the URL for the font file:
Add Shopify fonts to your theme
Anchor link to section titled "Add Shopify fonts to your theme"The following outlines how to use fonts from the Shopify font library in your theme:
- Add a font_picker type setting to allow merchants to choose their font in the theme editor. The value of this setting is returned as a
font
object. - Use one of the following font filters to load the chosen font, or any of its variants:
- Use the font_face filter to insert the default
@font-face
declaration. - Use the font_url filter to access a CDN URL, so that you can create a custom
@font-face
declaration. - Use the font_modify filter to access font variants of the same family. Examples are bold and italic stylings.
- Use the font_face filter to insert the default
- Reference the chosen font to set any specific CSS stylings, such as font-family, font-weight, and font-style.
Available fonts
Anchor link to section titled "Available fonts"The following fonts are free to use on all Shopify online stores: