HTML & CSS to Webflow — Paste Code as Native Elements

Paste HTML and its CSS, click Copy to Webflow and paste into the Designer — you get real Div Blocks, Headings, Links, Images and Lists with classes, combo classes, tablet/mobile breakpoints and hover states instead of one big Code Embed.

Runs in your browser
Drop .html and .css files or click to choose
Then select an element in the Webflow Designer (or the Navigator) and press Ctrl/⌘+V.
Preview (how your HTML & CSS render)

Your data never leaves your computer. All processing happens 100% locally in your browser.

devpack.app is an independent utility and is not affiliated with, sponsored by, or endorsed by Webflow, Inc. or Figma, Inc. Webflow and Figma are trademarks of their respective owners.

How to use the HTML & CSS to Webflow

  1. Paste your HTML on the left and the matching CSS on the right — from a code export, a template, Tailwind output compiled to CSS, or code written by ChatGPT or Claude. <style> tags inside the HTML are picked up automatically.
  2. Check the preview and the conversion report: it shows how many elements, classes, combo classes and breakpoint styles were created, and which CSS couldn’t be mapped.
  3. Choose Native elements (Div Block, Heading, Paragraph, Link, Image, List…) or Custom Elements (every tag exactly as written), then click Copy to Webflow.
  4. In the Webflow Designer select a parent element and press Ctrl/⌘+V. Classes appear in the Style Manager, tablet and mobile styles on their breakpoints.

Why convert HTML to native Webflow elements?

The quick way to get code into Webflow is a Code Embed — but an embed is a black box: clients can’t edit the text, you can’t restyle it in the Style panel, and it doesn’t show up in the Navigator. This converter turns your markup into the same elements you’d build by hand: Div Blocks, Sections, Headings, Paragraphs, Text Links, Link Blocks, Images and Lists, each with its classes. Text stays editable in the Designer and in the Editor, and every style lives in Webflow’s Style Manager.

How CSS is mapped to Webflow classes

Your CSSIn Webflow
.card { … }Class card with those styles
class="button is-secondary" + .button.is-secondaryCombo class button is-secondary
@media (max-width: 991px)Tablet breakpoint
@media (max-width: 767px) / 479pxMobile landscape / Mobile portrait
.button:hover, :focus, :activeHover, Focused and Pressed states
var(--brand) from :rootResolved to its value
margin: 0 auto, gap, border, flex: 1Expanded to Webflow’s individual properties
h1 { }, .card p { }, @keyframesKept in a small Code Embed (<style>) — Webflow classes can’t express tag or descendant selectors

Mobile-first CSS works too: the converter calculates the effective styles for each Webflow breakpoint (desktop, tablet, mobile landscape, mobile portrait) and writes only the differences, the way Webflow cascades from desktop down.

Native elements vs Custom Elements

Native elements give the best editing experience for content: headings, paragraphs and links behave exactly like elements dragged from the Add panel. Tags without a native Webflow equivalent — button, form, input, video, inline svg and so on — become Custom Elements with all their attributes. Choose Custom Elements (exact tags) if you want every tag preserved 1:1, for example for semantic markup or components you’ll never edit in the Editor. Inline SVG icons work best with the dedicated SVG to Webflow tool.

Where the HTML comes from

  • AI-generated sections — ask ChatGPT or Claude for a section in HTML and CSS with class names, then paste it here instead of rebuilding it by hand.
  • Templates and UI kits — HTML/CSS templates or exported prototypes.
  • Tailwind — Tailwind utility classes don’t translate well to Webflow classes; compile to plain CSS with semantic class names first, or let the Class Name Generator give you a clean structure.
  • Old websites — copy the markup of a section and its CSS to migrate it into Webflow.

Tips for a clean paste

  • Use a naming system — for example Client-First — before pasting. The Class Name Typo Checker finds typos and duplicates in your classes.
  • Images keep their URL. Upload them to Webflow’s Assets panel afterwards and swap the source, so they’re served from Webflow’s CDN with responsive sizes.
  • If a class with the same name already exists in your project, Webflow keeps both and adds a number to the pasted one — rename or merge them in the Style Manager.
  • Convert fixed spacing into fluid values with the Clamp Calculator, and design values from Figma with Figma CSS to Webflow.

How “Copy to Webflow” works

When you copy elements inside the Designer, Webflow places a JSON description of the elements and their classes on the clipboard. The converter builds the same data — nodes, text, classes, combo classes and breakpoint variants — and puts it on your clipboard so the Designer can read it. Webflow doesn’t officially document this format. If a paste ever fails after a Webflow update, use the calibration box on the SVG to Webflow page once; the Custom Elements created here use the same learned format.

Tools that pair well with the HTML & CSS to Webflow

  • HTML to Webflow Rich Text — Paste messy HTML — from an old site, WordPress export, Google Docs or Word — and get clean semantic markup that Webflow’s Rich Text element and CMS import accept without junk.
  • Lottie JSON Optimizer — Make Lottie animations load faster in Webflow and on any site by stripping data the player doesn’t need — precision, names, metadata and hidden layers.
  • Class Name Generator — Describe a section in plain words — “hero with tagline, heading, two buttons and an image on the right” — and get a consistent class structure in Client-First, BEM or simple kebab-case, ready to copy into Webflow as elements.
  • Class Name Typo Checker — Paste HTML or enter a URL to audit every class name: catch typos like hero_heding, duplicates spelled differently (hero-title vs hero_title), auto-named Webflow classes like div-block-12, and Client-First or BEM rule breaks.

Frequently asked questions

Can I paste HTML directly into Webflow?
Not as native elements — Webflow only accepts its own clipboard format, so plain HTML lands as text or needs a Code Embed. This tool converts HTML and CSS into that format, so the paste creates real, editable Webflow elements with classes.
Does it keep responsive styles and hover effects?
Yes. max-width media queries map to Webflow’s tablet (991px), mobile landscape (767px) and mobile portrait (479px) breakpoints, and :hover, :focus and :active become Hover, Focused and Pressed states. Min-width (mobile-first) CSS is recalculated for each breakpoint.
What happens to CSS that isn’t a simple class selector?
Tag selectors (h1), descendant selectors (.card p), @keyframes, @font-face and similar can’t be stored as Webflow classes. By default they’re placed in a small Code Embed with a <style> tag inside the pasted section, so the design still looks right. Untick the option to drop them.
Does it work with Tailwind or Bootstrap HTML?
Technically yes, but every utility class (like px-4 or col-md-6) would become a Webflow class without styles unless you paste the matching CSS. For Webflow it’s much better to use a few semantic classes; compile your design to plain CSS or start from the Class Name Generator.
Is my code uploaded?
No. Parsing, conversion and the clipboard data are all created in your browser.
Why doesn’t the paste work?
Select an element on the canvas or in the Navigator before pressing Ctrl/⌘+V, and paste into a container that can hold children (not into a text element). If nothing happens, try the Custom Elements mode, or calibrate once on the SVG to Webflow page and copy again.

Related tools