The badge nobody asked for
You spent two weeks designing your portfolio. The layout is tight, the typography is dialed in, the scroll animations land perfectly. You share the link with a potential client. And there it is, floating in the bottom-left corner: a small black rectangle that says "Made in Framer."
Framer places this badge on every free and Starter-tier site. It cannot be removed through the editor or hidden with custom CSS (they re-inject it). If you are a freelancer, startup, or agency, it broadcasts "free tool" to every visitor.
100% not interested in any website building tool that de facto owns my or my customers site and requires rent to keep the site up.
The badge is a symptom of a larger reality: on Framer, you do not own your site. You rent it.
The official way to remove the badge
Framer's solution: pay more. The Mini plan ($10/month) removes the badge. Pro ($20/month) adds custom domain and more features. But stop paying and the badge returns. You are renting badge removal, not buying it.
| Method | Cost | Permanent? |
|---|---|---|
| Framer Mini plan | $10/mo ($120/yr) | No — badge returns if you downgrade |
| Framer Pro plan | $20/mo ($240/yr) | No — badge returns if you cancel |
| CSS hack (custom code) | Free | No — Framer can re-inject it |
| Export + self-host | $10.99 one-time | Yes — you own the code |
This lack of export has kept us from using Framer in our company. Unfortunately, it's just not possible to get another locked in vendor approved.
The permanent fix: export and self-host
Framer Export mirrors your entire site via HTTP -- every page, image, JS bundle, and font -- rewrites CDN URLs to local paths, and packages everything as a ZIP. The exported site preserves React, Framer Motion animations, hover effects, and scroll triggers. Everything works identically.
Framer Export automatically removes the badge during export. It strips the #__framer-badge-container element, blocks analytics beacons to events.framer.com, and cleans out the editor bar script. What you get is your design, your content, and nothing else.
How badge removal works under the hood. Framer injects the badge via a script that creates a fixed-position container after React hydration. During export, Framer Export injects a small cleanup script that removes this container and intercepts any fetch requests to Framer's analytics endpoints. The badge never renders. The analytics never fire. Your exported site is clean.
Step-by-step: remove the badge in under 5 minutes
Export your site
Go to Framer Export and paste your published Framer URL. The tool discovers all your pages, downloads every asset, rewrites all URLs to local paths, and generates a ZIP file. Most sites export in under 60 seconds. The badge, analytics scripts, and editor chrome are all stripped automatically.
Preview before you deploy
Framer Export shows you a live preview of the exported site right in the browser. Toggle between desktop, tablet, and mobile views. Click through every page. Verify your animations, hover effects, and interactive components all work. Nothing leaves your control until you are satisfied.
Download the ZIP
Pay $10.99 (one-time, per URL) and download your site as a clean ZIP. Inside you will find HTML files for every page, a /js folder with your React bundles, /images and /fonts folders with all your assets, and a manifest.json documenting the export.
Deploy to free hosting
Drag the folder into Vercel, Netlify, or GitHub Pages. All three offer free hosting for static sites. Your site is live in under two minutes. Point your custom domain to the new host by updating your DNS records. Zero downtime if you set it up before switching.
Cancel your Framer plan
Your site now runs independently. No Framer subscription required. No badge. No analytics phoning home. No risk of your site disappearing if you forget to renew. You own the code. You can modify it with tools like Cursor or Claude, add new features, optimize performance, or just let it run as-is.
Exactly what gets removed (and what stays)
Removed during export:
- The
#__framer-badge-containerelement and its injection script - Analytics beacons to
events.framer.com(blocked via fetch interception) - The editor bar bootstrap script (only used in Framer's editor)
- The
<link rel="canonical">pointing to Framer's domain - The
<meta name="framer-search-index">tag
Preserved during export:
- React and Framer Motion runtime (full hydration, all animations work)
- Every hover effect, scroll reveal, appear animation, and page transition
- Interactive components: accordions, carousels, tabs, menus, dropdowns
- All CSS variant classes (
.framer-v-*class swaps for interactions) - All images, fonts, and media files (downloaded locally)
- Third-party scripts (Google Tag Manager, Crisp, etc.) loaded from their original CDNs
- Open Graph tags, JSON-LD structured data, and all SEO metadata
Beyond the badge: why self-hosting wins
You stop paying rent
Framer's Mini plan costs $120/year. Pro costs $240/year. Self-hosting on Vercel or Netlify costs $0/year. Over three years, that is $360-$720 saved.
You gain full performance control
Framer injects its own runtime JavaScript on every page. On a self-hosted export, you control every byte -- lazy-load images, defer scripts, strip unused CSS. Core Web Vitals improve measurably.
You eliminate platform risk
If Framer raises prices, changes features, or shuts down, your self-hosted site keeps running. No dependency, no API call, no license check.
You can modify anything
Add a contact form, integrate a real CMS, build authentication -- once you own the code, these are features to build, not limitations to work around. AI tools like Cursor and Claude make this accessible to non-developers.
Remove the badge. Own your site.
Export your Framer site to clean code for $10.99. Self-host for free. No badge, no rent, no lock-in.
Export Your Framer SiteFrequently Asked Questions
There are two ways. The official method is upgrading to Framer's Mini plan ($10/month) or higher, which removes the badge from your hosted site. The alternative is exporting your entire site to code using a tool like Framer Export ($10.99 one-time), then self-hosting it. The export process automatically strips the badge, and since you own the code, it never comes back.
No, not reliably on Framer-hosted sites. Framer injects the badge via a script that runs after page load. Even if you hide it with custom CSS, Framer can detect the override and re-inject it, or change the element's class names in a future update. The only permanent solutions are paying for a plan that removes it or exporting your site to code you control.
Yes. Framer Export removes the badge container, the Framer analytics scripts, and the editor bar bootstrap code during the export process. The exported site contains only your design, your content, and the React/Framer Motion runtime that powers your animations. No Framer branding remains.
Yes. The export preserves the full React and Framer Motion runtime, so every hover effect, scroll animation, page transition, and interactive component works identically. The badge removal is surgical: it only targets the branding overlay, not the code that powers your site's functionality.
Yes. You designed the site. The exported code is the rendered output of your design decisions. Removing a platform's branding from your own website is standard practice. Framer's terms require the badge on sites hosted on their infrastructure under free/lower plans. Once you self-host, their hosting terms no longer apply to your deployment.