Measured 26 October 2026 · all six tools

Figma MCP + Claude Code vs Weld

One Figma file, two builds, measured with the same checks. Figma’s MCP server lets a coding agent read a design file. We gave Claude Code the free Positivus template through it, kept the page it wrote, and measured it next to Weld’s build of the same frame. The catch: it also wrote 219 words of copy that appear nowhere in the design.

Design: Positivus Landing Page Design by Olga Averchenko, CC BY 4.0. Home frame, 1440px wide.

Where it’s strong

  • The code is clean and easy to work with: semantic sections, a small theme, native <details> for the process list, and real, labelled form fields.
  • Every image has alt text (43 of 43).
  • No sideways scroll at any width we tested, from 320 to 1440px.

What you get out of the box

The things a client site needs that nobody should have to add by hand afterwards. Each line is checked in the page’s own code.

Out of the box WeldFigma MCP + Claude Code
Writes no copy of its own Yes: none added No: 219 words added
Header, nav, main and footer landmarks No: no main No: no main
One h1, no skipped heading levels –not measured –not measured
Every form field labelled –not measured –not measured
Alt text on every image No: 51 of 76 Yes: 43 of 43
Sharp images on retina screens (2×) –not measured –not measured
Page language set Yes: yes Yes: yes
Images shipped with the page Yes: in the download Yes: in the download
No sideways scroll, 320 to 1440px Yes: none at any width Yes: none at any width

It wrote copy the design doesn’t have

219 words on its page appear nowhere in the design. The design only writes the answer for the first step of its process list and repeats a single testimonial; Claude Code filled the gaps with text of its own. On a client site, that is copy nobody approved.

Weld leaves those empty steps without a toggle and lists them in the download’s notes, rather than writing answers for you.

A few of the lines it wrote:

“We conduct in-depth market and competitor research, then build a tailored strategy designed to reach your target audience and achieve your…”
“Our team puts the strategy into action — launching campaigns, optimizing assets, and setting up the tools needed to track performance from…”
“We continuously monitor results and refine your campaigns — adjusting targeting, creative, and spend to maximize return on investment.”
“Transparent, regular reporting keeps you informed on progress and results, with clear communication every step of the way.”

The numbers

Tool Font sizes match the design
texts, at 1440px
Spacing within 4px
gaps between texts
Sideways scroll Words not in the design Images with alt text Images served from
phone
390px
laptop
1024px
laptop
1240px
Weld 67 of 67 65 of 66 none none none none 51 of 76 its own folder
Figma MCP + Claude Code 35 of 66 32 of 65 none none none 219 43 of 43 its own folder

How closely it follows the design

Font sizes match the design on 35 of 66 texts, against 67 of 67 for Weld.

Most of the misses are body text and buttons set at 18px where the design says 20px.

32 of 65 vertical gaps are within 4px of the design, with a typical miss of 7px. Weld: 65 of 66.

The design: the hero section at 1440px Figma MCP + Claude Code: the hero section at 1440px Figma MCP + Claude Code The design

The hero at 1440px. Drag the handle: Claude Code’s page on the left, the design on the right.

At other widths

The same sections on a laptop (1240px) and a phone (390px).

Laptop, 1240px

Figma MCP + Claude Code
Figma MCP + Claude Code: the hero at 1240px
Weld
Weld: the hero at 1240px
Figma MCP + Claude Code
Figma MCP + Claude Code: the services cards at 1240px
Weld
Weld: the services cards at 1240px

Phone, 390px

Figma MCP + Claude Code
Figma MCP + Claude Code: the hero at 390px
Weld
Weld: the hero at 390px
Figma MCP + Claude Code
Figma MCP + Claude Code: the services cards at 390px
Weld
Weld: the services cards at 390px

Where it restyled the design

It rebuilt two parts of the page its own way instead of copying them from the design.

The radio buttons

The design draws its own radio buttons: a white circle with a thin black outline and a green dot, with labels at 18px. Claude Code swapped in the browser’s own radio control, tinted green, so it looks different in every browser, and set the labels at 16px.

To be fair to it: a native control works with a keyboard and screen readers without any extra effort.

The design
The design: the contact form&rsquo;s radio buttons
  • Drawn circle, 28 × 28 px, 1px #000000 outline, 16 px dot in #B9FF66
  • Label text 18 px
Figma MCP + Claude Code
Figma MCP + Claude Code: the contact form&rsquo;s radio buttons
  • The browser’s own radio control, tinted #B9FF66
  • Label text 16 px
  • Arrow keys change the choice
Weld
Weld: the contact form&rsquo;s radio buttons
  • Drawn circle, 28 × 28 px, 1px #000000 outline, 16 px dot in #B9FF66
  • Label text 18 px
  • Arrow keys do nothing

The testimonials

The design sets each quote in its own speech-bubble artwork, 606px wide, and shows the row mid-scroll with the neighbouring quotes cut off at both edges. Claude Code redrew the bubble in CSS, a rounded border with a rotated square for the tail, at 560px, and starts the row at the first card.

The dots under the quotes are a single picture, so they stay the same when you move to the next quote.

The design
The design: the testimonials carousel
  • Speech bubble: design artwork (image), 606 px wide
  • Bubble tail: in the artwork
  • First view: centred, neighbours cut
  • Arrows: image file
  • Dots: one image
  • 1 different quote
Figma MCP + Claude Code
Figma MCP + Claude Code: the testimonials carousel
  • Speech bubble: CSS border, 560 px wide
  • Bubble tail: CSS rotated square
  • First view: first card at left
  • Arrows: inline SVG
  • Dots: one image, do not change when you move on
  • 3 different quotes
Weld
Weld: the testimonials carousel
  • First view: centred, neighbours cut
  • Arrows: image file
  • Dots: 3 separate dots, follow the slide
  • 1 different quote

Try Weld’s page yourself

This is the page Weld built from the same file, live. Resize it and watch it reflow.

Drag the frame’s bottom-right corner to resize it, or open the page on its own and resize your browser.

How this was run

Figma MCP + Claude Code

Run on
26 October 2026
Output used
index.html + assets/ written by the coding agent

Measured exactly as delivered: nothing changed.

Weld

Output used
the zip a Weld user downloads, unchanged
Built
26 October 2026
Generator version
6de49e4

Measured exactly as delivered: nothing changed.

Download both outputs

The other tools on the same file

Tool Font sizes match the design
texts, at 1440px
Spacing within 4px
gaps between texts
Sideways scroll Words not in the design Images with alt text Images served from
phone
390px
laptop
1024px
laptop
1240px
Weld 67 of 67 65 of 66 none none none none 51 of 76 its own folder
Figma MCP + Claude Code 35 of 66 32 of 65 none none none 219 43 of 43 its own folder
Anima 67 of 67 58 of 66 1,050 px 416 px 200 px none 0 of 59 c.animaapp.com
Codia 68 of 68 56 of 67 1,058 px 424 px 208 px none no <img> tags static.codia.ai
Locofy 67 of 67 40 of 66 1,050 px 641 px 425 px 20 60 of 60 its own folder
FigmaToCode 2 of 68 35 of 67 28,191 px 27,557 px 27,341 px 178 no <img> tags its own folder
CopyWebCould not produce a page to measure.

See the full comparison

Want your own file measured like this?

Weld’s beta is opening soon. Register and we’ll email you once, when you can upload a file and get the finished page with these checks run on it.

One email when the beta opens. Nothing else, and never shared. See our privacy policy.

Protected by reCAPTCHA. Google’s Privacy Policy and Terms of Service apply.