Free tool

WPBakery (Visual Composer) → Elementor Converter

Paste your [vc_row] shortcodes and get Elementor paste-JSON — native sections, columns and widgets, ready to paste into the editor. Free.

Moving a site off WPBakery Page Builder — the plugin most people still call Visual Composer — usually means rebuilding every page by hand, because the layout lives in [vc_row] shortcodes that mean nothing outside the plugin. This free converter reads that shortcode tree, resolves the design-options CSS each element carries, and rebuilds the layout as native Elementor structure: rows become containers, columns keep their widths, and text, headings, images and buttons become real widgets with native settings. Copy the output, right-click in the Elementor canvas and choose Paste. Runs entirely in your browser, nothing is uploaded.

  1. 1

    Copy the shortcodes

    Open the page, switch the classic editor to Text view (or the WPBakery backend editor) and copy everything from the first [vc_row] onward.

  2. 2

    Convert here

    Paste it below, optionally add your design-options CSS, hit Convert. You get Elementor paste-JSON plus a report of what mapped.

  3. 3

    Paste into Elementor

    Copy the output, open the page in Elementor, right-click the canvas and choose Paste. Allow clipboard access if asked.

🔒 Conversion runs in your browser. To improve conversion quality we keep an anonymized structural copy of the input — all text is scrambled and URLs removed before anything leaves your browser. Details.

Oxygen 4.9 JSON Input

No WPBakery content yet? In WP admin open the page, switch the editor to Text/Code view, and copy everything — the [vc_row...] shortcodes are your input.

Copy the JSON, then in your Elementor editor right-click a section/column and choose Paste.

If Elementor asks for clipboard permission, allow it — that's how Elementor's own copy/paste reads the JSON you copied.

Elementor Paste JSON

From the makers of ready→made

Building from a Figma design instead?

ready→made converts your Figma designs straight into Elementor — real structure from a real layout engine.

Figma to Elementor →
FAQ

Good to know.

Is this the same as Visual Composer?

Yes. WPBakery Page Builder shipped as Visual Composer until 2018 and most existing sites and tutorials still use that name. If your pages are made of [vc_row], [vc_column] and [vc_column_text], this is your converter. A different, unrelated plugin now uses the "Visual Composer Website Builder" name; it stores data differently and is not what this tool reads.

Is it free? Do I need a plugin?

Completely free, no signup, and no plugin beyond Elementor itself — the output uses Elementor's own clipboard paste format.

What exactly do I paste in?

The page's raw post_content. The easiest way to get it is opening the page in the classic editor and switching to the Text tab, then copying everything from the first [vc_row].

What about my design-options CSS?

WPBakery stores per-element custom CSS separately in the _wpb_shortcodes_custom_css post meta. Paste it into the optional CSS field and those rules are resolved into native Elementor settings along with the rest.

My images look broken after converting.

WPBakery usually references images by attachment ID, which only resolves on the WordPress install the page lives on. Convert on that site, or swap the image URLs in afterwards — unresolved IDs are listed in the conversion notes.

What can't be converted?

Third-party or unrecognized [vc_*] addon shortcodes are skipped and listed rather than guessed at. Forms keep their shortcode and need the matching plugin on the target site. Anything driven by JavaScript at render time is not part of a static conversion.

Want Gutenberg instead of Elementor?

Use the free WPBakery → Gutenberg converter — same input, native core blocks out, no page builder at all.

I'm starting from a design, not an old build.

Then use ready→made: Figma to Elementor to convert the design directly.

More free tools

Other converters in the suite.

Ready?

Build a real site from your Figma file — in minutes.

menu