# deframer > deframer turns a published Framer site into a Next.js project the user owns: every page, animation, image, font and CMS item. The site is converted on deframer's server; the CLI downloads the project and installs it. A preview of the landing page is free on deframer.dev; exporting the site needs Lifetime (one payment, every site). ## Export a site (for coding agents) 1. Check the login: `npx deframer@latest whoami`. If it says "Not logged in", run `npx deframer@latest login` (in the background if your tool allows it: it waits for the user). The user's browser opens; they sign in with Google. If no browser opens, give the user the printed link and code. Never ask for their password. 2. Create: `npx deframer@latest create ./site`, with a 10-minute timeout. It waits in line, builds on the server (usually 2 to 6 minutes), downloads the project into `./site` and installs packages. If it is stopped early (a time limit, or exit code 130), run the exact same command again: the build continues on the server and is picked up, not started over. 3. Run: `cd site && pnpm dev`. deframer exports sites the user owns or is allowed to move (https://deframer.dev/terms). Use the address the site is published at: `https://name.framer.website` or its custom domain. Add `--json` for the result as JSON on stdout (progress as JSON lines on stderr). ## Exit codes - 0: done. The output ends with a `next:` command. If it says `⚠ N parts need attention` (`degraded` in --json), the project still installs, builds and opens: read `DEFRAMER_REPORT.md` in the project, tell the user what was left out and what shows instead, and do not retry. deframer fixes those parts on its side; `npx deframer@latest sync` later picks the fix up. - 1: the site could not be read (not a published Framer site, or unreachable), or the download or install failed. Run the command again once at most; if it fails again, stop and show the user the message. - 3: refused before any work. Show the user the message and do not retry: they must log in, get Lifetime (the message gives the price and the link; the landing-page preview on deframer.dev is free), or update deframer. - 130: interrupted. Run the same command again. ## Change the project - Read the project's `AGENTS.md` first. - Texts: `npx deframer@latest text "" ""` in the project, then `npx deframer@latest sync`. It chooses the copy of the text the page shows and keeps the change on every sync. - Update from Framer: `npx deframer@latest sync` in the project (same timeout and re-run rule). Files the user edited are kept and listed. - Pages are in `framer/site/pages/`, images are listed in `framer/MEDIA.md`, colours in `app/theme.css`. ## Claude Code skill `npx deframer@latest skill --install` adds a deframer skill to Claude Code (`~/.claude/skills/deframer/SKILL.md`). Then "/deframer " or "turn my Framer site into code" works. ## Plans Free preview: see your landing page running as code on deframer.dev, no card. Lifetime: one payment, every page of every site as Next.js code, re-sync forever, 30-day money-back guarantee. Current price: https://deframer.dev/#plans. Manage at https://deframer.dev/account Docs: https://deframer.dev/docs/agents ## Guides - [Framer to Next.js: copy any Framer site into a real codebase](https://deframer.dev/framer-to-nextjs) - [Can you export a Framer website? Every way to get your code](https://deframer.dev/guides/export-framer-website) - [Framer to React: turn a Framer site into React code](https://deframer.dev/guides/framer-to-react) - [Self-host a Framer site on Vercel, Netlify or your own server](https://deframer.dev/guides/self-host-framer) - [Framer to HTML, or a real codebase?](https://deframer.dev/guides/framer-to-html) - [Framer React Export vs Unframer vs deframer](https://deframer.dev/guides/framer-react-export-alternatives)