Framer to Astro: keep the design, lose the weight it ships with.
Framer is a great place to design a site and a heavy way to serve one. I rebuild yours in Astro from the Framer project itself, keep the animations worth keeping, move your CMS into Sanity, and hand you code you can finally host anywhere.
Why teams leave Framer.
Fast on your laptop, slow on their phone.
Framer serves every page as a React app. A phone has to download and run that code before the page settles, so the site that feels instant in the editor scores red on a mid-range Android.
The layer you hid on mobile still ships.
Breakpoints in Framer share one layer tree. The desktop hero you hid on phones and the phone version you hid on desktop both go down the wire to every visitor.
There is no code to take with you.
Framer has no export. The design, the CMS, and every URL live on its plan, and the plan decides your page, CMS, and bandwidth limits.
How a Framer move runs.
-
Rebuilt from the project, not a screenshot
I work inside your Framer project and take spacing, type, and colors straight from it. Desktop, tablet, and phone breakpoints become one responsive layout instead of three stacked copies.
-
Animations kept, runtime dropped
Appear effects, hover states, and scroll transforms become CSS and a few lines of script. Your headline is on screen in the first paint instead of waiting for a script to fade it in.
-
Code components carried over
Your code components are React, and Astro runs React. They come across as islands that load only on the pages that use them, and overrides get rewritten as plain scripts.
-
CMS out, slugs intact
Every Framer CMS collection moves into Sanity with its fields, images, and slugs, and the redirects in your Framer site settings move to the new host, so no URL changes under you.
What you own afterwards.
The site as code in a Git repository, a build you can host anywhere, your content in Sanity where your team edits it, the redirect map, and phone speed reports before and after. Your designer can keep Framer as a design tool. The live site just stops depending on it.
Framer to Astro, answered.
Most Framer sites take 3 to 4 weeks. They tend to have fewer templates and more animation, so the time goes into motion rather than layouts. Sites with several CMS collections and custom code components take 5 to 6.
No. Framer has no official export, and third-party tools that scrape a Framer site give you the same React runtime in a folder. A rebuild is the only way to get code that is fast on a phone and yours to change.
Yes. Appear effects, hovers, and scroll transforms come across, rebuilt in CSS and small scripts. Heavier sequences get GSAP, loaded only on the pages that use it. Motion that exists only to look busy is something I flag, not something I cut without asking.
I move every collection into Sanity, item by item, with its fields, images, and slug. A post at /blog/your-post stays at /blog/your-post.
Code components move across as React islands, so they keep working and load only where they appear. Overrides become plain scripts, which usually end up shorter than the originals.
Yes. Framer stays a great design tool. New sections get designed there and built into components in the repo, while marketing publishes content in Sanity without touching layout.
Not when the redirect map holds. Every URL keeps its path, the redirects from your Framer site settings move across, page titles and descriptions come with the content, and I watch Search Console through the first month.
Framer forms send submissions through Framer, so they stop when the site leaves. I reconnect each one to your CRM, email tool, or a form service, and test every submission before launch.
Send me your Framer URL.
I run it on a real phone and reply within a day with what the move involves and what Framer’s runtime is costing you on mobile.
Plan the move