What Are Self-Hosted Web Fonts?
Instead of loading fonts from Google Fonts or Adobe's CDN, you upload .woff2 (or .woff) files to your server and reference them with @font-face rules in your CSS.
Benefits:
- Performance control — serve from your CDN with your cache headers
- Privacy — no third-party font requests (relevant for GDPR discussions)
- Reliability — no dependency on external service uptime
But self-hosting does not bypass licensing. You still need explicit web embedding rights.
Licensing Requirements
Before uploading any font file to your server, confirm your EULA allows:
| Permission | Question to ask |
|---|---|
| Web embedding | Does the license permit @font-face serving to visitors? |
| Self-hosting | Or does it require using the vendor's CDN only? (Adobe Fonts = CDN only) |
| File modification | Can you convert to WOFF2 or subset glyphs? |
| Pageview limits | Are you within traffic caps? |
| Domain scope | Does the license cover all your domains and subdomains? |
Desktop license + self-hosted upload = common violation.
Technical Setup (WOFF2)
Modern browsers expect WOFF2. A typical @font-face block:
@font-face {
font-family: "MyBrand";
src: url("/fonts/mybrand-regular.woff2") format("woff2");
font-weight: 400;
font-style: normal;
font-display: swap;
}
Best practices:
- Use
font-display: swapfor faster text rendering - Preload critical fonts:
<link rel="preload" as="font" ...> - Subset files to required character sets (when license permits)
- Set long cache headers on font assets
How FontScanner Detects Self-Hosted Fonts
During a crawl, FontScanner:
- Parses
@font-facerules in CSS - Downloads font file URLs from your domain
- Reads font metadata (name tables) when available
- Matches against known commercial font database
- Reports the exact URL and pages where each file appears
This catches fonts that never appear in visible font-family CSS on the first paint.
Common Self-Hosting Mistakes
- Copying fonts from a designer's laptop — their desktop license does not cover your server
- Downloading "free" fonts from random sites — many are pirated commercial files
- Keeping fonts after subscription ends — Adobe Fonts files must not be self-hosted
- Serving all 12 weights when you licensed 2
- Missing license file — keep EULA PDFs alongside font assets in your repo
Self-Hosted vs CDN: Compliance Comparison
| Aspect | Self-hosted | Google/Adobe CDN |
|---|---|---|
| License needed | Yes — web + self-host | Yes — terms of service |
| Adobe Fonts | ❌ Not permitted | ✅ Required method |
| Google Fonts | ✅ OFL fonts OK | ✅ Default method |
| Commercial fonts | Buy web license with self-host rights | Some vendors CDN-only |
Conclusion
Self-hosting is a technical choice, not a licensing shortcut. Verify web embedding rights, serve WOFF2 efficiently, and scan your site to ensure every file on your server is accounted for.