Features

Everything ready→made does — proven in the page, not promised in a bullet.

Every feature below demonstrates itself with the product's own output. A deterministic engine means the same design always comes out the same clean code — across all four targets.

Responsive by default

One export. Every screen.

Your design comes out as responsive code — not a fixed-width snapshot. Desktop stays pixel-identical; the mobile and tablet behaviour layers on top as @media only, so it provably never moves your desktop layout.

Cards reflow 3 → 2 → 1, the nav folds to a hamburger, hero bands scale to fit. No sideways scroll on any device.

Reflow, not shrinkDesktop pixel-lockedNo JS

Real output — tap the icon. Pure CSS, zero JavaScript.

Navigation

Menus that collapse to a hamburger — no JS.

A main navigation is recognised and rebuilt so it collapses on mobile: the brand stays put, the links fold into a toggle-revealed drawer. The whole thing is a CSS-only checkbox pattern — nothing to wire up, nothing to break.

CSS-only toggleAccessible labelBrand preserved
Semantic HTML

Real tags, not <div> soup.

Sections are recognised by name and composition, then emitted as proper landmark elements — better accessibility, better SEO, code a human can read.

✕ Typical converter
<div class="wrapper">
  <div class="top">
    <div class="logo">…</div>
  </div>
  <div class="content">…</div>
  <div class="bottom">…</div>
</div>
✓ ready→made
<header>
  <nav>
    <a class="logo">…</a>
  </nav>
</header>
<section></section>
<footer></footer>
One engine, four targets

Same node. Pick your output.

HTML, Gutenberg, Oxygen Classic and Oxygen 6 all share one conversion engine — so fidelity reaches every format. Here's one card, four ways.

HTML — semantic + class CSS
<div class="blog-card">
  <img class="shape" src="card.png" alt="Rectangle 4326">
  <div class="card-body">
    <p class="card-title">New Construction technology</p>
    <p class="card-text">Elinor her his secure far…</p>
  </div></div>
.blog-card{display:flex;flex-direction:column;gap:20px;flex:1 1 570px}
Gutenberg — native block markup
<!-- wp:group {"style":{"border":{"radius":"10px"}}} -->
<div class="wp-block-group">
  <!-- wp:image --><figure class="wp-block-image">…</figure>
  <!-- wp:heading {"level":4} --><h4>New Construction…</h4>
  <!-- wp:paragraph --><p>Elinor her his…</p>
</div> <!-- /wp:group -->
Oxygen Classic — native elements
ct_div_block .blog-card { display:flex; gap:20px;
                     border-radius:10 (unit:px) }
  ├─ ct_image     "Rectangle 4326"
  └─ ct_div_block  "Group"
       ├─ ct_headline  h4  "New Construction…"
       └─ ct_text_block   "Elinor her his…"
Oxygen 6 — tree + per-breakpoint styles
tree:  Container(.blog-card) › [ Image, Text, Text ]

class .blog-card:
  base            → flex; column; gap:20px; width:50%
  tablet_landscape → width:100%

See each target end-to-end in the docs & examples →

Not a mockup

Same design in, real code out.

These aren't renderings of a promise. A real Figma design, converted by ready→made and running live in a real Oxygen site — then opened in the builder as native, editable elements.

Side by side: a Figma card-grid design and the same section converted by ready→made, running live in an Oxygen WordPress site
Left: the Figma design. Right: the converted section live in Oxygen — featured card, two smaller cards and uniform image heights, faithfully reproduced.
A ready→made-converted card grid open in the Oxygen builder, with a div block selected showing its native flex layout, gap and width controls
And it's fully editable: the same card grid selected in the Oxygen builder — native Section › Div › Div structure, real flex/gap/width controls. See this example →
Verified fidelity

Gated on pixels, not vibes.

This is why it's deterministic, not guesswork: every build is checked against your design by an automated visual pixel-diff before it ships — at design width and at phone width. If the output drifts, it doesn't pass.

Drag the slider to compare a section of a real converted landing page — Figma reference on one side, ready→made's output on the other. Logos, gradient, photo and layout, reproduced.

● Passing gate
ready→made converted output Figma reference FigmaOutput
FigmaOutput
  • Pixel-diff at design width — output matches the frame you drew.
  • Phone-width render check — no overflow, no broken reflow.
  • Same input → same output, every run. No random variation.
More that just works

The details that usually break.

Free-form canvases, data tables and carousels are the things most converters mangle. These are live — scroll them.

Carousels → CSS scroll-snap

Native swipe, no JS library.

Tables stay usable on mobile

PlanConversionsTargetsPrice
Free10 / moAll four$0
ProUnlimitedAll four€19/mo
LifetimeUnlimitedAll four€250

Wide tables get a scroll wrapper — never crammed to one word per line.

Free-form → sections

Absolutely-positioned, pinned-layer designs (no auto-layout) are segmented into bands, rebuilt as real sections, and stacked cleanly for mobile.

How it segments →

The fidelity that usually gets lost

The details other converters drop.

Gradients, shadows, real assets, clean class names, reused components — the things that make output look designed and stay maintainable. All real, all here.

Gradients that actually match

linear · diagonal · rotated

Figma's gradient transform is inverted to exact CSS — angled and scaled gradients land right, not reset to a flat fill.

Gradient text & borders

Gradient headline

Gradient fills on text (background-clip) and on borders come through, not just on boxes.

Real shadows & outlines

Aa

Drop, inner and text shadows map to box-shadow and -webkit-text-stroke — comma-joined, multiple, exact.

Blur & frosted glass

backdrop-filter

Layer blur → filter:blur(), background blur → backdrop-filter for real frosted overlays.

Crisp inline SVG, not blurry PNG

✕ <img src="icon.png"> → pixelated
✓ <svg>…</svg> crisp, deduped, one copy

Icons, logos and vectors export as inline SVG (icon-fonts resolved to real paths), deduped by content hash.

Clean, deduplicated classes

✕ style="display:flex;gap:24px…" ×6
✓ class="card" — one shared rule, reused

Identical styles collapse into one readable BEM class, named from layout — not inline-style soup.

Components detected & reused

✕ 6 cards → 6 duplicated blocks
✓ 1 component → reused 6×

Repeated blocks are hashed and mapped to one component, so cards, headers and footers share one class set.

Auto Layout → real flex & grid

✕ position:absolute; left:120px; top:48px
✓ display:grid; grid-template-columns:repeat(3,1fr)

Auto Layout and true multi-column grids become real flex/grid — and messy files get structure inferred from geometry.

Design tokens → CSS variables

✕ #7c66f7 repeated 30×
✓ var(--brand) lifted to :root, fluid clamp()

Recurring colours, spacing and type are lifted to custom properties — your real Figma variable names win.

Per-corner radius & per-side borders object-fit for masked images Lazy-load + width/height (no CLS) Semantic ul/li, nav, button Footer & header structure Editable Oxygen global classes Whole-file multi-page site export Deterministic, diffable output
Ready?

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

menu