fonts icon indicating copy to clipboard operation
fonts copied to clipboard

A privacy-friendly drop-in replacement for Google Fonts

A privacy-friendly drop-in replacement for Google Fonts

I wrote it in an hour, so please report bugs here. Several improvements could be made here and there, so do not hesitate to contact me. if you have any suggestions.

Latency test

(The colorful is my API, the grey is Google's API)

Why?

There have been several GDPR issues popping up lately with Google & Google CDN. We don't know what they are doing with user details, such as IP address, browser agent, etc.

So I decided to create a similar service just without logging ANYTHING.

How to use?

Fonts

Change the domain name from fonts.googleapis.com to api.fonts.coollabs.io in your <head> tag; that's it!

Example:

Original <head> content:

<link rel="preconnect" href="https://fonts.googleapis.com">
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
<link href="https://fonts.googleapis.com/css2?family=Roboto&display=swap" rel="stylesheet">

Replaced <head> content:

<link rel="preconnect" href="https://api.fonts.coollabs.io" crossorigin>
<link href="https://api.fonts.coollabs.io/css2?family=Roboto&display=swap" rel="stylesheet">

Or with @import:

From:

<style>
@import url('https://fonts.googleapis.com/css2?family=Roboto&display=swap');
</style>

To:

<style>
@import url('https://api.fonts.coollabs.io/css2?family=Roboto&display=swap');
</style>

Currently, it only supports the css2 API endpoint.

Icons

Currently, Material Icons is supported.

Original <head> content:

<link rel="preconnect" href="https://fonts.googleapis.com">
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
<link href="https://fonts.googleapis.com/icon?family=Material+Icons" rel="stylesheet">

Replaced <head> content:

<link rel="preconnect" href="https://api.fonts.coollabs.io" crossorigin>
<link href="https://api.fonts.coollabs.io/icon?family=Material+Icons" rel="stylesheet">

Stack

  • The API is a simple HTTP server (written in Node.js/Fastify), that is open-sourced and does not log anything, hosted with a coolify instance on a Hetzner server.
  • Fonts are served from BunnyCDN, which has an option to disable logging on their side completely.