Skip to content

$99 lifetime on AppSumo · Limited time

Get deal
wpgraft
FramerFramerAny published Framer site
InstaticInstaticSelf-hosted CMS, filled through its own Import HTML

How to move a page from Framer to Instatic

Move a page from Framer to Instatic as real, editable Instatic elements, not a screenshot. What comes across, and what does not.

wpgraft reads the page as your browser rendered it, every element and the computed styles on each one, at every breakpoint you ask for, and rebuilds it as Instatic’s own native elements with the styles in Instatic’s own fields. It needs no access to your Framer account, no export file and no API key. If Chrome can draw the page, wpgraft can copy it.

Framer does not let you take your design out, and that is not an oversight. A hosted platform’s layout is its own format and stays that way. So this is not an export. You open the published page, point at the part you want, and it is rebuilt in Instatic from what was on screen. Your Framer site keeps running the whole time, which means you can move one section at a time and switch over when the new one is genuinely better.

Before you start

What to have ready

  • 01An Instatic site you host, and an account on it that can open the Site editor.
  • 02No plugin. Instatic is not WordPress, and nothing is installed on it: the copy goes in through Instatic’s own Import HTML.
  • 03In the extension’s Copy into menu, pick Instatic, listed under Other builders.Get the extension
Phase 1 · Set up
  1. 01

    Install the wpgraft extension in Chrome

    wpgraft is a Chrome extension. Get it from wpgraft.com/releases. Install it, click the icon, sign in. Copying needs an account with a paid plan, which you can choose from wpgraft.com/#pricing. On your very first copy it asks you to confirm you have the right to reuse what you are copying, once, and does not ask again.

    Get the Chrome extensionwpgraft.com/releases → Get the Extension
  2. 02

    No plugin: Instatic needs nothing installed

    Instatic is a self-hosted CMS, not WordPress, so there is no wpgraft plugin in this story and nothing to install on your Instatic server. The extension works with the Site editor directly, through Instatic’s own Import HTML.

Phase 2 · Copy, in Framer
  1. 03

    Open the Framer page you want

    The *.framer.app or *.framer.website URL, or your own domain, not the Framer editor.

    Open the published site
  2. 04

    Choose Instatic in the extension

    Click the wpgraft icon on the source tab and pick your destination under Copy into. There is one Instatic entry, labelled Instatic. Switch Also copy tablet & phone on unless you only want the desktop layout: it is off until you turn it on, and it captures three viewports instead of one, so the copy arrives responsive.

  3. 05

    Point at what you want and copy it

    Select element starts a picker: hover to highlight, press ↑ to widen the selection to the parent and ↓ to narrow it again, click to confirm, Esc to cancel. Whole page takes the entire document in one pass. wpgraft scrolls the page for you first so lazy images and scroll-triggered effects have fired, then waits for the fonts and images to finish before it reads anything.

    click copies · ↑ widen · ↓ narrow · Esc cancels
Phase 3 · Insert, in Instatic
  1. 06

    Open the page in the Instatic Site editor

    Sign in to your Instatic admin and open the page you want the copy on in the Site editor; its address contains /admin/site. Instatic runs on your own domain, so the extension has no address to look for: it works on the editor tab you open its popup from. There is no wpgraft panel inside the editor. As with Webflow, the extension’s own popup is the insert surface.

    Open the page in the Instatic Site editor
  2. 07

    Add it in Instatic

    With the Site editor tab in front, click the wpgraft icon. In the extension popup the queued copy carries an Add in Instatic button. Pressing it puts the copy’s HTML on your clipboard first, then opens Instatic’s own Import HTML dialog with the copy already in it and presses Insert, so Instatic’s own importer builds the nodes and classes. A section goes inside the container you have selected in the editor; with none selected, and for a whole-page copy, it goes at the page root, after whatever the page already holds. If the button cannot reach the editor, the HTML is already on your clipboard: right-click a container, choose Paste HTML here…, and press Insert.

    Add in Instatic → Import HTML → Insert
  3. 08

    Check the fonts, then publish

    Published Instatic pages load fonts from your own domain only, so wpgraft installs the Google fonts the copy uses through Instatic’s own font installer during the insert. Any other typeface is listed in the popup; add it under Site → Fonts. The copy lands as a draft, so the last thing is Instatic’s own Publish.

Phase 4 · Edit
  1. 09

    Edit it like you built it

    This is where the product earns its keep. Click anything in the copy and Instatic’s own panel opens with real values in it. There is no wrapper you may not touch, no “generated, do not edit” block and no code view. Change the heading, swap the image, drag the padding.

The result

What lands in Instatic

Real Instatic nodes

Containers, text, links, images, SVG and forms, each keeping its HTML tag, built by Instatic’s own importer, the same one behind Paste HTML here…. Not an embed and not a block of raw HTML.

Classes in the Selectors panel

Styles arrive as Instatic classes you edit in the Selectors panel, with the tablet and phone values in Instatic’s own viewport contexts. The page’s body and root styles go onto one wrapper class, so a copy never restyles the rest of your site.

Fonts served from your own domain

Google fonts the copy uses are installed through Instatic’s own font installer during the insert, with the character sets the page’s text needs, because published Instatic pages load fonts from your own domain only.

After the insert: The copy lands as a draft. Look it over, then press Instatic’s own Publish when it is right. Everything the copy added sits inside one wrapper container, which is selected when the insert finishes: delete it and the copy is gone.

The source side

Copying out of Framer

The *.framer.app or *.framer.website URL, or your own domain, not the Framer editor.

  • Framer’s appear-and-scroll effects are the main thing to manage. Framer positions and animates heavily with transforms, so an element that has not been triggered yet is somewhere other than where it belongs. wpgraft scrolls the page first; let a section finish before you pick it.
  • Framer’s breakpoints are real CSS media queries once published, so turning on Also copy tablet & phone gets you the responsive design rather than three copies of the desktop one.
  • Framer components with internal state, tabs, accordions, carousels, copy in whichever state was showing.
  • Framer sites lean on variable fonts and tight typography. Font families come across by name; if the destination site does not serve that font, add it there.
Honest limits

What does not carry over

A guide that only lists what works will waste your afternoon. These are the things that surprise people, set out before you start rather than discovered afterwards.

  • What is on screen is what is copied. A closed accordion is copied closed; an inactive tab is copied inactive; a carousel is copied on whichever slide was showing. Put the page into the state you want before you pick.
  • Behaviour does not travel; appearance does. A slider arrives as its markup and its styling, not as a working slider; a form arrives as a form that has had its submit target deliberately removed, so your copy can never post to Framer’s endpoint. Wire interactive things up with Instatic’s own tools.
  • Anything driven by a query arrives as a design. A post grid copies as the posts that were on the page at that moment, not as a loop that keeps querying.
  • Links that pointed at code are disabled. A javascript: link in the source page is emptied during the capture, before anything reaches Instatic. It is the one thing wpgraft will not carry across for you.
  • Only the page in the tab is copied; never what is inside a frame. An <iframe> comes across as the frame it is, pointing at the same address. wpgraft does not descend into it, same origin or not, which is also why a builder’s own editor canvas and an AI chat’s artifact preview have to be opened on their own URL before you can copy them.
  • Images stay at their original URLs. They render in the editor and on the published page, but they are not in your Instatic media, and because Instatic keeps alt text on its media assets, the alt text does not come across. Re-upload anything you intend to keep.
  • Only Google fonts are installed for you. Any other typeface is named in the copy and listed in the popup; add it under Site → Fonts. Until you do, the next family in the font stack renders. wpgraft never ships a text face’s files.
  • Embedded frames show in the editor only. A map or any other <iframe> comes across as an element, but Instatic’s published pages block frames from other sites, so it does not appear on the live page. A YouTube embed is the exception: it becomes an Instatic video.
  • Instatic classes are site-wide. The copy’s class names are made from what they style, so they never collide with classes you already have. Insert the same copy twice and both share them, so restyling one restyles the other.
  • Add in Instatic drives Instatic’s own dialog. If a future Instatic renames it, the button falls back to the clipboard, where the HTML already is: right-click a container, choose Paste HTML here…, and press Insert.
Questions

Framer to Instatic: FAQ

Do I need a plugin or anything installed on my Instatic site?

No. There is no wpgraft plugin for Instatic and nothing to configure on your server. The extension opens Instatic’s own Import HTML dialog in the Site editor with the copy in it, and Instatic’s own importer does the building.

Add in Instatic says to open the Site editor. What is wrong?

The extension could not reach an Instatic Site editor. Instatic runs on your own domain, so the extension works on the tab you open its popup from: open the page in the Site editor, click the wpgraft icon from that tab, and press Add in Instatic again. If it still cannot insert, the HTML is already on your clipboard: right-click a container, choose Paste HTML here…, and press Insert.

Why does a font look wrong after the insert?

Published Instatic pages load fonts from your own domain only, so a font has to be installed in Instatic before it renders. wpgraft installs the Google ones through Instatic’s own font installer during the insert. A typeface that is not on Google Fonts, or one the installer turned down, is listed in the popup; add it under Site → Fonts.

Does moving from Framer to Instatic change anything on the Framer side?

No. Nothing is exported, moved or deleted. wpgraft reads the rendered Framer page the same way any browser does and writes a new copy into Instatic. Your Framer site keeps running exactly as it did, which is what lets you rebuild one section at a time and switch over when you are ready.

Will the Instatic copy still need Framer installed?

No. What lands in Instatic is Instatic’s own elements with the styles in Instatic’s own fields. There is no shortcode, no embed, no wrapper block and no stylesheet borrowed from Framer. The copy is fully yours and stands on its own.

Is the result editable, or is it a locked block?

Editable. The copy is built by Instatic’s own HTML importer, so what lands is ordinary Instatic nodes wearing ordinary Instatic classes: select anything and edit it in Instatic’s own panels. wpgraft’s Instatic test inserts a copy into a real Instatic and fails unless every inserted node is one of Instatic’s own modules and every class it wears is in Instatic’s own class registry.

Does it copy the mobile and tablet layouts too?

Yes, once you switch Also copy tablet & phone on. It is off by default, and with it off you get the desktop layout only, slightly faster. With it on, wpgraft measures the page three times: at your window’s own width, then at 768px, then at 375px. The narrow layouts arrive in Instatic’s own viewport contexts. Before the insert, wpgraft adds a context for each width it measured, so the phone styles apply at the width they were captured at instead of folding into the nearest context your site already had. One honest caveat about the measurement: the Web Store build produces the narrow viewports inside the page rather than by resizing the window. It re-evaluates every media query at the target width, pins the layout width, resolves vw units and clamps position: fixed boxes to it, and the result is measured at 100% of the property values a real 768px and 375px window produces on getbootstrap.com and on a stock WordPress theme. What it cannot do is re-run the source site’s own JavaScript for the new width, so a layout a script computes on resize is copied as the desktop script left it, and the capture says so in a warning.

What does this cost?

Every plan is paid; there is no free tier and no trial. Pro is $20 a month or $180 a year, and Lifetime is $299 once. Each one includes every destination, whole-page copies as well as sections and elements, and unlimited copies at full fidelity, with nothing watermarked or downgraded. If it does not work for what you build, ask within 7 days of the charge and 90% of the plan price comes back.

Is copying a page from Framer legal?

That depends on whose page it is and what you copy. Your own site, your own client’s site, a template you have licensed, or your own design on a platform you are leaving. None of that is in question. Somebody else’s design is a decision you are making, and wpgraft asks you to confirm you have the right to make it before your first copy. Text, images, fonts and icons all carry their own licences, and they travel with the copy.

Read more

Try a single section first.

Every destination unlocked, full fidelity, on every plan. Point at one Framer section, put it in Instatic, and judge the result inside the refund window.