Everything you need to escape the platform
From a single published URL, EjectSite crawls, cleans, deduplicates and rewrites a whole Framer site into code you can read, host and own.
One-click eject
Paste a published Framer URL and download the entire site as clean, semantic code — no plugins, no manual copy-paste.
Blazing fast
The crawler walks the sitemap, downloads assets and packages a zip in about a minute — even for multi-page sites.
Pixel-faithful
Faithful mode ships Framer's own runtime, so the design, breakpoints and animations look exactly as built.
Host anywhere
Deploy the output to Vercel, Netlify, GitHub Pages or your own server. It's a standard project — no runtime lock-in.
Clean code
No bloat. Real JSX or semantic HTML, with the shared header and footer deduped into shared/ instead of repeated.
Yours & private
The Framer badge is stripped and nothing phones home. Extractions aren't retained — the code is yours to keep.
Four stages, one zip
Every extraction runs the same pipeline — from a live URL to a project you can open in your editor.
Framer site crawler
Confirms the URL is Framer, walks the sitemap and every internal link, and reads the fully rendered markup for each page.
Intelligent cleanup
Strips Framer's badge, settles animation states, and rewrites the markup into componentised JSX — or leaves the runtime intact in faithful mode.
Asset management
Downloads images, fonts and scripts, rewrites their paths, and localises everything so the project is fully self-contained.
Production-ready output
Packages the result as vanilla HTML, React + Vite, or a Next.js 16 project — delivered as a zip you can deploy as-is.
Want it hand-finished?
Ejecting gives you a clean starting point. If you’d rather have the export polished into a production Next.js build — typed, refactored and tuned for performance — tell us about the site and we’ll scope it with you.
- Editable, typed components
- Performance-tuned output
- SEO and metadata pass
- Deploy handled for you
$ npm run build ✓ 14 pages · 0 blobs ✓ lighthouse 100/100 → ready to deploy
More than a download button
Own your source, not a subscription
Ejecting hands you real files you can read, edit and commit to your own repo. No editor account gates the code, and no watermark ships with it.
- components/
- shared/SiteHeader.jsx
- home/HeroSection.jsx
- pages/index.jsx
- next.config.mjs
Metadata and routes you control
Each page keeps its title and description, duplicate routes collapse to clean 302s, and the markup stays semantic — so crawlers and Lighthouse see a real site, not a black box.
- <title> per page
- meta description
- clean file-based routes
- duplicates → 302
A clean way off the platform
Move off Framer without rebuilding from scratch. Start from the exact site you shipped, then refactor at your own pace — one editable section at a time.
- start from your live site
- edit section by section
- no big-bang rewrite
Code a developer will actually keep
One component file per section, named from its content, with headers and footers hoisted into shared/. No HTML blobs, no dangerouslySetInnerHTML.
- one file per section
- shared/ deduped
- no dangerouslySetInnerHTML
No lock-in, nothing retained
The Framer runtime and badge come out, the output runs on any host, and your extraction isn't stored after the zip is built. What you download is entirely yours.
- badge stripped
- runs on any host
- extractions not retained
Ready to own your site?
Join the designers and developers turning published Framer sites into code they control.