百科.dev
全部条目AI 编程趋势榜开源项目技术资讯提交条目
登录
< 返回工具列表
G

google-webfonts-helper

> 编程语言
开源

一个无忧的自主托管 Google 字体的方式。获取 eot、ttf、svg、woff 和 woff2 文件以及 CSS 片段

13.0K stars0 点赞0 次浏览
访问官网GitHub

工具介绍

一个无忧的自主托管 Google 字体的方式。获取 eot、ttf、svg、woff 和 woff2 文件以及 CSS 片段

google-webfonts-helper

A Hassle-Free Way to Self-Host Google Fonts

✅ https://gwfh.mranftl.com

Current Sponsors

Help me keep this service alive by sponsoring me. Thank you. ❤️

ToC

  • google-webfonts-helper
    • Current Sponsors
    • ToC
    • Give it a try: https://gwfh.mranftl.com
    • Running gwfh on your own server
    • Development
      • Quickstart
      • Production build
    • JSON API
      • GET /api/fonts
      • GET /api/fonts/[id]?subsets=latin,latin-ext
      • GET /api/fonts/[id]?download=zip&subsets=latin&formats=woff,woff2&variants=regular
    • History
    • License

Give it a try: https://gwfh.mranftl.com

This service might be handy if you want to host a specific Google font on your own server:

  • font style and charset customization
  • CSS snippets
  • .eot, .woff, .woff2, .svg, .ttf font file formats download (zipped).

Running gwfh on your own server

I provide prebuilt Docker images via GitHub Packages. You can use them as follows:

# See https://developers.google.com/fonts/docs/developer_api for creating your own API-Key.

docker run -e GOOGLE_FONTS_API_KEY=<YOUR-API-KEY> -p 8080:8080 ghcr.io/majodev/google-webfonts-helper:<TAG>
# Express server listening on 8080, in production mode

Development

Quickstart

Do this to setup a development environment:

…

Production build

If you want to build and run your own production container locally:

# Build the production docker container (final stage)
docker build . -t <your-image-tag>

# Run it (if you have previously started the development container, halt it!)
./docker-helper.sh --halt
docker run -e GOOGLE_FONTS_API_KEY=<YOUR-API-KEY> -p 8080:8080 <your-image-tag>
# Express server listening on 8080, in production mode

To mitigate security issues especially with the projects' deprecated dependencies, the final image is based on a minimal container image. It runs rootless and has no development dependencies.

JSON API

The API is public, feel free to use it directly (rate-limits may apply).

GET /api/fonts

Returns a list of all fonts, sorted by popularity. E.g. curl https://gwfh.mranftl.com/api/fonts:

[{
  "id": "open-sans",
  "family": "Open Sans",
  "variants": ["300", "300italic", "regular", "italic", "600", "600italic", "700", "700italic", "800", "800italic"],
  "subsets": ["devanagari", "greek", "latin", "cyrillic-ext", "cyrillic", "greek-ext", "vietnamese", "latin-ext"],
  "category": "sans-serif",
  "version": "v10",
  "lastModified": "2014-10-17",
  "popularity": 1,
  "defSubset": "latin",
  "defVariant": "regular"
} [...]
]

GET /api/fonts/[id]?subsets=latin,latin-ext

Returns a font with urls to the actual font files google's servers. subsets is optional (will serve the defSubset if unspecified). E.g. curl "https://gwfh.mranftl.com/api/fonts/modern-antiqua?subsets=latin,latin-ext" (the double quotes are important as query parameters may else be stripped!):

…

GET /api/fonts/[id]?download=zip&subsets=latin&formats=woff,woff2&variants=regular

Download a zipped archive with all .eot, .woff, .woff2, .svg, .ttf files of a specified font. The query parameters formats and variants are optional (includes everything if no filtering is applied). is E.g. curl -o fontfiles.zip "https://gwfh.mranftl.com/api/fonts/lato?download=zip&subsets=latin,latin-ext&variants=regular,700&formats=woff" (the double quotes are important as query parameters may else be stripped!)

History

2025:

  • Switch to node:22 for the final image.
  • Adds support for linux/arm64 architecture (patches imagemin/optipng-bin)

2024:

  • Switch to node:20 for the final image.

2023:

  • Project upgraded to be compatible with Node.js v18+.
  • Automated prebuilt Docker images via GitHub Actions.
  • /server was fully refactored/modernized (async/await) and now compiles with TypeScript.
  • Switch to node:18 for the final image.
  • /client can still be considered very legacy Angular code.

2022:

This service was mostly on life-support, most of its code and dependencies can be considered deprecated. The current docker image wrapping [email protected] runs rootless and is hopefully enough to keep the bandits out. API attack surface should be minimal anyways.

2014:

This service was originally a prototype I've created to get familiar with Angular and Express. All magic by generator-angular-fullstack. See my note here.

Idea originally by Clemens Lang who created an awesome bash script to download Google fonts in all formats.

License

(c) Mario Ranftl MIT License

Google Fonts Open Source Font Attribution

GitHub Issues· 0 开放

在 GitHub 查看全部

暂无开放 Issues,或尚未同步最近议题。

核心特点

  • •google-webfonts-helper
  • •Current Sponsors
  • •Give it a try: https://gwfh.mranftl.com
  • •Running gwfh on your own server
  • •Development
  • •Quickstart
  • •Production build
  • •JSON API
  • •GET /api/fonts
  • •[GET /api/fonts/[id]?subsets=latin,latin-ext](#get-apifontsidsubsetslatinlatin-ext)

> 标签

TypeScript

暂无评论,来聊聊你的看法吧

> 工具信息

发布日期2026年8月1日
最后更新2026年9月17日
分类编程语言
定价开源

> 相关工具

T
TypeScript
JavaScript 的超集,为前端与全栈提供静态类型
P
Python
通用编程语言,广泛用于 Web、数据与 AI
G
Go
Google 推出的简洁高效系统语言