Fonts are one of the quieter performance costs on a Framer site, because the cost isn't in the fonts themselves โ it's in how they're delivered. Understanding what changes when fonts are self-hosted explains a real, if modest, speed win. (FNJ's converter doesn't self-host them โ more on that at the end.)
How Framer serves fonts
A published Framer site loads its fonts from Framer's font CDN (and sometimes Google's). That means the browser has to open a connection to a separate domain, resolve its DNS, negotiate TLS, and only then start downloading the font files โ all before any text in that font can render. Each additional origin a page depends on adds this fixed round-trip cost, and fonts are render-blocking-adjacent: text using them can't paint until they arrive.
What self-hosting changes
When every font file is downloaded and served from your own domain alongside the rest of the site, that separate-origin round trip disappears. The fonts come from the same connection already open to load the page โ no extra DNS lookup, no extra TLS handshake, no dependency on a third-party CDN staying fast and available. On a site with several font weights, that's a real reduction in the critical path to first meaningful paint.
The font-display win that comes with it
Self-hosting also puts font loading behavior under your control. A site that self-hosts its fonts can force font-display: swap on every @font-face rule, which tells the browser to render text immediately in a fallback font and swap in the real one when it loads โ instead of leaving text invisible while the font downloads (the dreaded "flash of invisible text"). That's a direct Core Web Vitals and perceived-speed improvement, and it's only reliably possible once you own the font declarations.
The one tradeoff
Self-hosting fonts means the font files now live in your deployment instead of being fetched from a shared CDN, so your own bundle is slightly larger and you don't benefit from any cross-site cache a shared CDN might theoretically provide. In practice, cross-site font caching has been largely eliminated by browsers for privacy reasons anyway (caches are now partitioned per-site), so the shared-CDN advantage is mostly theoretical today โ while the extra-origin cost is real on every first visit. For most sites, self-hosting is the clear win.
What our converter does
FNJ's three outputs (HTML, Next.js and Astro) copy images into the export as WebP, but they don't self-host fonts: fonts keep loading from Framer's CDN, along with Framer's runtime. The runtime is what keeps animations and interactions exactly as authored, and it's why the Framer project should stay published. So on a converted site, the font round trip described above remains. You can check your own site's load behavior in PageSpeed Insights, or read how the rest of the optimization pass works on the Next.js export page.
Starting a new site instead? FNJ's AI website builder designs one from a description and a site you like, then gives you the code to host anywhere.