Skip to content
wpgraft
DiviDiviAny Divi page, version 4 or 5
OxygenOxygenOxygen 6 or Oxygen Classic

How to move a page from Divi to Oxygen

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

wpgraft never reads Divi’s data. There is no exporter, no importer and no shortcode translator anywhere in this, by design, because those are the parts that break. wpgraft reads the page as your browser rendered it: the real elements and the real computed styles on each one, at every breakpoint you ask for. It then rebuilds that as Oxygen’s own native elements, with the styles written into Oxygen’s own fields. Nothing that arrives depends on Divi still existing.

Both ends of this move are WordPress, which makes it the easy version of the job: the source page and the Oxygen editor can be two tabs of the same site, or two different sites on two different hosts, and it makes no difference, because nothing is exported and nothing has to match. You can leave the Divi page exactly where it is while you rebuild it, and compare the two side by side until you are happy.

Before you start

What to have ready

Which Oxygen you have changes what to pick

Oxygen 6

The rebuilt Oxygen, which runs the Breakdance engine underneath. wpgraft writes its native elements and places each style on the path Oxygen’s element design panel actually reads.

Oxygen Classic (3.x)

The original Oxygen. wpgraft writes ct_builder_shortcodes, the format Oxygen Classic stores, and merges the copy’s classes into Oxygen’s own selector table.

Pick the matching entry in the extension

The Copy into menu lists Oxygen 6 and Oxygen Classic separately, because they are genuinely different formats. To tell which you run, open the builder and read the address bar: ?oxygen=builder is Oxygen 6, ?ct_builder=true is Oxygen Classic. Or install the wpgraft plugin and read the "Detected builder" row at Settings → wpgraft, which names the entry to pick.

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 Oxygen site

    The plugin is the WordPress half of wpgraft: it receives the copy, shows it in a panel inside the Oxygen 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 Divi
  1. 03

    Open the Divi page you want

    The published page, not the Visual Builder.

    Open the page on the front end
  2. 04

    Choose Oxygen in the extension

    Click the wpgraft icon on the source tab and pick your destination under Copy into. Oxygen appears twice, as Oxygen 6 and Oxygen 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 Oxygen
  1. 06

    Open the page in Oxygen

    From the page list or the admin bar. The two versions open at different addresses: Oxygen 6 loads the builder on the site’s home URL as ?oxygen=builder&id=<post id>, while Oxygen Classic loads it on the page’s own permalink as ?ct_builder=true. The wpgraft panel appears in the bottom-right corner of the editor as soon as it recognises the builder.

    Edit with Oxygen
  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. Oxygen 6 takes the copy through the builder’s live element store. Oxygen Classic takes it through the builder’s own programmatic insert, which renumbers ids and selectors itself and merges the class table. Either way the elements appear on the canvas immediately.

    Insert into builder
  4. 09

    Save it

    Press Oxygen’s own Save. wpgraft deliberately does not save for you; the copy is left in the live builder so you can look at it first.

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 Oxygen’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 Oxygen

Real Oxygen elements

Not a code block, not an embed, but the builder’s own elements, selectable in the structure pane.

Styles in the panel Oxygen reads

On Oxygen 6 the copy’s sizing, padding, text colour and box shadow are moved onto the design.container / design.size / design.text_colors / design.spacing paths the no-class element panel reads, so those controls show values instead of blanks.

Classes in Oxygen Classic’s selector table

On Oxygen Classic the copy’s repeated styles become Oxygen selectors, each named wpg-<role>-<hash> from a hash of its own styles. Oxygen stores selectors site-wide, so hash naming is what stops a second copy overwriting the first one’s styles. Oxygen 6 does not use them; it writes each element’s styles onto the element, which is that builder’s own default way of working.

After the insert: Press Oxygen’s own Save. wpgraft deliberately does not save for you; the copy is left in the live builder so you can look at it first.

The source side

Copying out of Divi

The published page, not the Visual Builder.

  • Divi 4 and Divi 5 both copy fine as a source. wpgraft reads the rendered page, so the shortcode-versus-block difference that matters so much when writing to Divi does not exist when reading from it.
  • Divi writes a page-specific stylesheet and leans on et_pb_* classes. Those resolve into computed values before wpgraft ever sees them, so the copy does not depend on Divi’s CSS being present in the destination.
  • Divi’s scroll effects and animations start elements transformed or invisible. wpgraft scrolls first so they fire; give a section a moment to settle before picking it.
  • Divi’s default body { font-size: 14px; color: #666 } is part of how a Divi page looks. It is captured as part of the design rather than silently dropped, which is why a copy out of Divi looks like the Divi page and not like the destination theme.
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 Divi’s endpoint. Wire interactive things up with Oxygen’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 lives in the open builder session until you press Save.
  • On Oxygen Classic, selectors are stored site-wide rather than per page, so classes from every copy accumulate in one place. They are ordinary Oxygen selectors and can be removed from the selector manager. Oxygen 6 has nothing to accumulate, because its styles sit on the elements they belong to.
Questions

Divi to Oxygen: FAQ

Which Oxygen do I have?

Two ways to be sure. Open the builder and look at the address bar: ?ct_builder=true is Oxygen Classic, ?oxygen=builder is Oxygen 6. Or install the wpgraft plugin and open Settings → wpgraft; the "Detected builder" row names the exact entry to pick in the extension. They store pages in completely different formats, so the extension asks you which one before it converts anything.

Does moving from Divi to Oxygen change anything on the Divi side?

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

No. What lands in Oxygen is Oxygen’s own elements with the styles in Oxygen’s own fields. There is no shortcode, no embed, no wrapper block and no stylesheet borrowed from Divi. 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 Oxygen’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 Oxygen’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 Oxygen’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 Oxygen 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 Oxygen editor and imports the images. It does nothing on its own until you send it something.

Is copying a page from Divi 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 Divi section, put it in Oxygen, then judge the result before you decide anything.