explaingit

uswds/public-sans

4,717HTMLAudience · designerComplexity · 1/5LicenseSetup · easy

TLDR

A free, open-source typeface from the U.S. Web Design System designed for clear reading at any size on websites and in print, available as webfonts, OpenType files, and an experimental variable font.

Mindmap

mindmap
  root((public-sans))
    What it is
      Free typeface
      U.S. government origin
      Libre Franklin fork
    Features
      Multiple weights
      Italic support
      Tabular numerals
    File formats
      Webfonts
      OpenType files
      Variable fonts
    Use cases
      Government websites
      General websites
      Design mockups
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

Things people build with this

USE CASE 1

Use Public Sans as the body and heading font on a government or general-purpose website that needs a clean, readable appearance without a strong visual personality.

USE CASE 2

Replace Open Sans, Arial, or Helvetica on an existing site with a font that degrades gracefully to system defaults when the webfont fails to load.

USE CASE 3

Install the OpenType files locally to use Public Sans in design mockups in Figma or similar tools.

Tech stack

HTMLCSSOpenType

Getting it running

Difficulty · easy Time to first run · 5min
Use freely for any purpose including commercial projects, as long as the license and copyright notice are included with any distributed copies of the font files.

In plain English

Public Sans is a free, open-source typeface created by the U.S. Web Design System for use on websites and in printed materials. It is a Latin-only font that covers the English alphabet and extended Latin characters used in many European languages. It is released under the SIL Open Font License, which allows anyone to use it freely including in commercial projects. The typeface started as a fork of Libre Franklin, an existing open-source font, and was then modified to serve a specific purpose: text that reads clearly at both small sizes in body copy and large sizes in headings, while remaining neutral in character rather than carrying a strong stylistic personality. The design goals include a broad range of weights, a good italic, and support for tabular (evenly spaced) numerals that line up in columns, which is useful for displaying data. Compared to Libre Franklin, Public Sans is slightly shorter and narrower, has looser letter spacing, more regularized stroke widths, angled rather than rounded vertices, and a lowercase "l" with a hooked tail to prevent it from being confused with a capital "I" or the number "1". The changes aim to improve legibility in longer texts and give the font a cleaner, more consistent appearance at small sizes. The font is designed to sit alongside the default system fonts used by Apple and Google. If a user's device does not load the webfont, sites built with Public Sans should look close to the intended design when falling back to those system fonts. It is positioned as a substitute for Open Sans, Arial, Helvetica, or Libre Franklin. Font files are provided in three formats: webfonts for use on websites, OpenType files for local installation and print, and variable font files that are described as experimental.

Copy-paste prompts

Prompt 1
Show me the CSS font-face rules to load Public Sans webfonts with the correct weights and a system font fallback stack.
Prompt 2
I'm using the U.S. Web Design System. How do I set Public Sans as the default typeface in my project CSS?
Prompt 3
What font-weight values map to which Public Sans weight files, and how do I switch to the variable font version instead?
Open on GitHub → Explain another repo

← uswds on gitmyhub — every repo by this author, as a profile.

Verify against the repo before relying on details.