Skip to content
wpgraft
WixWixAny published Wix site
ElementorElementorAtomic elements or classic widgets

How to move a page from Wix to Elementor

Move a page from Wix to Elementor as real, editable Elementor 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 Elementor’s own native elements with the styles in Elementor’s own fields. It needs no access to your Wix account, no export file and no API key. If Chrome can draw the page, wpgraft can copy it.

Wix gives you no way to export a design, so leaving it has always meant rebuilding from screenshots. wpgraft copies from the published Wix site instead, section by section, and rebuilds each one as Elementor elements. Take the design across first and keep the Wix site live until the new one is genuinely better. The two never have to be aware of each other.

Before you start

What to have ready

  • 01WordPress with Elementor active. Elementor Free is enough: wpgraft is measured on a free 4.x install with Elementor Pro never installed, and it produces the same tree as the Pro site.
  • 02The free wpgraft companion plugin, active on that site.Download the plugin
  • 03In the extension’s Copy into menu, pick the Elementor entry that matches your site: Elementor 4 (atomic) or Elementor 3 (classic).Get the extension

Which Elementor you have changes what to pick

Elementor 4: atomic elements

The new document model. wpgraft writes atomic e-* elements and puts each style on the element’s own style variant.

Elementor 3: classic widgets

The widget model most sites still run. wpgraft writes real widgets and fills their own controls.

Which one your site takes is not decided by the version number

It is decided by Elementor’s e_atomic_elements experiment, which Elementor marks hidden, so it is not in the Experiments screen and you cannot read it off a settings page. A fresh 4.0-or-later install resolves it active; a site UPGRADED to 4.x usually does not; 3.x has no such setting at all. A site with the experiment off discards every atomic element silently, which is why wpgraft treats the two as different destinations instead of letting the save find out. The plugin answers the question for you, see the FAQ below.

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: the free tier needs an account but is never billed. 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

    Install the wpgraft plugin on the Elementor site

    The plugin is the WordPress half of wpgraft: it receives the copy, shows it in a panel inside the Elementor editor, inserts it, and pulls the images into your Media Library. Download the zip from wpgraft.com/releases, then upload it in wp-admin. It is free software with no licence key and nothing to configure. Its only admin screen, Settings → wpgraft, is a status page that tells you which builder it detected. It updates itself from inside wp-admin like any other plugin: a version check against wpgraft.com that carries no token and no licence key, only your WordPress and PHP versions and your site's own address in the request's User-Agent, as the privacy policy sets out. It touches nothing on your site until you send it something.

    Download the plugin (.zip)Plugins → Add New → Upload Plugin → Activate
Phase 2 · Copy, in Wix
  1. 03

    Open the Wix page you want

    Your live domain or the *.wixsite.com address, not the Wix Editor, which draws your page inside its own frame.

    Open the published site
  2. 04

    Choose Elementor in the extension

    Click the wpgraft icon on the source tab and pick your destination under Copy into. Elementor appears twice, as Elementor 4 (atomic) and Elementor 3 (classic), because those are genuinely different formats. Pick the one your site runs; the section above says how to tell. Choose the wrong one and the copy never shows up in the editor panel, because the panel only lists what was queued for the model the site reports. 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 and is a Pro capture. 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 Elementor
  1. 06

    Open the page in Elementor

    From the page list or the admin bar. The editor opens at wp-admin/post.php?post=<id>&action=elementor. The wpgraft panel appears in the bottom-right corner of the editor as soon as it recognises the builder.

    Edit with Elementor
  2. 07

    Send the copy to the site

    The extension does not push copies at sites by itself, because that would mean any approved site could receive a capture made for another one. Click the wpgraft icon again with the editor open: it names the site and the copy and asks you to confirm, or press Send to open builder. The first time for a given site it also asks whether that site may receive copies at all; approve it once and it stays approved (you can take a site off the list later from the same popup).

    Send to open builder
  3. 08

    Insert it

    The panel lists what is waiting for this builder. Decide whether to tick Import images to Media Library. On, and the images become yours; off, and they keep pointing at the original page. Then press Insert into builder. Elementor 4 has no public client API for building an atomic subtree, so wpgraft hands the tree to the server and lets Elementor’s own Document::save() run it, with the same validation, schema registration and image sideloading a normal save gets. The editor then reloads to read the document back.

    Insert into builder
  4. 09

    It is already saved

    Nothing to press. The panel confirms the insert and reloads the editor so it reads the saved document back. Because it went through Elementor’s own save it is not in the undo history; restore a page revision if you want it gone.

Phase 4 · Edit
  1. 10

    Edit it like you built it

    This is where the product earns its keep. Click anything in the copy and Elementor’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 Elementor

Real Elementor elements

Atomic e-* elements on Elementor 4, classic widgets on Elementor 3. Selectable in the panel, editable in the panel, deletable in the panel.

Styles in Elementor’s own fields

Typography, spacing, background, border and layout are written where Elementor’s controls read them, not into a custom-CSS box the editor cannot see.

Images in your Media Library

Tick Import images to Media Library in the wpgraft panel and every image is sideloaded through WordPress and re-pointed at your own copy.

After the insert: Nothing to press. The panel confirms the insert and reloads the editor so it reads the saved document back. Because it went through Elementor’s own save it is not in the undo history; restore a page revision if you want it gone.

The source side

Copying out of Wix

Your live domain or the *.wixsite.com address, not the Wix Editor, which draws your page inside its own frame.

  • Wix renders deep wrapper nesting and positions much of a page absolutely. wpgraft flattens what it can prove is safe to flatten, verifying each removal by re-measuring the page, so the copy is far shallower than the Wix markup. But a heavily absolute-positioned Wix section is genuinely harder to rebuild as flow layout than a typical WordPress page.
  • Wix loads a lot of a page lazily. The auto-scroll pass handles it; on a long page, wait for the progress bar rather than clicking through it.
  • Wix apps, bookings, stores, members areas, are applications, not designs. Their look copies; their behaviour does not, and cannot.
  • Section by section is the better way out of Wix. A whole-page copy will carry Wix’s outer scaffolding along with your design.
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 Wix’s endpoint. Wire interactive things up with Elementor’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.
  • Raw HTML in a copy needs the unfiltered_html capability, which normally means an administrator. Without it, the parts of the copy that would output markup verbatim are removed before the insert, or, where WordPress sanitizes them on save instead, left to it, and the panel tells you how many. Everything else in the copy still lands. Insert as an administrator if you want all of it.
  • Links that pointed at code are disabled. A javascript: link in the source page is neutralised on the way in, for every account including an administrator’s, and you are told how many. 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> is kept as the embed it is: a YouTube or Vimeo frame becomes a video element, a Google Maps frame becomes a map. 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.
  • The insert is saved, not staged, so it is not in Elementor’s undo history. Ctrl+Z will not take it back; use a revision, or delete the inserted elements.
  • If the Elementor entry you picked in the extension does not match what your site can store, the copy will not appear in the panel at all. The panel only lists copies queued for the document model the site reports.
  • The page template is switched to Elementor Canvas, but only when the page had no template of its own (Default template). A captured page carries its own header, nav and footer; rendered through the theme’s default template it would be wrapped in a second set and squeezed to the theme’s content width. If you have already chosen a template for that page, wpgraft leaves it alone, and you can change it back at any time in the page’s own settings.
  • The copy is appended to whatever the document already holds; Elementor never replaces the page. Insert a whole-page copy into a page that already has content and you get both, one after the other.
  • Wix apps, meaning store, bookings, members and forms, are applications, not designs. Their appearance copies; their function has to be rebuilt with WordPress plugins.
Questions

Wix to Elementor: FAQ

Can I move my whole Wix site to WordPress with this?

You can move the design, page by page and section by section, and that is usually the slow part of leaving Wix. What does not move is anything that is a Wix application rather than a Wix design: store checkout, bookings, member logins and forms all have to be rebuilt with your destination’s own tools.

Do I need Elementor Pro?

No. wpgraft is tested against a WordPress install running Elementor Free with Elementor Pro never installed, and it produces the same element tree and the same native-field coverage as the Pro site. Nothing in the copy path asks about your Elementor licence.

How do I tell whether my site is Elementor 3 or Elementor 4?

Install the wpgraft plugin and open Settings → wpgraft. The "Detected builder" row names the exact entry to pick in the extension, Elementor 4 (atomic) or Elementor 3 (classic), because the plugin asks Elementor the same question the paste will ask. Do not go looking in Elementor → Settings → Features: the setting that decides this (e_atomic_elements) is marked hidden by Elementor and does not appear there. The version number does not answer it either; an install upgraded to 4.x usually still stores the classic model.

Does moving from Wix to Elementor change anything on the Wix side?

No. Nothing is exported, moved or deleted. wpgraft reads the rendered Wix page the same way any browser does and writes a new copy into Elementor. Your Wix 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 Elementor copy still need Wix installed?

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

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

Editable. Click anything in it and Elementor’s own settings panel opens with real values in it. That is the whole product, and it is measured on every release: an inserted copy has to be selectable through Elementor’s own API and the editor has to reopen cleanly on the saved page, or the build does not ship.

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 per-breakpoint values are written into Elementor’s own responsive controls. 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?

The free tier is three copies in total, usable on any destination, at full fidelity, with nothing watermarked or downgraded, within seven days of signing up. Whole-page copies are a Pro capture; sections and elements are not. Pro removes the copy limit and opens up whole-page captures.

Do I need the wpgraft plugin on the Elementor site?

Yes. It is the WordPress half of wpgraft, and it is free software with no licence key, no counter and no upgrade nag in it. It receives the copy, shows it in a panel inside the Elementor editor and imports the images. It does nothing on its own until you send it something.

Is copying a page from Wix 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.

Three copies free, every destination unlocked, full fidelity. Point at one Wix section, put it in Elementor, then judge the result before you decide anything.