You have a page that already looks right - a client's old site, a static HTML landing page, or a section on someone else's site you'd like to start from - and you need it in Elementor. There's no "Import website" button in WordPress, so people end up rebuilding the whole thing widget by widget.
There are four ways to get an existing website or HTML page into Elementor. They differ a lot in how long they take and how much of the original survives.
The short answer
| Method | Time per section | Keeps the design? | Responsive? | Needs Elementor Pro? |
|---|---|---|---|---|
| Rebuild by hand with widgets | 30-90 min | Roughly | You redo it | No |
| Paste source into an HTML widget | 5 min | Usually breaks | Rarely | No |
| Design-file converters (Figma to Elementor) | 10-20 min | Only if you have the Figma file | Partly | Varies |
| Export the live section as an Elementor template | Under a minute | Yes | Yes | No |
If the page is already live in a browser, exporting it is the fastest route. The details are below.
1. Rebuild it by hand with Elementor widgets
The traditional route: open the original page next to the Elementor editor and recreate it - a container, a heading widget, a text widget, a button, then match every font size, color and spacing value by eye or from DevTools.
Good for: small sections, or when you want every piece to be a native widget your client can drag around.
The catch: it's slow, and "close enough" adds up. Line heights, letter spacing and breakpoints are the first things to drift, and you rebuild the mobile layout separately.
2. Paste the source into an HTML widget
Elementor's free HTML widget accepts raw markup, so the obvious shortcut is View Source, copy, paste.
Why it usually fails: the HTML you copy is only half the page. The styles live in separate CSS files, class names from the original framework (Tailwind, Webflow, a theme) mean nothing in your WordPress install, and modern sites render much of their markup with JavaScript, so View Source doesn't even match what you see. You get unstyled text, or a layout that collapses on mobile.
It works for a small, self-contained snippet whose styles are inline. For a real section, it rarely does.
3. Convert from a design file
If you own the original design in Figma, there are Figma-to-Elementor plugins that map frames to widgets. That's a different job from converting a website: it only helps when you have the source file, and the result depends on how cleanly the file was built (auto layout, named layers).
For a site that only exists live in the browser, there's no design file to convert.
4. Export the live section as an Elementor template
This is the method MiroMiro was built for. Instead of copying source or rebuilding, it reads the section as your browser renders it - the real layout, computed styles, fonts, colors, images and responsive rules - and packages it as an Elementor template (.json) that WordPress imports natively.
Here's the whole process:
- Install MiroMiro from the Chrome Web Store.
- Open the website and click Export in the MiroMiro panel. Click the section you want - a hero, pricing table, footer - or use Export full page.
- Open the Download menu and choose Elementor template. You get a
.jsonfile. - In WordPress, go to Templates → Saved Templates → Import Templates and choose the file.
- Open any page in Elementor, click the folder icon (Add Template), go to My Templates and click Insert.
The section appears looking like the original, on desktop and on phones. It works with the free Elementor plugin.
See the full walkthrough with a video on the Elementor export page. Moving a whole Webflow or Framer site? Here's the full migration to WordPress, content and redirects included.
What you get, honestly
- One HTML block, not separate native widgets. You can edit text, links and images inside it, but you won't get a heading widget and a button widget to drag around. That's the trade-off that keeps it pixel-true: automatic widget-by-widget conversion is exactly where spacing and responsiveness get lost.
- Images and fonts load from the original URLs. For a production site, upload your own images to the Media Library and swap them in.
- Any public website works - React, Next.js, Webflow, Framer, WordPress or plain HTML - because MiroMiro reads the rendered page, not the source.
If you'd rather have plain code than an Elementor template - say you're building in Cursor or a custom theme - the same export gives you Tailwind, React, Vue or HTML + CSS instead.
Which method should you use?
- You want native, drag-and-drop widgets for a client to edit: rebuild by hand, but export the section first and use it as your exact reference for spacing and colors.
- You have the Figma file: a Figma-to-Elementor plugin.
- The page is live and you want it in Elementor now: export it as an Elementor template.
Whichever route you take, treat someone else's site as a starting point: replace the copy, images and branding with your own before you publish.
Ready to speed up your workflow?
Join 20,000+ designers and developers who save hours every week with MiroMiro.
€49
€69 now
€89
€149
Lifetime closes Sat, Oct 31
Soraia · Founder of MiroMiro
Soraia builds MiroMiro, a Chrome extension used by 20,000+ designers and developers to extract clean code, design tokens, and assets from live websites. These guides come from testing the workflow daily on real sites like Stripe, Linear, and Vercel.
Follow on XDon't take our word for it
Not sure if MiroMiro is right for you?
Let your favorite AI do the thinking. Click a button and see what it says about extracting code, design tokens, and assets from any website.
