- New Features: Web Fonts & Social Media Buttons Online
- New Features: Web Fonts & Social Media Buttons Free
- New Features: Web Fonts & Social Media Buttons Templates
The 20 Best HTML Web Fonts To Use In 2021. In this article, we’ll show you 20 best HTML fonts that you can install on your website. By using one of them, you will greatly improve your web design and content readability. We're excited to have just released 2 excellent features to Weebly that are now available to all users. Web Fonts We just introduced 60 new font choices! You were previously limited to 13 fonts because only about 13 fonts are natively supported by everyone's computers. Arial (sans-serif) Arial is the most widely used font for both online and printed media. Arial is also the default font in Google Docs. Arial is one of the safest web fonts, and it is available on all major operating systems. Using web fonts with Accelerated Mobile Pages (AMP). Printing web fonts; Language support and OpenType features. New Zealand Southeast Asia (Includes Indonesia.

AWS Amplify - the fastest, easiest way to develop mobile and web apps that scale.
Thierry Blancpain is a brand and interaction designer at Informal Inquiry in New York City and co-founder of Grilli Type, a Swiss type foundry. While this article is generally applicable to all web fonts, Grilli Type fonts are used throughout as examples of the concepts, particularly those demonstrating OpenType features.
Using your own fonts instead of system fonts is getting easier, but it’s still an evolving field. We’ll go over the different types of font formats and cover tips and best practices for them in this post. We’ll also dive into more in-depth features for those of you who want to level up and aim to perfect the craft with advanced concepts and considerations when using web fonts. In the end, you’ll hopefully feel equipped not only to put web fonts to use but to get the most out of them.
Here we go!
Font Formats
When you purchase web fonts licensing, you receive a package of font files that typically include at least some of the following formats:
- Embedded OpenType (EOT):EOT is a legacy format developed by Microsoft. Older Internet Explorer versions require EOT to render your web fonts. EOT is often served uncompressed so, if you don’t require browser support of the likes of IE8 or below, then you’re better off leaving it out.
- TrueType (TTF):TTF is a font format developed by Microsoft and Apple in the 1980s. Modern TTF files are also called TrueType OpenType fonts. TTF can be useful for extending support to some older browsers, especially on mobile, if you need it.
- Web Open Font Format (WOFF):WOFF was developed in 2009 as a wrapper format for TrueType and OpenType fonts. It compresses the files and is supported by all modern browsers.
- Web Open Font Format 2 (WOFF2):WOFF2 is an update to the original WOFF format. Developed by Google, this is considered the best format of the bunch because it offers smaller file sizes and better performance for modern browsers that support it.
If you are mostly targeting users with modern browsers, you can get away with a progressive method of using @font-face
that only serves WOFF and WOFF2 formats. These offer the best compression and allow you to deal with fewer files in your code. And if a user’s machine is so old that it doesn’t support either of these formats, it may be better to just serve them a system font for performance reasons, anyway.
If you want to expand support as wide as possible, then add EOT and TTF files to the mix. SVG fonts have also been traditionally used for expanding browser support but, at Grilli Type, we don’t offer SVG fonts anymore as they bring with them a number of downsides. Google Chrome for example has even completely removed support for the format.
Embedding Web Fonts
We make use of @font-face
to include fonts in CSS.
Here’s the deepest level of support, including all of the font file formats we’ve discussed so far:
We can trim things down quite a bit if we’re only aiming to support modern browsers:
Once the font has been declared and defined, we can put it to use on our elements. For example:
Hosting Web Fonts
One of the most flexible ways to load web fonts is to self-host them. That means that you host the files on your own server and your fonts will always be available when a visitor comes to your website without a third-party dependency. Neither tracking codes nor JavaScript is generally required to load self-hosted font files. Many small type foundries offer fonts as a direct download so they can be self-hosted and at Grilli Type, we are convinced it’s the best way to serve fonts.
While some type foundries offer self-hosting (both with and without cumbersome restrictions and requirements), others only offer hosted solutions, meaning they host the files on your behalf. Some of the well-known ones include Hoefler & Co., Font Bureau, and Typotheque. Font Bureau and Typotheque offer their fonts in both ways at different price points.
Make sure you know how a type foundry’s web fonts are offered before you buy licensing, because the difference in hosting and the terms of use can affect how they are implemented. Get what makes the most sense for you and fits your needs, and make sure you’re using them legally and according to the foundry’s licensing agreement.
Advanced Typographic Features
Let’s take a look at some of the more advanced features of web fonts.
Spacing and Kerning
There are two settings inside font files that define the space between characters:
letter-spacing
: This is defined as side bearings on the left and right side of each characterfont-kerning
: This refers to specific adjustments between two characters
Spacing cannot be turned off at all, because otherwise the text rendering engine (your browser) wouldn’t know what to do with these letters. Kerning, on the other hand, is turned off by default in browsers and has to be turned on by you in your CSS.
It’s easier to control kerning than you might think! Here’s how to activate it across all browsers that support it:
If you don’t use a something like Autoprefixer to help manage browser support in CSS, then you’ll want to manually write out the browser vendor prefixes for this setting to extend browser support to older versions:
Advanced OpenType Features
We just discussed how to use the font-feature-settings
attribute to control kerning, but it can also be used to control other available OpenType feature in your web fonts. The number of supported features has been growing over time and the CSS-Tricks almanac is a good place to reference what is possible with OpenType.
OpenType features are really exciting because they open up a bunch of possibilities for controlling fonts without having to serve multiple files to get the same effect. At the same time, it’s worth noting that the features an OpenType font file supports is up to the font designer and that not all fonts support the same features.
To illustrate how advanced OpenType features can be chained together, the following code would turn on the numeric characters of an OpenType-enabled font that supports both old-style numerals (onum
) and proportional numerals (pnum
), plus enable kerning and activate a specific stylistic set included in the font:
The font-feature-settings
attribute can be used to activate stylistic alternates, discretionary ligatures, different types of figures available in a font, small caps, and other handy things. Typofonderie has a nice overview of these advanced features, including examples.
Because font-feature-settings
is used to set many OpenType features at once, it’s not possible to define a single setting differently as the other choices will not be inherited. All of the features would need to be defined again to change the settings for child elements.
Letting Spacing and Word Spacing
CSS has long supported the letter-spacing
and word-spacing
attributes. When used correctly, both provide a fair amount of control over two very important aspects of how your type will look.
As with all things typography, you’ll want to learn how to evaluate different options both functionally and visually and make decisions based on your impression. Different contexts may call for different spacing needs.
At smaller sizes, most typefaces will benefit from a little extra spacing between characters and words. In larger contexts, like headings, typefaces may benefit from more narrow spacing. In either case, the right decisions require attention and your best judgment based on the outcomes.
I’ve found that letter-spacing
and word-spacing
both work best using em
units for the values. That allows the spacing to adjust fluidly based on the font size of the element they are applied to. The following example will give your content a little more room to breathe at smaller font sizes:
Font Rendering
Using type on screens brings up important questions about how they are rendered. Fonts are usually designed on about a 1000 units tall
grid—or even larger—but then are displayed at something like a 16px
font size. In an interplay between device, screen, and software, this reduction in resolution and fidelity requires some smarts to make small type legible and good-looking. Again, be observant, test in many browsers, and use your best judgment to put the best methods to use to increase legibility.
Hinting
Every operating system treats fonts differently from one another. In MacOS, the smarts are in the operating system (and thus can evolve over time), while the fonts themselves can be dumb. Historically, on Windows, the smarts were supposed to be included in the font software, and the system was supposed to use those smarts to decide how a font should be rendered at different sizes.
Those smarts are called hinting. Hinting information embedded in the font files can tell a computer that the two stems of an “H” character are supposed to have the same line width, or that the space above and below the crossbar should stay about equal at smaller sizes.
Hinting is a very complex and complicated topic, but the important takeaway is that the same font at the same size might render differently, even on the same computer depending on many factors, including the screen, the browser, and even the font and background color.
Microsoft provides a guide on the topic of hinting. Even though it was initially released in 1997, it’s still a good read because it so thoroughly explores the topic.
Font Smoothing
While hinting information included in the font files is mostly being ignored on MacOS, specific browsers offer some additional control over font rendering.

Using these CSS properties leads to sharper, thinner text rendering on MacOS and iOS. But beware: this can also lead to rendering problems, especially if you’re already using a thin font or font weight.

Both antialiased
and grayscale
are mainly useful to balance the rendering of fonts when using light text on dark backgrounds, as they would otherwise get rendered quite a bit bolder.
The font-smoothing
property and its values are not on the path to become a standard CSS feature, so use it with caution and perhaps only in contexts where you know you need to target a specific browser and context.
Caution: OptimizeLegibility
We often come across this attribute when troubleshooting font usage on Grilli Type customer websites:
Among other things, it activates kerning. That was very useful at some point, but is not needed anymore (as shown above). In addition to kerning, it also activates all kinds of ligatures, including extravagant ones that may be present in the font files.
Although there are some use cases for this, do not use this feature if you don’t know exactly what you’re doing with it. Chance are you don’t need it in the first place.
Web Font Resources
If you’re ready to dive deeper into web fonts, here are a handful of recommended resources you can use to learn more:
- Clagnut’s OpenType CSS Sandbox by Richard Rutter: A great place to test out OpenType features and easily put together your required CSS code.
- Webfont Handbook by Bram Stein: This is the most in-depth e-book you can possibly read on web fonts, font rendering, and font performance.
- Copy Paste Character: This is a great website that allows you to access pretty much any special character you might ever use.
- Using @font-face by CSS-Tricks: This article includes snippets for declaring web fonts based on varying browser support.
Advanced Web Font Considerations
For those who are ready to level up to more advanced techniques, here are even more considerations to take into account:
Uploading Licensed Fonts to Github
If you commit a project to a public repo and use font files that you have licensed, please make sure that either the fonts or the directory that contains them is included in your .gitignore
file so that they do not get uploaded. This will prevent others from taking and using your font files, and it can prevent you from breaking any terms of use for licensed fonts that usually have usage and sharing restrictions.
Font Loading Tactics
Loading web fonts can be as easy as simply using @font-face
but that doesn’t necessarily offer the best possible performance. For example, it opens up the possibility of a Flash Of Unstyled Text (FOUT) which might be considered poor UX in some cases. Zach Leatherman’s “A Comprehensive Guide to Font Loading Strategies” covers that and methods to improve the loading experience that will make you and your users very happy.
Base64-Encoded Font Files
In some rare instances, encoding your fonts as base64
inside your CSS will be a good idea but, generally, it is not—and, not to mention, you might break your font’s licensing agreement in the process. Be sure to proceed with a lot of caution and read up on your font’s terms of use when considering base64
.
CSS Text Decoration
The W3C is working on a draft for new controls for text decoration, mainly dealing with how to make underlining text better and easier in CSS. This is not yet usable across all browsers, but have a look!
Variable Fonts
In 2017, the OpenType fonts specification 1.8.2 was released, allowing for what is called Variable Fonts. This new version of OpenType will allow for the inclusion of multiple font styles into a single font file, reducing server requests and web font file sizes. Depending on the type designer’s choices, it may also allow for the use of arbitrary weights in between existing weights and widths of fonts, among other things. Axis Praxis is a good website to play around with some existing test fonts – you will need a recent version of Safari or Chrome to do so, though.
Wrapping Up
We covered a lot in this article! Hopefully, now you have a good understanding of the different font files out there, how to work with them, and all the amazing and powerful ways fonts can be styled using both tried and true methods and cutting-edge features.
In lettering and typography, sans-serif fonts, sans serif, gothic, or simplysansletterform is one that does not have to extend features called “serifs” toward the end of strokes. Sans-serif fonts have a tendency to have less line width variation than serif fonts. In most print, they are regularly used for headings rather than for body text. They are frequently used to pass simplicity and modernity or minimalism.
Sans-serif fonts have turned into the most predominant for display of content on PC screens. On lower-resolution digital displays, fine details like serifs may vanish or appear too large. The term originates from the French word sans, signifying “without” and “serif” of uncertain origin, possibly from the Dutch word schreef meaning “line” or pen-stroke.
1. Roboto
The principal designer is Christian Robertson.
The font is used by over 20M websites and in the last week, the Google Font API displayed the font over 55B times. It has a dual nature, a mechanical skeleton and the forms are largely geometric. In the meantime, the font includes friendly and open curves. While some
The Perfect Google Font Combination for this sans-serif font is: Open Sans, Lato, Raleway, Oswald, Playfair Display.
We use Roboto Sans-Serif Font in multiple WordPress Themes: Charity Life, Conference, Health & Medical, One, etc.
2. Mina
The font has been designed by Suman Bhandary and Natanael Gama.
The font is used by over 1k websites and in the last week the Google API displayed the font over 186K times. This Sans-Serif Font is a contemporary geometric Bangla (Bengali) and Latin family. The family comes in two weights, Regular and Bold. It began by extending the Latin font Exo, at first designed by Natanael Gama. It functions well as a display typeface, but on the other hand is designed to perform at small to intermediate text sizes.
The Perfect Font pairing is with Roboto, Open Sans, Montserrat, Lato, Raleway.
3. Open Sans
The Open Sans font has been designed by Steve Matteson.
The font is used by over 21M websites and in the last week the Google Font API displayed the font over 28.7B times. Open Sans is a humanist sans serif typeface designed by Steve Matteson, Type Director of Ascender Corp. This version contains the total 897 character set, which incorporates the standard ISO Latin 1, Latin CE, Greek and Cyrillic character sets. Open Sans was designed with an upright stress, open forms and a neutral, yet friendly appearance. It was optimized for print, web, and mobile interfaces, and has great legibility characteristics in its letterforms.
The Perfect Font Combination is with Open Sans, Lato, Oswald, Roboto,
4. Lato
The Lato font has been designed by Łukasz Dziedzic.
Lato is used by 11M Websites Worldwide and it’s very popular in USA. Consistently the Google API shows the font over 7.90B times. Lato is a sans serif typeface family started in the summer of 2010 by Warsaw-based designer Łukasz Dziedzic (“Lato” means “Summer” in Polish). In December 2010 the Lato family was published under the Open Font License by his foundry tyPoland, with support from Google. The semi-rounded details of the letters give Lato a feeling of warmth, while the strong structure gives solidness and seriousness. “Male and female, serious but friendly.
The Perfect Font pairing is with Roboto, Open Sans, Oswald,
5. Noto Sans
Nano Sans, it’s a Sans-Serif font designed by Google.
Over 1M websites are using the font and Google API displays the font over 1.69B times in the last week.
Noto makes the web more delightful crosswise platforms for all languages. Right now, Noto covers more than 30 scripts, and will cover all of Unicode later on. This is the Sans Latin, Greek and Cyrillic family. It has Regular, Bold, Italic and Bold Italic styles and is hinted. It is derived from Droid, and like Droid it has a serif sister family, Noto Serif.
The Perfect Font Combination is with Noto Serif, Open Sans, Inconsolata, Roboto, Source Sans Pro
6. Montserrat
Montserrat was designed by Julieta Ulanovsky and used by over 5M website.
The old posters and signs in the traditional Montserrat neighborhood of Buenos Aires motivated Julieta Ulanovsky to design this typeface and rescue the beauty of urban typography that emerged in the first half of the twentieth century. As urban development changes that place, it will never return to its original form and loses forever the designs that are so special and unique. The letters that inspired this project have work, commitment, care, color, contrast, light and life, day and night! These are the sorts that influence the city look so wonderful. The Montserrat Project started with the idea to rescue what is in Montserrat and set it free under a libre license, the SIL Open Font License.
Perfect Font pairing is with Open Sans, Roboto, Raleway, Lato, Oswald
7. Oswald
Designed by Vernon Adams, the Oswald font is an adjusting of the classic style historically represented by the ‘Alternate Gothic’ sans serif typefaces. The characters of Oswald were at first re-drawn and reformed to better fit the pixel grid of standard digital screens. Oswald is designed to be used freely across the internet by web browsers on desktop computers, laptops and mobile devices. The font is utilized by 7.2M websites and in the last week the Google API displaye the font 4.15B times.
The Perfect Font Combination is with Lato, Roboto, Open Sans,
8. Source Sans Pro
Source® Sans Pro, Adobe’s first open source typeface family, was designed by Paul D. Hunt. It is a sans serif typeface planned to function well in user interfaces. The font is used by over 4.2M websites.
The Perfect Font Combination has been tried and tested with Open Sans, Lato, Roboto, Oswald,
9. Roboto Condensed
Like Roboto Font, the Roboto Condensed has been designed by Christian Robertson.
Roboto has a dual nature. It has a mechanical skeleton and the forms are largely geometric. In the meantime, the font features friendly and open curves. While some grotesks distort their letterforms to force a rigid rhythm, Roboto doesn’t compromise, allowing letters to be settled into their natural width. This makes for a more natural reading rhythm more commonly found in humanist and serif types. It’s used by over 2.3M websites and every week the Google API displayed the font over 4.23B times.
New Features: Web Fonts & Social Media Buttons Online
The Perfect Font Combination has been tried and tested with Roboto, Open Sans, Lato, Oswald,
10. Raleway
Raleway Sans-Serif FontNew Features: Web Fonts & Social Media Buttons Free
Raleway is an elegant sans-serif typeface family proposed for headings and other large size usage. At first, designed by Matt McInerney as a single thin weight, it was expanded into a 9 weight family by Pablo Impallari and Rodrigo Fuenzalida in 2012 and iKerned by Igino Marini. The font is used by 7.1M websites and every week the Google API displayed the font over 4.23B times.
The Perfect Font pairing is with Roboto, Lato, Oswald, Playfair Display, Open Sans
New Features: Web Fonts & Social Media Buttons Templates
Fonts, Google Fonts, Sans-Serif