product / typeswap

Typeswap

Your fonts, on any site. Including the ones whose Content-Security-Policy blocks every other font extension.

v1.0.0Chrome extension · Pro and Max

Get the Hub Read the docs

Typeswap’s popup: the page it is looking at, and its Rules and Fonts tabs with Rules selected.

Typeswap · the popup

what it does

One face, everywhere you read

One face, or one site at a time

Replaces the fonts a website uses with one you choose. Useful when a site ships a typeface that is hard to read at your size, when you want the same face everywhere, or when you read for long enough that the difference matters.

The sites that block every other font extension

Some sites set a Content-Security-Policy that refuses fonts from anywhere but their own servers — which is what stops most font extensions working on exactly the sites you most want to change. Typeswap installs its font through a route that policy does not cover.

Rules, per family

All sites, all except some, or only some. Variable fonts keep every axis, each with its own slider.

Where a font can come from

Your system
Anything already installed on the machine.
A file
Drop in a .woff2, .ttf or .otf. It stays on this machine.
A URL
Point at a hosted font and it is fetched once and kept.
A stylesheet
A Google Fonts stylesheet, or a .zip of faces.

What it cannot do

  • It cannot change text baked into an image, or text drawn on a canvas.
  • It will not fix a site whose layout depends on its own font’s exact metrics — a wider face can wrap differently. Pick a similar one, or set it for that site only.
  • Icon fonts are left alone deliberately. Swapping those turns every icon on the page into a letter.
Stored
The fonts you add and the sites you set them for, kept in the browser. A font from a file never leaves the machine.
Interface
A toolbar popup, and a full window for longer work.

Getting Typeswap

Not a separate download, and never a Chrome Web Store listing. The Hub holds whichever extensions your plan covers and opens a browser with them already loaded.

They run in the Chrome the Hub opens, not the Chrome you already have open. Chrome refuses the debugging pipe on a logged-in profile — it would expose cookies and saved passwords — so a separate profile is the only configuration Chrome allows. And because an extension loaded that way is not remembered across a restart, the Hub is what starts that browser each time.

When a plan stops covering Typeswap it stays installed and keeps working. It simply stops receiving updates.

Get the Hub See what each plan covers