Features

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.

The engine

Four stages, one zip

Every extraction runs the same pipeline — from a live URL to a project you can open in your editor.

01

Framer site crawler

Confirms the URL is Framer, walks the sitemap and every internal link, and reads the fully rendered markup for each page.

02

Intelligent cleanup

Strips Framer's badge, settles animation states, and rewrites the markup into componentised JSX — or leaves the runtime intact in faithful mode.

03

Asset management

Downloads images, fonts and scripts, rewrites their paths, and localises everything so the project is fully self-contained.

04

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.

Need a hand?

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
Talk to the team
$ npm run build
✓ 14 pages · 0 blobs
 lighthouse 100/100
 ready to deploy
Why it matters

More than a download button

Ownership

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
SEO

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
Migration

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
Developer experience

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
Peace of mind

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.