Web Designers
Most fonts you receive from clients or purchase from foundries come as desktop TTF or OTF files (50-200 KB per weight). These work in design software but aren't optimized for web delivery. Converting to WOFF2 typically cuts file sizes by 60-70% with no visual quality loss; subsetting can push reductions past 90%.
Typical File Size Comparison
Original TTF
150 KB
Desktop format
WOFF2 Converted
52 KB
65% smaller
WOFF2 + Subset
14 KB
91% smaller
Format Choice in 2026
Use WOFF2 as your only format. With 97%+ browser support, the legacy WOFF fallback is no longer necessary for most projects. Skip TTF/EOT/SVG entirely unless you're explicitly supporting IE11 or very old Safari.
Web Designer Workflow
1. Verify licensing
Desktop licenses don't cover web embedding. Most commercial fonts require a separate web license tied to pageviews or domains. See our guide to commercial vs personal licenses.
2. Convert to WOFF2
Use our TTF to WOFF2 or OTF to WOFF2 converter. Conversion preserves kerning, ligatures, and OpenType features.
3. Subset to your character set
Most projects only need Latin Basic (A-Z, a-z, 0-9, punctuation), typically a 70-80% reduction. Use font subsetter or set unicode-range in CSS for automatic per-page subsetting.
4. Generate @font-face CSS
Use CSS @font-face generator with font-display: swap to prevent invisible text during loading.
5. Preload critical fonts
Add <link rel="preload" as="font" type="font/woff2" crossorigin> in document head for above-the-fold fonts. Direct LCP improvement.
@font-face {
font-family: 'Brand Font';
src: url('/fonts/brand-font.woff2') format('woff2');
font-weight: 400;
font-style: normal;
font-display: swap;
unicode-range: U+0000-00FF, U+0131, U+0152-0153;
}Common Mistakes
Loading too many weights
Each font file adds bytes. A family with 6 weights costs 300-600 KB. Limit to 2-3 essential weights.
Ignoring fallback fonts
Specify system fallbacks that closely match your custom font to minimize layout shift.
Forgetting CORS headers
CDN-served fonts need correct CORS headers or fail silently.
App Developers
Apps embed fonts directly into the binary, so file size matters and licensing differs from web work. iOS prefers TTF or OTF (system-supported); Android uses TTF; React Native and Flutter both work with TTF for cross-platform projects. The practical question is usually whether to use system fonts (free, zero size impact, render consistently) or custom fonts (brand identity at the cost of bundle size).
Format by Platform
| Platform | Recommended Format | Bundling Method |
|---|---|---|
| iOS (Swift / Objective-C) | TTF or OTF | Add to bundle, register in Info.plist (UIAppFonts) |
| Android | TTF | res/font/ directory, reference in XML or Compose |
| React Native | TTF | react-native.config.js + react-native link or manual |
| Flutter | TTF | Add to pubspec.yaml fonts section, reference in TextStyle |
| Desktop (Electron) | TTF / OTF / WOFF2 | Bundled like web fonts via @font-face |
Reduce Bundle Size
Subset aggressively. For English-only apps, Latin-only subsets reduce font size 70-90%. Remove unused weights, most apps only need Regular, Medium, and Bold. Variable fonts can replace 6-12 static weights with one file. Avoid bundling complete font families "just in case."
App Store License Reality
App embedding often requires a separate "app license" or "mobile license." Web font licenses typically don't cover app distribution. Most major foundries sell app licenses separately and may charge per app, per platform, or by install count. Open-source fonts (OFL, Apache 2.0) explicitly allow app embedding, see our open source font licenses guide. For proprietary fonts, get explicit written confirmation of app rights before shipping.
Apple's App Store review occasionally rejects apps with improperly licensed fonts. Document your licenses, store proof of purchase, and be prepared to provide it during review. Same applies to Google Play, though enforcement is rarer.
Game Developers
Game engines treat fonts differently from apps or websites. Unity uses TTF directly through TextMesh Pro, Unreal Engine generates UFonts from TTF/OTF sources, and Godot uses TTF/OTF with its own runtime rasterizer. Most modern engines convert source TTFs to SDF (Signed Distance Field) atlases at build time for crisp scaling at any UI size.
Why SDF Fonts Matter
SDF (Signed Distance Field) fonts encode the distance from each pixel to the nearest glyph edge, allowing the GPU to render crisp text at any scale without quality loss. For games where text resizes with UI scaling or camera distance, SDF eliminates the blurry-when-zoomed problem of standard bitmap rendering. Trade-off: SDF atlases are larger than regular textures and require shader support.
Unity (TextMesh Pro)
- • Import TTF, generate SDF atlas
- • Configure glyph table (ASCII / Custom)
- • Use FontAsset in TMP_Text components
- • Fallback list for missing glyphs / CJK
Unreal Engine
- • Import TTF as Font asset
- • Composite font with multiple subfonts
- • Slate UI uses fonts via FSlateFontInfo
- • Supports OpenType features and ligatures
Multilingual Games
Localizing into Japanese, Korean, Chinese, or Arabic explodes glyph counts. Strategies: language-specific font packages loaded on demand, fallback chains for missing glyphs, and Noto fonts (Google's "no-tofu" project) for comprehensive Unicode coverage. Avoid shipping the full CJK glyph set in your base download, gate it behind a localization package.
Game Licensing
Games require embedding licenses that allow distribution within the executable. Free fonts (OFL, Apache 2.0) usually allow this; commercial fonts often have per-title or per-seat licensing. For console releases, foundries sometimes charge platform-specific fees. Always verify game embedding rights before shipping. When localizing, check whether you can legally extend the font to add missing glyphs, see font modification rights.
Ebook Publishers
Ebook embedding is a distinct license category. Desktop, web, and app licenses typically don't cover ebook distribution. When purchasing fonts for ebook use, look specifically for "ebook," "digital publishing," or "document distribution" licenses. Open-source fonts are safe; restrictive commercial fonts often explicitly prohibit ebook embedding because of redistribution concerns.
Format by Platform
| Format | Font Support | Notes |
|---|---|---|
| EPUB 3 | OTF, TTF (embedded in package) | Industry standard; broad reader support |
| Kindle (KFX/AZW3) | Custom fonts supported (KFX) | Older MOBI has limited font support |
| PDF (fixed-layout) | Embedded subset (any format) | Best fidelity for design-heavy books |
| iBooks (Apple Books) | EPUB 3 + custom fonts | Same workflow as standard EPUB |
Subsetting for Manuscripts
A novel typically needs only Latin Basic plus a handful of special characters: smart quotes (' ' " "), em dash, en dash (–), ellipsis (…), and any accented characters used in proper names. Run your manuscript through a subsetter to extract the exact character set, then build a custom subset. CJK ebooks need careful planning, full CJK fonts run 5-20 MB and balloon ebook size.
For design-critical books (cookbooks, art books, academic texts with diagrams) embedding is essential to preserve design intent. For straight novels, consider that many readers override fonts anyway via reader-side preferences, embedded fonts may be ignored. Test on actual devices: rendering varies between Kindle, Apple Books, Kobo, and standalone EPUB readers.
WordPress Users
WordPress site owners face a recurring choice: load fonts via Google Fonts CDN (default in most themes) or self-host. Since the 2022 German GDPR ruling on Google Fonts CDN usage, self-hosting has become the recommended approach for both performance and EU compliance. See our Google Fonts licensing guide for the full GDPR context.
Adding Custom Fonts (Classic Themes)
- Convert your fonts to WOFF2 (use our TTF to WOFF2 tool)
- Upload to your child theme's
/fontsfolder via SFTP or File Manager - Add @font-face declarations to
style.cssor Customizer → Additional CSS - Reference the font in your theme's typography settings or with custom CSS
Block Themes (theme.json)
Modern WordPress block themes (6.0+) define fonts in theme.json under settings.typography.fontFamilies. Add font files to assets/fonts/, register them with fontFaceentries, and they appear in the block editor's typography options automatically. WordPress 6.5+ ships with a Font Library that handles installation through the admin UI without code.
Plugin Recommendations
OMGF (Optimize My Google Fonts)
Automatically downloads Google Fonts and serves them locally. Eliminates GDPR exposure and improves load time. Good if your theme can't easily switch to self-hosting manually.
Custom Fonts (built into many themes)
Most premium themes (Astra, GeneratePress, Kadence) include a custom fonts uploader. Upload WOFF2 files through theme settings without touching code.
For performance: combine self-hosted fonts with caching plugins (WP Rocket, W3 Total Cache), preload critical fonts in your <head>, and use font-display: swap. CDN delivery via Cloudflare or BunnyCDN is the final optimization for global sites.
Shopify Stores
Shopify's default font library covers basic needs but limits brand identity options. Self-hosting custom fonts on Shopify is straightforward: upload through Settings → Files, get the CDN URL, and add @font-face declarations in your theme. Shopify's built-in CDN actually outperforms third-party Google Fonts links for most stores because fonts load from the same origin as the rest of your site.
Adding Custom Fonts
- Convert fonts to WOFF2 (single format is fine for Shopify's modern browser support)
- Upload to Settings → Files; copy each WOFF2 URL
- In theme.liquid (or a dedicated CSS file), add @font-face declarations using the Shopify CDN URLs
- Apply via theme settings or custom CSS using
font-family
{% comment %} In theme.liquid <head> {% endcomment %}
<style>
@font-face {
font-family: 'Brand Sans';
src: url('{{ "brand-sans.woff2" | asset_url }}') format('woff2');
font-weight: 400;
font-display: swap;
}
</style>Performance & Conversion
E-commerce LCP and FID directly affect conversion rates. Each 100ms of additional font load time correlates with measurable conversion drop. Tactics that compound: WOFF2 only, 2-3 font families maximum, preload the body font, swap font-display so text appears instantly, and use variable fonts where available to replace multiple weight files with one.
Commercial Licensing
Stores using commercial fonts need a web license that explicitly covers e-commerce. Some commercial licenses prohibit revenue-generating sites at lower tiers, requiring an upgrade. Check pageview caps, high-traffic Shopify stores often outgrow base tier licenses without noticing. See our embedding restrictions guide for the typical pageview tier structure.
Email Designers
Email is the most font-restrictive medium in modern design. Custom web fonts work in roughly 30% of email opens, primarily Apple Mail, iOS Mail, and Outlook for Mac. Gmail, Outlook for Windows, Yahoo Mail, and most other web-based clients ignore them entirely. Design with fallbacks first; treat custom fonts as progressive enhancement.
Email Client Support Matrix
| Client | Web Fonts | Notes |
|---|---|---|
| Apple Mail (macOS / iOS) | ✅ Yes | @font-face and Google Fonts both work |
| Outlook for Mac | ✅ Yes | Full support, unlike Outlook for Windows |
| Gmail (web / mobile) | ❌ No | Strips @font-face; uses Roboto/Arial fallback |
| Outlook for Windows | ❌ No | Word rendering engine; Calibri/Arial only |
| Yahoo Mail | ❌ No | No web font support |
| Outlook.com / Hotmail | ❌ No | Same engine as Outlook for Windows |
Fallback Stack Strategy
Build a fallback chain that visually approximates your custom font in each tier. For a modern sans-serif: font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif; , custom font for clients that support it, system UI fonts (modern, well-rendered) for everyone else. Avoid Times New Roman fallbacks unless you specifically want a serif look.
Test font rendering with Litmus or Email on Acid before sending campaigns. Pay particular attention to line-height differences, custom and fallback fonts often have different metrics, causing layout shifts between email previews and actual delivery. Don't rely on custom fonts for critical information (CTA copy, pricing, dates).
Print Designers
Print workflows live in OTF and TTF. WOFF2 is irrelevant, design software (InDesign, Illustrator, QuarkXPress) doesn't recognize web font formats. OTF is preferred over TTF for advanced typographic features: ligatures, swashes, small caps, old-style figures, and alternate stylistic sets are typically only available in OpenType CFF fonts (.otf), not TrueType.
Pre-Press Workflow
- Verify the font supports embedding, check the
fsTypebits via our license checker. "Print and preview" or "Editable" permits PDF embedding; "Restricted" means you may need foundry permission. - Convert at the source if needed, if you have WOFF/WOFF2 from a web project but need print-ready files, get the original TTF/OTF from the foundry. Web licenses typically don't cover print, so you may need a separate desktop license.
- Embed all fonts in the PDF, InDesign and Acrobat handle this automatically with default settings, but verify with
File → Properties → Fontsshowing "Embedded" or "Embedded Subset" for every font. - Outline if necessary, for fonts that prohibit embedding or for absolute compatibility with the print shop's workflow, convert text to outlines. This eliminates font dependencies entirely. Outline only the final version, outlined text is no longer editable.
Print License Reality
Web font licenses typically don't include print rights. Converting a web-only license font for print is a license violation. When clients want their web brand font in print materials, they often need to purchase a desktop license separately. Pass licensing requirements to clients before they deliver source files for print campaigns. See client font licensing for the agency-side handoff workflow.
Sharing Files with Printers
Two safe options: package the project (InDesign "Package for Print" or Illustrator "Package") which collects fonts into a deliverable folder, only legal if your license permits passing fonts to a printer; or send a print-ready PDF with all fonts embedded as subsets. The PDF route is cleaner because the embedded subsets are typically license-compliant under most foundry EULAs.
Logo Designers
Logos use fonts during design but should never depend on fonts for delivery. Final logos are vectors. Convert all text to outlines before delivering to clients, this eliminates font dependencies entirely, prevents accidental rendering errors when clients open files on systems without the original font, and avoids the licensing question of whether you can pass the font itself to the client.
Format During Design
Use OTF or TTF source fonts in Illustrator, Affinity Designer, or Glyphs. OTF is preferred for full OpenType feature access, alternate glyphs, ligatures, contextual alternates, swashes, all useful when fine-tuning a logotype. Keep editable working files (.ai or .afdesign) with live text on a hidden layer for future revisions.
Final Delivery Format
| Format | Use Case | Outline Required? |
|---|---|---|
| SVG | Web, modern apps, scalable graphics | Yes, convert all text to paths |
| Print, brand guidelines, generic delivery | Yes, outline before saving | |
| AI / EPS | Design agencies, future editing | Outline final version; keep editable copy |
| PNG (high-res) | Quick web/social use, fallbacks | N/A, rasterized output |
| ICO | Favicons, Windows app icons | N/A, generated from PNG |
Logo Licensing
Free fonts may restrict commercial logo use. Always verify the license includes "logo use" or "commercial use" rights. OFL fonts generally allow logo use without additional fees. Some commercial fonts charge separate logo licenses, especially for large-brand applications. When in doubt, contact the foundry, most respond within 24-48 hours with explicit written confirmation.
Never deliver font files alongside a logo unless the license explicitly permits it , passing commercial font files to a client who lacks their own license is unauthorized redistribution. After outlining, the logo no longer needs the font. If the client wants additional brand applications using the same typeface, they purchase their own desktop license. See our font modification rights guide for the full picture on what counts as acceptable modification.
Video Editors
Video editing software (Premiere Pro, Final Cut Pro, DaVinci Resolve) reads fonts the same way as design apps: through your operating system's font installation. Install TTF or OTF source fonts via Font Book (macOS) or Settings → Fonts (Windows). Motion graphics applications (After Effects, Motion) inherit the same system fonts.
Broadcast & Streaming Licenses
Why Video Needs Different Licenses
Standard desktop licenses cover the editor's creation work but often exclude broadcast, streaming, and theatrical distribution. Foundries sell "broadcast," "TV," or "film" licenses for these contexts, applies to YouTube monetized content, TV, streaming services (Netflix, Disney+, etc.), commercial advertising, and theatrical releases. Pricing typically scales with audience size or license territory. Personal videos and unmonetized content usually fall under the desktop license.
Handling Missing Fonts
When opening a project that references a font you don't have, the editor substitutes a fallback (usually Arial or Helvetica). Three solutions:
- Install the original font, get it from the project owner's license, or purchase your own. Note: just having access to a font file isn't the same as having a license to use it.
- Use font management software, Suitcase Fusion, FontExplorer X, or RightFont let you activate fonts per-project, avoiding clutter in your system font list.
- Replace with available alternatives, substitute with a similar font you have rights to. Document the change so the project owner knows.
Best Fonts for Video
Sans-serif typefaces are most readable on video, Helvetica, Inter, Roboto, and Source Sans all hold up well at typical viewing distances and codec compression levels. Avoid thin and hairline weights for titles and lower-thirds: video codecs (especially H.264 at typical bitrates) can lose thin strokes during compression, causing visible shimmer or breakup. For subtitles, use medium weights with subtle outlines or shadows for legibility against variable backgrounds.
Sharing Projects
When collaborating, document fonts used (name, weight, foundry, license) but don't transfer font files unless your license explicitly allows it. Each collaborator typically needs their own license. For long-term projects with many editors, consider standardizing on system fonts or open-source fonts (Roboto, Inter, Open Sans) that everyone can install freely. See client font licensing for the file-handoff rules that apply to agency video work.
Why Your Use Case Matters
Different Format Requirements
Web browsers prefer WOFF2, game engines often need TTF for SDF generation, print workflows require OTF, and email is locked to system fonts. Knowing your target platform determines the right output format and the conversions you actually need.
Optimization Strategies
A web designer subsets aggressively for performance; an ebook publisher needs the full character set including smart quotes and dashes. App developers minimize bundle size; game developers care about glyph atlas dimensions. Same fonts, different priorities.
Licensing Considerations
Desktop, web, app, ebook, broadcast, each is a separate license. Using a font for the wrong context is copyright infringement, even if you legally own a license for a different use. Knowing your use case is the first step to verifying your license actually covers it.
Tools for Every Use Case
TTF to WOFF2 Converter
Convert desktop fonts to optimized WOFF2 for web, WordPress, and Shopify projects.
OTF to WOFF2 Converter
Convert OpenType source fonts to web-ready WOFF2 with all OpenType features intact.
Font Subsetter
Reduce file size 70-90% by keeping only the characters your project needs.
CSS @font-face Generator
Generate optimized @font-face CSS with font-display and unicode-range automatically.
Font License Checker
Inspect embedded license metadata and embedding permissions before deployment.
Webfont Generator
Produce WOFF2, WOFF, and CSS in a single workflow ready to deploy.
Ready to Convert Your Fonts?
Free, unlimited conversions across 8 formats. CSS generation, subsetting, and multi-format export, all included. No signup, no premium tier.
Start Converting Now