Framer Page Speed: How to Score 90+ on Core Web Vitals

August 5, 2026 | 9 min read


Framer Page Speed: How to Score 90+ on Core Web Vitals

Framer page speed is one of the first things we check when a new template lands in our marketplace. A beautiful site that loads in four seconds might as well not exist; visitors leave before the hero finishes rendering. The good news: Framer's hosted infrastructure is already tuned for performance, so most speed problems come from how a site is built, not the platform.


We sell Framer templates, so we see the same performance mistakes repeat across submissions. Oversized images, unoptimized fonts, and heavy third-party scripts are the usual suspects. This guide walks through how to fix them, what Core Web Vitals measure, and the specific steps we take to get our templates to score 90 or above on PageSpeed Insights.


If you're evaluating Framer for SEO more broadly, our Framer SEO checklist covers indexing, meta tags, and structured data. This post is about speed specifically.

How does Framer handle page speed out of the box?

Framer handles more than you might expect. Every Framer site runs on a global CDN, gets automatic image optimization, and serves files over HTTP/2 by default. The platform also code-splits JavaScript and preloads critical assets, which means the baseline is already better than a typical self-hosted WordPress install.


That baseline gets you to a passing grade on mobile if your design is restrained. Where teams run into trouble is adding layers on top of that foundation: five megabyte hero images, four different font families, animation libraries pulled in from external sources, and tracking scripts that fire before the first paint. The platform doesn't slow your site down; the content you load into it does.


Understanding this matters because it shifts where you spend your optimization time. You don't need to configure caching rules or minify code. You need to audit what you're asking Framer to serve.

What is LCP and how do you improve it on Framer?

Largest Contentful Paint, or LCP, measures how long it takes for the largest visible element on your page to render. On most Framer sites, that's the hero image. Google wants LCP under 2.5 seconds; on a fast connection with a clean build, we've seen Framer pages hit under 1.5 seconds.


The fastest way to improve LCP is to reduce the weight of that largest element. For images, that means uploading files under 200KB whenever possible, using WebP format, and letting Framer's automatic compression do its job rather than overriding it with a massive PNG. If your hero is a video, consider whether a compressed background image with a subtle overlay delivers the same impact at a fraction of the load time.


Another common LCP killer is custom code that blocks rendering. Embedding a large calculator widget, a live chat script, or a heavy map directly in the hero can push LCP past four seconds. Move those below the fold, or load them lazily after the initial paint. Framer's built-in components are optimized; third-party embeds usually aren't.

What causes CLS and how do you prevent layout shifts on Framer?

Cumulative Layout Shift, or CLS, happens when elements on your page move around after they first appear. It's the score that frustrates users most because it causes real mistakes: clicking the wrong button, losing your place while reading, or accidentally submitting a form early.


On Framer, CLS usually comes from images without defined dimensions, late-loading fonts that cause text to reflow, or animations that push content downward as they expand. The fix is straightforward: always set explicit width and height on images, even responsive ones. Framer's image component handles this if you use it correctly, but manually placed background images or custom HTML embeds can break the layout if dimensions aren't reserved.


Font swaps are another CLS source. If you load a custom font and the browser renders fallback text first, the whole page can shift when the real font arrives. The fix is to either use Framer's built-in font loading, which is already optimized, or to preload only the weights you actually use. Loading three weights of a typeface is fine; loading all nine available weights for a single headline is not.

How do you optimize images for Framer page speed?

Images are the single biggest opportunity on most Framer sites. We've seen hero images uploaded at 4000 pixels wide and three megabytes heavy, which is wasted data on a phone screen that's 400 pixels wide.


Our rule for templates we sell is simple: no image over 300KB, no image wider than it needs to be for its container. Framer automatically serves responsive sizes, but it can't shrink a massive source file into nothing. Start with the right dimensions. A full-width hero on a 1440px monitor doesn't need to be 3000px wide.


For photography, export as WebP at 80 to 85 percent quality. For illustrations with flat colors, PNG or SVG is usually smaller and sharper. Avoid animated GIFs entirely; a compressed video loop or a CSS animation will load faster and look smoother. Templates like Neurolinx and SoftExchange use optimized image sets specifically so buyers don't have to re-export every asset after purchase. Every template we sell ships as a Framer template with a matching Figma file.


Lazy loading is also worth mentioning. Framer handles this automatically for images below the fold, but if you're building long scroll pages with heavy galleries, check that it's working. Any image not visible on first load should not compete with the hero for bandwidth.

How do fonts and third-party scripts affect Framer performance?

Fonts and scripts are the hidden weight on Framer sites. A single typeface family with regular, medium, and bold weights is reasonable. Four different families with italics, thin, black, and variable cuts can add half a second to load time for no visible gain.


We design our templates with one or two font families maximum. Sidereal uses a single grotesque family throughout. VOWEL pairs one serif with one sans. Both stay fast because they don't ask the browser to download a font catalog. If you're choosing fonts for a Framer site, pick the minimum weights you need, preload them, and let Framer's system handle the rest.


Third-party scripts are worse than fonts because they often load additional scripts. A single analytics tag can pull in five more requests. A chat widget can add a hundred kilobytes. A/B testing tools, heatmaps, and retargeting pixels all stack up. Our advice: install only what you actively use, load non-critical scripts after the first user interaction when possible, and regularly audit what's still running. A forgotten script from six months ago might cost you a full second of load time.

A 10-step Framer page speed checklist

Here's the checklist we run before any template goes live in our marketplace. You can apply it to any Framer site you're building or reviewing.

  1. Compress every image to under 300KB before uploading. Use WebP for photos, PNG or SVG for graphics.
  2. Set explicit width and height on all images to prevent layout shifts.
  3. Limit custom fonts to two families and only the weights you actively use.
  4. Preload critical fonts so text renders correctly on first paint.
  5. Move non-essential embeds below the fold. Maps, calculators, and live chat don't belong in the hero.
  6. Audit third-party scripts. Remove anything you aren't actively using.
  7. Replace animated GIFs with video loops or CSS animations. They're lighter and smoother.
  8. Use Framer's built-in components instead of custom HTML embeds where possible; they're already optimized.
  9. Test on mobile first. Most Framer traffic is mobile, and mobile scores are what Google uses for ranking.
  10. Run PageSpeed Insights after every major change. Don't guess; measure.

That last point is worth repeating. Perception of speed and measured speed are different things. A site with heavy animations might feel fast because the first paint is quick, while a minimal site might feel slow because the LCP element is a massive uncompressed image. The only way to know is to test.

Do Framer templates slow down your site?

They don't have to. A well-built template is actually faster than a custom site because the optimization decisions are already made: images are compressed, fonts are limited, components are clean, and there's no leftover code from abandoned experiments.


The risk comes from bloated templates that prioritize visual fireworks over restraint. We've rejected submissions that looked impressive but scored below 50 on mobile because they included five full-screen video backgrounds, twelve font weights, and a particle animation system. That's not a template problem; that's a design philosophy problem.


Our own templates, like EVNTEDGE for events, SynthMind for AI products, and Assistify for SaaS, are built to score well out of the box. We test every one on PageSpeed Insights before listing it. If you're buying a template, ask the seller for a live demo link and run it through Google PageSpeed Insights yourself. A seller confident in their build won't hesitate to share the score.


For a deeper look at whether templates carry any SEO risk, we've covered that in are website templates bad for SEO.

Frequently asked questions

What is a good PageSpeed score for a Framer site?

Aim for 90 or above on desktop and at least 75 on mobile. Framer's infrastructure can absolutely reach those numbers with clean design choices. Below 50, and you're likely losing visitors to load time before they ever see your content.

Does Framer automatically optimize images?

Yes, Framer automatically compresses images and serves responsive sizes based on the visitor's device. But it can't overcome a source file that's massively oversized. Upload reasonably sized images and let Framer's system do the fine-tuning.

Will animations hurt my Core Web Vitals?

Not if they're implemented well. Simple CSS animations and Framer's native motion tools are lightweight. Heavy JavaScript animation libraries, autoplaying videos, and particle effects can hurt LCP and CLS. Use animation to guide attention, not to decorate every element on the page.

Framer page speed is a design decision

Speed isn't something you fix after launch with a plugin or a server upgrade. On Framer, it's a set of choices you make while designing: how large your images are, how many fonts you load, what you put above the fold, and whether every third-party tool is worth its weight in milliseconds.


We've built our template marketplace around that idea. Univo, BIFA, Juron, and every other template we sell are tested for performance because we know buyers don't want to spend their first week debugging load times. If you're building from scratch, use the checklist above. If you're starting from a template, test the demo before you buy.


For the broader picture on Framer and search performance, read is Framer good for SEO. And if you're ready to browse templates that are already fast by default, start with our full template collection.

Build faster with DiverseKit

Explore our library of premium Framer templates and UI components to launch your next project in hours, not weeks.

Get 30% Off Before This Deal Ends

Claim an exclusive 30% discount code for premium Framer templates, UI components, and all-access packages to build and launch faster.

We'll send your discount code directly to your inbox.

Framer