Answers · fonts
How do I check font licenses before shipping a web app?
Short answer: List every font your app actually loads, find the license for each at its source, and check that the license covers how you ship it, because font licenses are split by use. A desktop license, the usual default purchase, covers installing the font and making documents and static images; MyFonts' licensing FAQ says it does not allow distributing or embedding the font. Serving the font to browsers with @font-face needs a webfont license (on MyFonts, usually annual, for a single domain, priced by monthly pageviews); bundling it inside a mobile or desktop app needs an app license; and letting users put their own text in the font, such as personalized merch or generated PDFs, needs a server license. Fonts from Adobe Fonts may only be served through Adobe's embed code, never self-hosted or bundled in an app, and stop showing if the subscription ends. Open fonts under the SIL Open Font License can be self-hosted in a commercial app; keep the license with the files, and rename a subset font that declares a Reserved Font Name.
Checklist
- Inventory what ships: search the build output for .woff2, .woff, .ttf and .otf files and the CSS for @font-face and font-family, and list fonts loaded from services (fonts.googleapis.com, use.typekit.net). Include fonts used for server-side rendering, such as PDF, invoice or social-image generators.
- Find each font's license at its source: the OFL.txt or LICENSE file in the font's package or repository, the foundry's EULA for the license you bought, or the service's terms. The font's own metadata (OpenType name IDs 13 and 14, license description and URL) often points to it but isn't proof of purchase.
- Match the license to the use: @font-face on your site needs a webfont license; fonts embedded in an iOS, Android or desktop app need an app license; users rendering their own text in the font needs a server license; a logo or static image only needs a desktop license.
- Don't put desktop-licensed font files on a web server or in a repository: under typical desktop EULAs that is distribution and embedding, which the license doesn't grant.
- Check the webfont limits: the domain or domains covered, the monthly pageview tier (on MyFonts, a site that outgrows its tier needs a higher one), and who the license owner is. An agency can't share one webfont license across clients' sites.
- Adobe Fonts: load them only with Adobe's embed code, don't self-host or upload the files to a site builder, don't bundle them in an app (Adobe notes the web fonts do work in a web view inside an app), and set up client sites on the client's own Creative Cloud subscription. Adobe sets no monthly pageview limit.
- OFL fonts: self-hosting is allowed and recommended by the OFL FAQ; keep the license with the files; plain WOFF/WOFF2 compression isn't a modification, but subsetting is, so a subset font with a Reserved Font Name needs a new name unless the author has agreed otherwise.
- Keep the paperwork with the code: license files, EULA copies, invoices naming the license owner, and the domains and pageview tier each webfont license covers.
Fonts an AI coding agent adds
- Coding agents add fonts the same way they add packages: a link to a font service, a @font-face rule, or a .woff2 file copied into the repository. Review new font files and font URLs in a diff like any new dependency.
- A font file that came from a designer's computer is the most common problem: it was likely bought on a desktop license, which does not cover serving it from your site.
- Font files have no package.json license field, so package license scanners don't see them. Check them separately before release.
Services versus self-hosting
- With a font service, the service's terms decide the use. Adobe's web font FAQ says the license requires adding fonts through the embed code it provides and that any other method of displaying the font on your website isn't allowed.
- With self-hosting, your license must cover serving the files. MyFonts' webfont licenses are for serving the webfont kit from your own site; OFL fonts may be hosted on your own server or loaded from a webfont service.
License checks (computed)
Yes means the license grants the use, on the duties listed. Duties such as source_disclosure, share_alike and network_source_offer are the ones that conflict with keeping a product closed-source.
| Use | Answer | Why |
|---|---|---|
| Self-hosting an OFL webfont on a commercial web app (OFL-1.1) | Yes | Every use you described is granted by OFL 1.1, and nothing you described is prohibited. Duties: license_notice, share_alike, reserved_font_names, font_not_sold_alone. |
| Serving a subset (modified) OFL webfont from your site (OFL-1.1) | Yes | Every use you described is granted by OFL 1.1, and nothing you described is prohibited. Duties: license_notice, share_alike, reserved_font_names, font_not_sold_alone. |
Ask Rightshold (free, no key)
Add the MCP server https://www.rightshold.com/mcp to Claude, Cursor, ChatGPT, Grok or VS Code, then ask: “Before launch: are the fonts in our web app OK to self-host commercially?”
{
"tool": "check_rights_batch",
"arguments": {
"intended_use": {
"commercial_use": true,
"deployment": true,
"redistribution": true
},
"items": [
{
"ref": "Inter (self-hosted woff2)",
"license": "OFL-1.1"
},
{
"ref": "Source Code Pro (self-hosted woff2)",
"license": "OFL-1.1"
}
]
}
}- Free. check_rights_batch checks up to 100 fonts, images and packages in one call and lists the duties for each.
- attribution_string writes the notice line for a bundled font.
- Rightshold's license profiles cover open licenses such as OFL 1.1, Apache 2.0 and Creative Commons. Commercial foundry EULAs and Adobe Fonts terms are not profiled; read those yourself.
Rightshold checks the license you name against the use you describe. It doesn't scan your build for font files or verify that you bought a license. Not legal advice.
Sources
- MyFonts FAQ: Licensing (Desktop, Webfont, App, Server)
- Adobe Fonts: Font licensing FAQs
- Adobe Fonts: Web fonts from Adobe Fonts
- SIL Open Font License 1.1
- OFL FAQ (webfonts, WOFF, subsetting)
- OpenType spec: name table (name IDs 13 and 14)
Related
- Are Google Fonts free for commercial use?
- Can I use OFL 1.1 fonts commercially?
- How to check licenses of all npm dependencies before shipping
- Can I use these fonts?
Not legal advice. Updated 2026-10-29. JSON · Markdown · All answers
Get a free API key in one call
No card and no email needed. 100 free credits; the license and policy checks stay free without a key.
curl -s -X POST https://www.rightshold.com/v1/accounts/signup -H "Content-Type: application/json" -d '{"accept_terms":true}'
export RIGHTSHOLD_API_KEY=rs_... # the api_key from the reply (shown once)
curl -s https://www.rightshold.com/v1/licenses/check -H "Authorization: Bearer $RIGHTSHOLD_API_KEY" \
-H "Content-Type: application/json" -d '{"license":"MIT","intended_use":{"commercial_use":true}}'
